2013-04-08 3 views
4

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

MyBucket/0000001/.. 
MyBucket/0000002/.. 
MyBucket/0000003/.. 

Мои клиенты теперь ищут способ автономного резервного копирования своих файлов на свою локальную машину. Я хотел бы создать набор разрешений на заданном уровне папки для просмотра/загрузки этих файлов только в определенной папке.

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

ответ

8

Политики IAM можно использовать совместно с политиками ведра для управления таким доступом.

Каждому отдельному клиенту потребуется собственный профиль IAM, и вы должны настроить политики для ограничения доступа к объектам только для этих учетных записей.

Вот документация AWS:

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingIAMPolicies.html

Я хотел бы особо отметить, пример 1 в этом документе, который делает именно то, что вы хотите.

+0

Спасибо Mike, для получения профиля IAM моим клиентам необходимо зарегистрировать учетную запись AWS? – QFDev

+0

@QF_Developer Нет, профили IAM будут созданы из вашей учетной записи. –

+0

Спасибо Майку, с недавно созданным профилем IAM, как мой клиент подключит его к графическому интерфейсу для просмотра и загрузки их документов? Это единственная часть, от которой я сейчас не уверен? – QFDev

0

Пожалуйста, обратитесь к следующей политике, чтобы запретить пользователю загружать или перечислять объекты только в определенных папках. Я создал политику, которая позволяет мне перечислять только объекты folder1 и folder2, а также позволяет поместить объект в папку1 и запретить загрузку в другие папки ведер. Политика действует как показано ниже: 1.Скрыть все папки ведра 2.List объекты и папки разрешенных папок 3.Загрузки файлов только в разрешенных папках

{ "Версия": "2012-10-17", "Заявление": [{ "Sid": "AllowUserToSeeBucketListInTheConsole", "Действие": [ «s3 : ListAllMyBuckets " "s3: GetBucketLocation" ], "Эффект": "Разрешить", "Ресурс": [ "ARN: AWS: s3 ::: " ] }, { " Sid ":" AllowListingOfFolder1And2 ", " Действие ": [ "s3:" ], "Эффект": "Запретить", "Ресурс": [ "ARN: AWS: s3 ::: bucketname" ], "Состояние": { "StringNotLike": { "s3: приставка": [ "папка1/", "folder2/" ] }, "струноподобные": { "s3: приставка": "" } } }, {"Sid": "Allowputobjecttofolder1only", "Эффект": "Запретить", "Действие": "s3: PutObject", "NotResource": "Арн: AWS: s3 ::: bucketname/folder1/" } ] }

Смежные вопросы