我想创建一个AWS IAM策略,以使附加的角色应有权访问所有具有标签“ Team = devops”的S3存储桶。我尝试了以下JSON文件,但无法正常工作。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "arn:aws:s3:::*",
"Condition": {
"StringEquals": {"s3:ResourceTag/Team": "devops"}
}
}
]
}
答案 0 :(得分:2)
根据Available Condition Keys, s3:ResourceTag 对S3条件不可用。
可用于在Amazon S3访问策略中指定条件的预定义键可以分类如下:
与Object Tagging and Access Control Policies中一样,可以使用 s3:ExistingObjectTag 条件键对每个对象进行访问控制。
以下权限策略授予用户读取对象的权限,但条件将读取权限限制为仅具有以下特定标记键和值的对象。
安全性 :公开
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::examplebucket/*",
"Principal": "*",
"Condition": { "StringEquals": {"s3:ExistingObjectTag/security": "public" } }
}
]
}
答案 1 :(得分:1)
这没有用。唯一的区别是在我的情况下该操作是 Deny,我可以确认这不适用!
"Resource": "arn:aws:s3:::*/*",
"Effect": "Deny",
"Sid": "TestPreventS3ObjectDeletion",
"Condition": {
"StringEquals": {
"s3:ResourceTag/Protection": "True"
}
}