Как отлаживать AWS S3 «Доступ запрещен» - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть приложение rails с Paperclip, размещенное на Heroku (хотя я сейчас тестирую только локально)

Я создал корзину и пользователя с напрямую прикрепленной политикой AmazonS3FullAccess.

У меня есть следующее в разработке .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'),
   }
 }

Однако, когда я пытаюсь прикрепить изображение профиля к моей модели, я просто получаю: Aws::S3::Errors::AccessDenied (Access Denied):

Как я могу отладить эту проблему?Я удалил и заново создал и моего пользователя IAM, и мое ведро, но я не могу понять, где я ошибаюсь.

Есть какие-либо идеи, как выяснить, что мне не хватает?

1 Ответ

0 голосов
/ 13 декабря 2018

Я не определил, как отладить эту проблему, однако пришел к решению.

Прежде всего, я переключился на gem 'aws-sdk-s3' вместо того, чтобы требовать всего aws-sdk

Я понял, что мне нужно создать политику для моего сегмента, в частности, предоставить моему пользователю полный доступ.Кажется, что добавление AmazonS3FullAccess для моего пользователя само по себе было недостаточно.

Я следовал этому руководству шаг за шагом, и это заставило меня заработать.

...