首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS策略-组合语句

AWS策略-组合语句
EN

Stack Overflow用户
提问于 2021-11-16 17:02:21
回答 1查看 236关注 0票数 0

在Root/OU上分配SCP策略是有限制的,为了节省资源,我尝试将2-3个策略语句合并到一个SCP中,但这似乎行不通。

有没有人在他们的“组织”中有这样做的例子?

使用terraform (但是json是重要的部分,而不是创建方法)

代码语言:javascript
复制
resource "aws_organizations_policy" "Allowed_EC2_AND_ES_InstanceTypes" {
    name = "Allowed_EC2_AND_ES_InstanceTypes"
    type = "SERVICE_CONTROL_POLICY" 
    description = "Policy that defines which EC2 and ES Instance Types are allowed (applied via terraform)"
    tags = {"purpose": "limit EC2-ES family types"}
    content = <<CONTENT
{
    "Version": "2012-10-17",
    "Statement1": [
        {
            "Sid": "Statement1",
            "Effect": "Deny",
            "Action": ["ec2:RunInstances"],
            "Resource": ["arn:aws:ec2:*:*:instance/*"],
            "Condition": {
                "StringNotLike": {
                    "ec2:InstanceType": [
                    "t3.*",
                    "m5.*",
                    "r5.*",
                    "c5.*",
                    "m6i.*"
                  ]
                }
            }
          }
        ],
    "Statement2": [
        {
            "Sid": "Statement2",
            "Effect": "Deny",
            "Action": [
                "es:CreateDomain",
                "es:CreateElasticsearchDomain"
                ],
            "Resource": [
                "*"
                ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                "aws:PrincipalType": [
                    "t2.*",
                    "c4.*",
                    "m3.*",
                    "m4.*",
                    "r3.*",
                    "r4.*"
              ]
           }
        }
      }
   ] 
}
CONTENT
}

事先非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-11-16 22:24:45

我认为应该有one "Statement" : []。在这里面,写了多个从"Sid":开始的项目。

aws-doc

语句元素是策略的主要元素。这个元素是必需的。语句元素可以包含单个语句或单个语句的数组。每个单独的语句块必须用大括号{ }括起来。对于多个语句,数组必须括在方括号中。"Statement": [{...},{...},{...}]

因此,您的示例应该如下所示。

代码语言:javascript
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Deny",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:instance/*"
            ],
            "Condition": {
                "StringNotLike": {
                    "ec2:InstanceType": [
                        "t3.*",
                        "m5.*",
                        "r5.*",
                        "c5.*",
                        "m6i.*"
                    ]
                }
            }
        },
        {
            "Sid": "Statement2",
            "Effect": "Deny",
            "Action": [
                "es:CreateDomain",
                "es:CreateElasticsearchDomain"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:PrincipalType": [
                        "t2.*",
                        "c4.*",
                        "m3.*",
                        "m4.*",
                        "r3.*",
                        "r4.*"
                    ]
                }
            }
        }
    ]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69993260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档