AWS S3 AccessDenied.Разрешения на ведение предоставляются, поэтому мне нужна политика на ведение, когда я являюсь пользователем? - PullRequest
3 голосов
/ 31 января 2012

Когда я тестирую загрузку изображения в мое хранилище S3, я получаю AWS :: S3 :: AccessDenied (используя Ruby on Rails). Код использует мой собственный ключ безопасности и секретный код для моего собственного сегмента, для которого у меня есть все разрешения, предоставленные мне (Список, Загрузка / Удаление, Просмотр разрешений, Редактирование разрешений).

Нужно ли мне также устанавливать разрешение ACL, вводя Bucket Policy? Я не понимаю, почему это было бы необходимо, потому что мой код использует мой собственный ключ учетной записи для доступа к S3. Кроме того, изображения хорошо отображаются на моем сайте, поэтому с разрешениями на чтение проблем не возникает.

1 Ответ

5 голосов
/ 31 января 2012

Вам не нужны никакие политики, установленные в корзине, и вы должны удалить их, по крайней мере, чтобы все заработало.Не нужно устанавливать какие-либо ACL.

Секрет AWS ID + для владельца учетной записи может получить доступ ко всему в корзине без какого-либо ACL или набора политик.

Как только вы начнете работать, вы можете использовать amazon IAM для создания «пользователя» с меньшим количеством доступа, чем у владельца полной учетной записи, и использовать учетные данные этого пользователя в своем коде ruby ​​для обработки загрузок.

Я вижу, что вы хотите, чтобы загруженные изображения были публично прочитаны, для этого вам нужна политика или ACL, но это не должно мешать загрузке.Вы можете открыть доступ только для чтения позже.

Также попробуйте эти ключи и секреты AWS в таком инструменте, как Cyberduck и т. Д., Чтобы узнать, является ли ваш код рубином или идентификаторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...