AWS:将IAM用户限制在S3存储桶中的特定文件夹
问题描述:
因此,我一直在试图定义一个策略来将一组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/*"]
}
]
}
不幸的是这一政策由于某种原因,允许用户浏览,不仅到指定的文件夹中,但存在于同一个桶中的其他文件夹。如何限制用户只能导航到指定文件夹?
答
我已经回答过此问题,但我会再次从这里回答。最好创建一个用户,然后将它们添加到一个组中,然后将组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/*"
]
}
]
}
答
我希望这个文档会帮助你,这些步骤分解,很简单遵循:
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
感谢保罗。不确定我在追随。你是什么意思的小组r/w?以及如何限制小组访问上述存储桶中的特定文件夹? – Chris 2014-08-29 05:42:54
可读/写。如果您只是想列出内容,则可以将“操作”字段调整为您所需的内容。考虑写作选项作为奖励内容;) – 2014-08-29 05:44:24