2014-08-29 7 views
3

Итак, я пытался определить политику, чтобы ограничить группу пользователей IAM определенной папкой в ​​ведро S3 без каких-либо успехов. Я отменил политику, изложенную в этом сообщении в блоге. http://blogs.aws.amazon.com/security/post/Tx1P2T3LFXXCNB5/Writing-IAM-policies-Grant-access-to-user-specific-folders-in-an-Amazon-S3-buckeAWS: ограничение пользователя IAM на конкретную папку в ведро S3

В частности, я использую следующее:

{ 
"Version":"2012-10-17", 
"Statement": [ 
    { 
    "Sid": "AllowUserToSeeBucketListInTheConsole", 
    "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"], 
    "Effect": "Allow", 
    "Resource": ["arn:aws:s3:::*"] 
    }, 
    { 
    "Sid": "AllowRootAndHomeListingOfCompanyBucket", 
    "Action": ["s3:ListBucket"], 
    "Effect": "Allow", 
    "Resource": ["arn:aws:s3:::mybucket"], 
    "Condition":{"StringEquals":{"s3:delimiter":["/"]}} 
    }, 
    { 
    "Sid": "AllowListingOfUserFolder", 
    "Action": ["s3:ListBucket"], 
    "Effect": "Allow", 
    "Resource": ["arn:aws:s3:::mybucket"], 
    "Condition":{"StringLike":{"s3:prefix":["myfolder"]}} 
    }, 
    { 
    "Sid": "AllowAllS3ActionsInUserFolder", 
    "Effect": "Allow", 
    "Action": ["s3:*"], 
    "Resource": ["arn:aws:s3:::mybucket/myfolder/*"] 
    } 
] 
} 

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

ответ

-3

Я уже говорил об этом раньше, но я отвечу снова отсюда. Лучше всего создать пользователя, затем добавить его в группу, а затем присвоить группе r/w ведро. Это типичный пример того, как написать политику

{ 
    "Statement": [ 
    { 
     "Sid": "sidgoeshere", 
     "Action": [ 
     "s3:DeleteObject", 
     "s3:GetObject", 
     "s3:GetObjectAcl", 
     "s3:ListBucket", 
     "s3:PutObject" 
     ], 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::s3bucket", 
     "arn:aws:s3:::s3bucket/*" 
     ] 
    } 
    ] 
} 
+0

Спасибо Paul. Не уверен, что я буду следовать. Что вы подразумеваете под группой r/w? И как вы ограничиваете доступ группы к определенной папке в ведро с указанным выше? – Chris

+0

чтение/запись. если вы просто пытаетесь перечислить содержимое, вы можете настроить поле «Действие» на то, что вам нужно. рассмотрите варианты записи в качестве бонусного контента;) –

0

Я надеюсь, что этот документ поможет вам, шаги разбиты и довольно просто следовать:

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

Вы также можете использовать переменных политики.

Он позволяет указать заполнители в политике. Когда политика оценивается, переменные политики заменяются значениями, которые поступают из самого запроса. Например - ${aws:username}:


Дальше больше вы можете также проверить этот StackOverflow вопрос (если, кажется, уместно):

Preventing a user from even knowing about other users (folders) on AWS S3

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