2014-01-07 6 views
1

У меня есть ведро в S3 с именем home и у него есть несколько папок. Я хочу разрешить определенному пользователю иметь доступ к папке1 по пути: home/A/B/folder1. Однако я не хочу, чтобы он видел другие ведра и даже другие папки в этом домашнем ковше.S3 Ограничение политики Доступ только к одному файлу

Может ли кто-нибудь помочь мне с этой политикой?

ответ

0

Amazon S3 предоставляет несколько User Policy Examples и желаемый сценарий рассматривается в Example: Allow each IAM user access to a folder in a bucket:

В этом примере вы хотите два IAM пользователей, Алиса и Боб, чтобы получить доступ к вашему ковшу, examplebucket, так что они могут добавить , обновлять и удалять объекты. Однако вы хотите ограничить доступ каждого пользователя к одной папке в ведре.

Как объяснено там, вы можете прикрепить отдельные политики для каждого пользователя, однако, она тем лучше решать с помощью IAM Policy Variables:

Вместо прикрепление политики для отдельных пользователей, однако, вы можете написать единой политики, которая использует переменную политики и присоединяет политику к группе. [...] В следующем примере политики разрешен набор разрешений Amazon S3 в папке examplebucket/$ {aws: username}. Когда политика оценивается, переменная политики $ {aws: username} равна , замененной именем пользователя реквестера. [...]

{ 
    "Version":"2012-10-17", 
    "Statement":[ 
     { 
     "Effect":"Allow", 
     "Action":[ 
      "s3:PutObject", 
      "s3:GetObject", 
      "s3:GetObjectVersion", 
      "s3:DeleteObject", 
      "s3:DeleteObjectVersion" 
     ], 
     "Resource":"arn:aws:s3:::examplebucket/${aws:username}/*" 
     } 
    ] 
}