如何解决Heroku的AWS::S3::Errors::Access Denied错误?

0

【以下的问题经过翻译处理】 你好,我按下面的链接配置了AWS S3的paperclip,但是在heroku日志里一直报错“AWS::S3::ERRORS::AccessDenied (Access Denied):”。如果我取消阻止公共访问设置,则可以成功上传图像到我的S3文件夹。

请问我是否需要进行其他配置才能使其正常工作?我的ENV文件是100%正确的,因为当我取消阻止所有公共访问时,它们能够连接。

我目前有一个桶策略和没有CORS配置的设置。

profile picture
전문가
질문됨 5달 전36회 조회
1개 답변
0

【以下的回答经过翻译处理】 你好,安迪,

根据你的描述,S3策略似乎工作正常。为了确认,我建议使用你尝试使用的用户测试策略。只需转到IAM ->(在主仪表板中)屏幕右侧单击“策略模拟器” -> 选择你尝试使用的用户-> 选择你要使用此用户执行的S3存储桶操作。

关于paperclip配置(例如/config/environments/production.rb中的配置文件夹),请问你是否使用以下结构:

config.paperclip_defaults = {
    storage: :s3,
    s3_credentials => {
        bucket: ENV.fetch('S3_BUCKET_NAME'),
        access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
        secret_access_key:  ENV.fetch('AWS_SECRET_ACCESS_KEY'),
        s3_region: ENV.fetch('AWS_REGION')
    }
}

profile picture
전문가
답변함 5달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인