仅在创建标签时创建 Amazon S3 存储桶

1 amazon-s3 amazon-web-services amazon-iam aws-cli

我需要仅在添加标签(名称 - 管理和值 - 测试)时创建存储桶。下面是我写的代码。但即使我提到了正确的标签名称和值,我在创建存储桶时也遇到了问题。

{
    "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"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*ein 5

首先,请注意Version策略中的 应该是2012-10-17。这是模板架构版本,而不是用户定义的版本。

我认为您面临的最大问题是在创建存储桶时无法指定标签。

例如,AWS 命令​​行界面 (CLI) aws s3api create-bucket命令不接受--tags参数。因此,创建桶时无法满足有标签的条件。

如果您通过控制台创建存储桶,它实际上会先创建存储桶,然后才添加标签。因此,第一个操作会失败,因为它没有标签。您可以通过CloudTrail检查此行为。