2014-08-29 94 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

感谢保罗。不确定我在追随。你是什​​么意思的小组r/w?以及如何限制小组访问上述存储桶中的特定文件夹? – Chris 2014-08-29 05:42:54

+0

可读/写。如果您只是想列出内容,则可以将“操作”字段调整为您所需的内容。考虑写作选项作为奖励内容;) – 2014-08-29 05:44:24

0

我希望这个文档会帮助你,这些步骤分解,很简单遵循:

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

您还可以使用政策变量也是如此。

它允许您在策略中指定占位符。评估策略时,策略变量将被来自请求本身的值替换。 例如 - ${aws:username}:


进一步,你也可以看看这个问题#1(如果相关似乎):

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

相关问题