[英]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 在条件键上不区分大小写)。
对于您的场景,标签策略可以是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.