【问题标题】:SCP to create a security group with no tag or with specific tagSCP 创建一个没有标签或带有特定标签的安全组
【发布时间】:2022-02-08 05:03:06
【问题描述】:

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

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

如果添加了“bu”标签,我如何添加 OR 条件以使值必须为“finance”?

谢谢

【问题讨论】:

  • 您还没有解释当前政策有什么问题吗?有什么错误吗?

标签: amazon-web-services amazon-iam


【解决方案1】:

一个 SCP 中可以有多个条件,但这些条件只能用作 AND。但是每个 Condition 它本身可以有多个键/值对,并且这些键/值对之间的关​​系是 OR。

这里是一个例子:(见最后一个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

【讨论】:

  • 谢谢埃里克!成功了!
【解决方案2】:

最好的办法是结合SCP with Tag Policies

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

使用标签策略,您可以定义允许某些标签的值列表,为您选择的服务强制执行它,并且区分大小写(SCP 是not case-sensitive 条件键)。

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

  • 标签键:bu
  • 价值观:金融
  • 要强制执行的资源类型:ec2:securitygroup

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2021-04-25
    • 2013-04-15
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多