我试图授予一组用户访问具有特定标签的所有 s3 存储桶的权限,但无法访问所有其他用户。我拼凑起来的政策如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowListAll",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "AllowAllIfGroup",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Condition: : {
"StringEquals" : {
"s3.ResourceTag/allow-group": "s3-access-group"
}
},
"Resource": [
"arn:aws:s3:::*",
"arn:aws:s3:::*/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我无法让它工作 我尝试针对标记的 Bucket 的 arn 模拟 ListBucket 和 ListAllMyBuckets 的策略,ListAllMyBuckets 有效,ListBucket 失败。
如果我将此策略应用于 ec2(如“如果标签匹配,则授予启动/停止/终止实例”)它就像一个魅力。
这是可能的,还是 S3 不允许以这种方式匹配存储桶?
(进一步说明:我的存储桶设置了“allow-group”和“AllowGroup”标签,我不确定破折号是否有问题)