繁体   English   中英

SCP创建一个没有标签或有特定标签的安全组

[英]SCP to create a security group with no tag or with specific tag

我想创建一个 SCP(服务控制策略),如果没有标签,它应该允许创建一个安全组。 如果创建了一个标签,它应该有一个特定的值。 例如,如果“bu”是一个标签,则值应始终仅为“finance”。 如何做到这一点。 我做了这一点:

{
  "Sid": "SGBu",
  "Effect": "Deny",
  "Action": [
    "ec2:CreateSecurityGroup"
  ],
  "Resource": [
    "arn:aws:ec2:*:*:security-group/*"
  ],
  "Condition": {
    "ForAnyValue:Null": {
      "aws:RequestTag/bu": "false"
    }
  }
}

如何添加一个 OR 条件,以便在添加“bu”标签时该值必须为“finance”?

谢谢

您可以在一个 SCP 中有多个条件,但这些条件仅适用于 AND。 但是每个 Condition 本身可以有多个键/值对,这些键/值对之间的关系是或。

下面是一个示例:(请参阅最后一个条件 IpAdressess)

"Condition" :  {
      "DateGreaterThan" : {
         "aws:CurrentTime" : "2019-07-16T12:00:00Z"
       },
      "DateLessThan": {
         "aws:CurrentTime" : "2019-07-16T15:00:00Z"
       },
       "IpAddress" : {
          "aws:SourceIp" : ["192.0.2.0/24", "203.0.113.0/24"]
      }
}

这是关于它的 AWS 文档: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html

最好的方法是将SCP 与 Tag Policies结合起来。

这样,SCP 用于在资源创建时强制标记,Tag Policy 用于标准化确定的标记的值。

使用标签策略,您可以定义特定标签允许的值列表,为您的服务强制执行它 select 并且还区分大小写(SCP 在条件键上不区分大小写)。

对于您的场景,标签策略可以是:

  • 标签键:bu
  • 价值观:财务
  • 要实施的资源类型:ec2:securitygroup

示例标签策略

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM