创建 S3 存储桶时如何强制使用标签?

问题描述 投票:0回答:1

我想阻止用户在没有带有“project”键的标签时创建 S3 存储桶。 遵循政策是行不通的。无论如何它都会阻止创建

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "DenyCreationWithoutProjectTag",
        "Effect": "Deny",
        "Action": "s3:CreateBucket",
        "Resource": "*",
        "Condition": {
            "StringNotLike": {
                "aws:RequestTag/project": "*"
            }
        }
    }
]}

EC2 的标签强制执行 - AWS对 AWS 资源强制标记

没有帮助。

amazon-web-services amazon-s3 amazon-iam
1个回答
1
投票

转到 AWS Organizations 中的策略并选择标签策略。如果之前未启用,请务必启用它。然后制定这样的政策。您可以为此使用给定的 json 编辑器。

{ 
  "tags": { 
    "Project": { 
      "tag_key": { 
        "@@assign": "Project" 
      }, 
      "enforced_for": { 
        "@@assign": [ 
          "s3:bucket" 
        ] 
      } 
    } 
  } 
} 
 

在这里,我为项目标签创建了标签策略。创建标签策略后,请确保将其附加到目标 OU/帐户。

此后,再次转到策略并选择服务控制策略 (SCP) 如果它不可用,请确保启用它。在其中创建一个新的 SCP 策略并添加以下策略。

{ 
  "Version": "2012-10-17", 
  "Statement": [ 
    { 
      "Sid": "DenyS3CreationSCP1", 
      "Effect": "Deny", 
      "Action": [ 
        "s3:CreateBucket" 
      ], 
      "Resource": "*", 
      "Condition": { 
        "Null": { 
          "aws:RequestTag/Project": "true" 
        } 
      } 
    } 
  ] 
} 

在这里我创建了 SCP 来强制执行之前的标签策略。创建 SCP 后,请确保将其附加到目标 OU/帐户。

© www.soinside.com 2019 - 2024. All rights reserved.