首页 > 解决方案 > 对 AWS 中的资源执行标记?

问题描述

我们是否可以在创建资源时在 AWS 中强制执行标记,以便除非在创建时手动为资源指定标签,否则不会创建资源?

标签: amazon-web-services

解决方案


简短回答:无法通过所有资源的策略强制执行。

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"}
    } }

并非所有资源都支持上述条件,尽管它们支持标签。所以,现在看来是矛盾的。


推荐阅读