AWS SCP Tag Enforcer 失败
AWS SCP Tag Enforcer failing
我有这个服务控制策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyEC2ActionsWithoutTags",
"Effect": "Deny",
"Action": [
"ec2:RunInstances",
"ec2:CreateVpc”,
"ec2:CreateSecurityGroup",
],
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:vpc/*”,
"arn:aws:ec2:*:*:security-group/*"
],
"Condition": {
"StringNotLike": {
"aws:RequestTag/Name": [
"?*"
]
}
}
}
]
}
而且我希望它执行一条规则,即标签是使用 Name
的 key
创建的,并且必须具有来自我在单独的列表中定义的列表的关联 value
策略否则资源创建应该失败。
我不确定我做错了什么,因为创建安全组时仍然没有 key
Name
。
VPC 和 EC2 实例创建失败,没有预期的 Name
,但我觉得奇怪的是安全组。
有没有办法强制所有 ec2
可标记资源 必须 具有 key
的 Name
以及创建时的关联值时间?
不要尝试使用 SCP 强制执行标签,标签策略很好,但是 SCP 强制执行标签是危险的...我们尝试过,terraform 和其他服务破坏了 api 工作流程并最终阻止了您的团队从生产力。
例如,如果您设置了一个 EMR 集群(由 ec2 支持),则不会通过 EMR 控制台将标签传递到 EC2 中的子资产和您编写的 SCP以上会破坏它。
我们放弃了使用 SCP 强制执行它,并正在寻找更强大的解决方案。
我有这个服务控制策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyEC2ActionsWithoutTags",
"Effect": "Deny",
"Action": [
"ec2:RunInstances",
"ec2:CreateVpc”,
"ec2:CreateSecurityGroup",
],
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:vpc/*”,
"arn:aws:ec2:*:*:security-group/*"
],
"Condition": {
"StringNotLike": {
"aws:RequestTag/Name": [
"?*"
]
}
}
}
]
}
而且我希望它执行一条规则,即标签是使用 Name
的 key
创建的,并且必须具有来自我在单独的列表中定义的列表的关联 value
策略否则资源创建应该失败。
我不确定我做错了什么,因为创建安全组时仍然没有 key
Name
。
VPC 和 EC2 实例创建失败,没有预期的 Name
,但我觉得奇怪的是安全组。
有没有办法强制所有 ec2
可标记资源 必须 具有 key
的 Name
以及创建时的关联值时间?
不要尝试使用 SCP 强制执行标签,标签策略很好,但是 SCP 强制执行标签是危险的...我们尝试过,terraform 和其他服务破坏了 api 工作流程并最终阻止了您的团队从生产力。
例如,如果您设置了一个 EMR 集群(由 ec2 支持),则不会通过 EMR 控制台将标签传递到 EC2 中的子资产和您编写的 SCP以上会破坏它。
我们放弃了使用 SCP 强制执行它,并正在寻找更强大的解决方案。