5

Sto tentando di utilizzare CarrierWave con Amazon S3. Quando provo a caricare un file, attraverso una task rake, ottengo questo errore:Credenziali della nebbia di CarrierWave, accesso negato

rake aborted! 
Expected(200) <=> Actual(403 Forbidden) 

mio CarrierWave initializer assomiglia a questo:

CarrierWave.configure do |config| 
    config.fog_credentials = { 
    provider: 'AWS', 
    aws_access_key_id: MY_AWS_ACCESS_KEY_ID, 
    aws_secret_access_key: MY_AWS_SECRET_ACCESS_KEY 
    } 
    config.fog_directory = MY_BUCKET 
    config.fog_public = true 
end 

io ho vera chiave, hard-coded/secret I valori del bucket sono impostati mentre eseguo il debug di questo.

Il compito rastrello assomiglia a questo, ed è successo quando ho l'uploader CarrierWave impostato per caricare localmente con storage: file:

Photo.create({ 
    image: File.new('lib/dummy_files/image.jpg') 
}) 

Ogni aiuto è molto apprezzato. Grazie!

risposta

11

Mi sono reso conto che questo ha a che fare con il nuovo AWS Identity and Access Management (IAM). Avevo creato un nuovo utente IAM, ma non avevo dato a quell'utente i privilegi corretti. In passato, c'era un solo utente e quell'utente aveva i privilegi di amministratore. Ora devi creare un utente, dare a quell'utente i privilegi corretti e utilizzare le credenziali dell'utente. Spero che questo aiuti qualcuno.

+0

Sì, quando si introduce IAM rende le cose più complicate (soprattutto rispetto alle credenziali di default di admin-everything). Sono contento che tu sia stato in grado di capirlo. – geemus

+0

Ho avuto lo stesso problema e ho cercato ovunque una soluzione! Grazie per aver condiviso – mhz

+0

Grazie mille per questo. Ho lottato con questo per un po ', e questo commento mi ha salvato. – marcamillion

10

Questa risposta mi ha aiutato troppo ... in particolare, è sotto IAM> Utenti> Autorizzazioni> Fissare criteri utente

prima volta che si crea un utente non riceve 'i criteri degli utenti' in 'i permessi.' Una volta che ho allegato una politica dell'utente, le cose hanno funzionato.

+0

Sei un vero fratello! Aiutare e salvare la giornata. – noname

+2

So che questo è vecchio ma la tua risposta mi ha salvato dopo ore di errori di permesso di combattimento. Per fornire ancora più dettagli per le future anime perse ... la politica che lo ha risolto è stata chiamata "AmazonS3FullAccess". Grazie! – ryanc