amazon-web-services - 对 AWS 中的资源执行标记?
问题描述
我们是否可以在创建资源时在 AWS 中强制执行标记,以便除非在创建时手动为资源指定标签,否则不会创建资源?
解决方案
简短回答:无法通过所有资源的策略强制执行。
AWS 中有许多支持标记的资源。
但前提是您使用 CLI/API 标记在创建期间得到广泛支持。例如:从 API/CLI 创建 RDS 您可以在创建期间指定标签。但是从控制台,您只能在从控制台创建实例后将标签添加到实例。
但是对于 EC2 和 EBS,您可以通过此处指定的策略进行控制
{
"Sid": "AllowLaunchOnlyWithRequiredTags1",
"Effect": "Deny",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:us-east-1:accountid:instance/*",
"Condition": {
"Null": {"aws:RequestTag/dept": "true"}
} }, {
"Sid": "AllowLaunchOnlyWithRequiredTags2",
"Effect": "Deny",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:us-east-1:accountid:instance/*",
"Condition": {
"Null": {"aws:RequestTag/projectCode": "true"}
} }
并非所有资源都支持上述条件,尽管它们支持标签。所以,现在看来是矛盾的。