检查此行为
我只需要在添加标签(名称 - 管理和值 - 测试)时创建一个存储桶。以下是我编写的代码。但是我在创建水桶时面临问题,即使我提到了正确的标签名称和价值。
{
"Version": "1.3.2",
"Statement": [
{
"Sid": "TaggingStatement",
"Effect": "Allow",
"Action": [
"s3:List*",
"s3:Get*"
],
"Resource": "*"
},
{
"Sid": "TaggingStatement2",
"Effect": "Allow",
"Action": "s3:CreateBucket",
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:TagKeys": "Management"
},
"ForAllValues:StringEquals": {
"aws:RequestTag/Management": "Test"
}
}
}
]
}
首先,请注意,策略中的Version
应为2012-10-17
。这是模板架构版本,而不是用户定义的版本。
我认为您面临的最大问题是在创建桶时没有指定标签的能力。
例如,AWS命令行接口(CLI)aws s3api create-bucket
命令不接受--tags
参数。因此,无法满足条件在创建水桶时具有标签。
如果您通过控制台创建存储桶,它实际上会首先创建存储桶,仅在此之后添加标签。因此,第一个操作失败,因为它没有标签。您可能可以通过 CloudTrail 。