本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
强制标记一致性
标签策略提供了两种功能来帮助您在 Amazon 环境中强制执行标签一致性:“基本合规性规则” 和 “必需的标签密钥”。您可以将这些功能与两种标签策略模式结合使用:强制执行和报告。本节重点介绍这两种功能的强制执行模式。有关这两种功能的报告模式的详细信息,请参阅 “报告标签合规性”。
强制执行 “基本合规规则”
通过强制执行基本合规性规则,您可以防止使用不符合标签策略中指定要求的标签值创建资源。例如,如果提供的 “” 标签密钥的标签值不是 “商业” 或 “合法CostCenter”,则您可以定义一项策略,该策略将阻止 Amazon EC2 创建操作。基本合规性规则还允许您根据标签密钥的大小写来实施强制执行。启用大小写可确保标签键的字符串精确匹配。Capital CostCenter 将 “”、“CostCenter” 和 “Costcenter” 视为唯一的标签密钥,这意味着标签密钥的强制执行区分大小写。强制使用大写可以防止团队意外创建标签变体。标签一致性对于成本跟踪的准确性和基于属性的访问控制 (ABAC) 安全策略至关重要,后者依赖精确的标签匹配来授予或拒绝资源访问权限。
重要
基本合规性规则不会对创建的没有标签的资源强制执行标签合规性。此功能不会强制执行缺失的标签密钥。您不能使用此功能来确保在创建资源时配置了必需或必需的标签密钥。在 “必填标签密钥” 中使用报告模式,为由 IaC 工具(例如 Terraform 和 Pulumi)创建的资源强制使用所需的标签密钥。 Amazon CloudFormation如果请求不包含指定标签,则用于 SCPs 防止目标账户中的 IAM 用户和角色创建某些资源类型。
要使用标签策略强制执行基本合规性规则,请在创建标签策略时执行以下操作之一:
-
在 “可视化编辑器” 选项卡中,选择 “防止对此标签进行不合规操作” 选项。有关如何创作和附加标签策略的步骤,请参阅创建标签策略部分。
-
在 JSON 选项卡中,使用
enforced_for字段。有关标签策略语法的信息,请参阅标签策略语法和示例。
下图显示了 “可视化编辑器” 选项卡的控制台体验。在此示例中,客户正在定义一个标签策略,该策略将仅对标签策略支持的 Amazon EC2 资源类型强制执行标签值验证。当为亚马逊 EC2 资源类型提供的标签密钥为 “” 时,此政策将检查标签值是 “合法” 还是 “HRCostCenter”。此策略还强制使用大写,这意味着策略正在寻找与 “CostCenter” 标签键完全匹配的字符串。
下面的 JSON 是上述 “CostCenter” 示例中生成的标签策略。
重要
我们建议您在首次定义标签策略时使用可视化编辑器。可视化编辑器可确保您的标签策略语法有效,无需执行其他步骤,并为您提供定义标签策略的简化可点击体验。您可以使用可视化编辑器或 JSON 选项卡来定义标签策略。
{ "tags": { "CostCenter": { "tag_key": { "@@assign": "CostCenter" }, "tag_value": { "@@assign": [ "HR", "Legal" ] }, "enforced_for": { "@@assign": [ "ec2:ALL_SUPPORTED" ] } } } }
最佳实践
使用 “基本合规性规则” 和 “IaC 必需的标签密钥” 以及标签策略遵循以下最佳执法实践:
-
强制合规性时要谨慎行事 — 确保您了解使用标签策略的效果并遵循中描述的推荐工作流程标签策略入门。在将测试账号扩展到更多账户或组织单位之前,先测试其实施方式。否则,您可能会阻止组织账户中的用户创建他们所需的资源。
-
了解可以对哪些资源类型强制执行 – 您只能对支持资源类型上的标签策略强制执行合规性。当您使用可视化编辑器构建标签策略时,将列出支持强制执行合规性的资源类型。
-
了解与某些服务的交互 — 有些服务 Amazon Web Services 服务 具有类似容器的资源分组,可以自动为您创建资源,并将标签从一项服务中的资源传播到另一项服务。例如,亚马逊 EC2 群组和 Amazon EMR 集群上的标签可以自动传播到包含的亚马逊实例。 EC2 您对亚马逊 EC2 的标签政策可能比针对群组或 Amazon EMR 集群的标签政策更为严格。如果您启用强制执行,则标签策略会阻止对标记资源,并可能会阻止动态扩展和预配置。
以下各部门介绍如何查找不符合要求的资源,以及如何将其更正为合规。