【发布时间】:2016-10-31 01:14:07
【问题描述】:
我创建了一个存储桶,其中托管了一些 Web 小型网页和一些文档,这些文档只能由在 IAM 中具有一定登录权限的用户读取。这些用户应该只能(读取)访问这个特定的存储桶,而不能访问其他存储桶。理想情况下,这些用户甚至不应该知道那里还有其他存储桶。
为此,我在 IAM 中创建了一个“测试”用户,将该用户添加到一个组并分配了一个组策略,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowGroupToSeeBucketListAndAlsoAllowGetBucketLocationRequiredForListBucket",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "AllowS3GetActionsInPrivateFolder",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::my.web.page/*"
]
}
]
}
当我使用测试用户登录并导航到 S3 时,我可以看到我的所有其他存储桶,当我单击另一个存储桶时,我收到“抱歉,没有权限”错误。这有点工作,但理想情况下,用户甚至不应该列出任何其他存储桶。
当我转到 https://s3.amazonaws.com/my.web.page/index.html 时,我收到一条 AccessDenied XML 消息。我应该如何修改策略才能使用浏览器打开此存储桶中的 html 页面。
用户仍然拥有存储桶的写入权限。我怎样才能只授予读取权限?
非常感谢您的帮助。
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-iam amazon-policy