【发布时间】:2017-11-20 23:20:33
【问题描述】:
我有一个 S3 存储桶。我在这个账户中有几个 IAM 用户。我想设置一个存储桶政策,让多个用户可以访问此存储桶。
对于单个用户的访问,我的存储桶策略如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::8474632:user/personA"
},
"Action": [
"s3:getObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:getObjectAcl",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::thisbucket/*"
}
]
}
我试图改变这一行:
"AWS": "arn:aws:iam::8474632:user/personA"
到
"AWS": "arn:aws:iam::8474632:user/*"
允许所有用户访问,但这不起作用。
我可以一一列出所有/部分用户:
"Principal": {
"AWS": ["arn:aws:iam::111122223333:user/PersonA",
"arn:aws:iam::111122223333:user/PersonB"]
},
是否有更好的方法允许一组用户或所有用户访问存储桶?
【问题讨论】:
-
是否有理由需要存储桶策略而不是附加到 IAM 用户所属组的 IAM 策略?一个 IAM 政策将使它变得微不足道
-
我想知道这个。我应该限制用户还是存储桶?我的想法是不对用户施加任何限制,而是精细控制对存储桶的访问。
-
这真的取决于您的组织和您的要求。最佳实践是使用定义特定存储桶权限的 IAM 策略,然后将这些策略分配给组和角色,然后将用户分配给组或允许用户担任特定角色。您可以在存储桶策略级别进行限制(请参阅aws blog post),但这变得更加难以维护
标签: amazon-web-services amazon-s3 amazon-iam