5

Amazon S3에서 CarrierWave를 사용하려고합니다.CarrierWave 안개 인증, 액세스가 거부 됨

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

내 CarrierWave 초기화는 다음과 같습니다 :

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 

내가 진짜, 하드 코딩 된 키/비밀을해야합니까 내가 레이크 작업을 통해 파일을 업로드하려고 할 때이 오류가/버켓 값은 내가 이것을 디버깅하는 동안 설정됩니다.

레이크 작업은 다음과 같다, 나는 storage: file 로컬로 업로드 설정 CarrierWave 업 로더가있을 때 성공 : 어떤 도움이 많이 감사합니다

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

합니다. 감사!

답변

11

AWS는 새로운 AWS ID 및 액세스 관리 (IAM)와 관련이 있다는 것을 깨달았습니다. 새 IAM 사용자를 만들었지 만 해당 사용자에게 올바른 권한을 부여하지 않았습니다. 과거에는 한 명의 사용자 만 있었고 그 사용자에게는 관리자 권한이있었습니다. 이제 사용자를 만들고 해당 사용자에게 올바른 권한을 부여하고 해당 사용자의 자격 증명을 사용해야합니다. 나는 이것이 누군가를 돕기를 바랍니다.

+0

그래, IAM을 도입하면 상황이 더욱 복잡해집니다 (특히 admin- 모든 기본 자격 증명과 비교할 때). 당신이 이것을 알아낼 수있어서 다행입니다. – geemus

+0

나는 똑같은 문제가 있었고 어디에서나 해결책을 찾아 보았습니다! 공유 해 주셔서 감사합니다. – mhz

+0

대단히 감사합니다. 나는 이것을 잠시 고민하고 있었고,이 논평은 나를 구해 주었다. – marcamillion

10

이 대답은 나도 ... 구체적으로는 IAM> 사용자에서의 도움> 권한> 사용자 정책을 연결하려면 먼저이 아래에는 '사용자 정책'을 얻을 수없는 사용자 생성

'권한을.' 일단 사용자 정책을 첨부하면 일이 잘되었습니다.

+0

당신은 진정한 형제 야! 하루를 돕고 저축하기. – noname

+2

나는 이것이 오래되었다는 것을 압니다. 그러나 당신의 대답은 몇 시간 동안 허가 오류를 저지른 후에 나를 구해 줬습니다. 미래의 잃어버린 영혼을 위해 더 많은 세부 사항을 제공하기 위해 나를 위해 해결 한 정책을 "AmazonS3FullAccess"라고했습니다. 감사! – ryanc

관련 문제