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

0

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

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

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

profile picture
EXPERTE
gefragt vor 5 Monaten36 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen