标记 IAM 资源 - Amazon Identity and Access Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

标记 IAM 资源

标签是您分配给 Amazon 资源的自定义属性标签。每个标签具有两个部分:

  • 标签键(例如 CostCenterEnvironmentProjectPurpose)。标签键区分大小写。

  • 一个称为 标签值 的可选字段(例如,111122223333Production 或团队名称)。省略标签值与使用空字符串相同。与标签键一样,标签值区分大小写。

这些被统称为键值对。有关 IAM 资源上可以拥有的标签数量的限制,请参阅 IAM 和 Amazon STS 配额

标签有助于您标识和组织 Amazon 资源。许多 Amazon 服务支持标记,因此,您可以将同一标签分配给来不同服务的资源,以指示这些资源是相关的。例如,您可以将相同的标签分配给为 Amazon S3 存储桶分配的 IAM 角色。有关标记策略的更多信息,请参阅 Amazon General Reference 指南中的标记 Amazon 资源

除了通过标签标识、组织和跟踪 IAM 资源之外,您还可以在 IAM 策略中使用标签,帮助控制哪些人可以查看并与您的资源交互。要了解有关使用标签控制访问的更多信息,请参阅使用标签控制对 IAM 用户和角色的访问以及他们进行的访问

您还可以在 Amazon STS 中使用标签,以在代入角色或联合用户身份时添加自定义属性。有关更多信息,请参阅在 Amazon STS 中传递会话标签

选择 Amazon 标签命名约定

当您开始将标签附加到您的 IAM 资源时,请谨慎选择标签命名约定。对您的所有 Amazon 标签应用同一约定。如果您在策略中使用标签来控制对 Amazon 资源的访问,这一点尤为重要。如果您已在 Amazon 中使用标签,请检查您的命名约定并相应地进行调整。要查看添加标签的使用案例和最佳实践,请下载添加标签最佳实践白皮书。

在 IAM 和 Amazon STS 中进行标记的规则

大量约定管理 IAM 和 Amazon STS 中标签的创建和应用。

命名标签

为 IAM 资源、Amazon STS 代入角色会话和 Amazon STS 联合身份用户会话制定标签命名约定时,请遵守以下约定:

字符要求 – 标签键和值可以包含字母、数字、空格以及 _ . : / = + - @ 符号的任意组合。

区分大小写 – 标签键是否区分大小写根据标记的 IAM 资源的类型而不同。IAM 用户和角色的标签键值不区分大小写,但会保留大小写。这意味着您不能拥有单独的 Departmentdepartment 标签键。如果您已使用 Department=foo 标签标记用户并添加 department=bar 标签,则它会替换第一个标签。不会添加第二个标签。

对于其他 IAM 资源类型,标签键值区分大小写。这意味着您可以有单独的 Costcentercostcenter 标签键。例如,如果您使用 Costcenter = 1234 标签为客户托管的策略添加了标签,并且添加了 costcenter = 5678 标签,策略将同时拥有 Costcentercostcenter 标签键。

作为最佳实践,我们建议您避免使用大小写处理不一致的类似标签。我们建议您确定利用标签的策略并在所有资源类型中一致地实施该策略。要了解有关标记最佳实践的更多信息,请参阅 Amazon General Reference 中的标记 Amazon 资源

以下列表显示了附加到 IAM 资源的标签键在区分大小写方面的差异。

标签键值区分大小写:

  • IAM 角色

  • IAM 用户

标签键值区分大小写。

  • 客户托管策略

  • 实例配置文件

  • OpenID Connect 身份提供商

  • SAML 身份提供商

  • 服务器证书

  • 虚拟 MFA 设备

此外,以下规则适用:

  • 您不能创建以文本 aws: 开头的标签键或值。此标签前缀将保留以供 Amazon 内部使用。

  • 您可以使用空值创建标签(如 phoneNumber = )。不能创建空标签键。

  • 您不能在单个标签中指定多个值,但可以在单个值中创建自定义多值结构。例如,假设用户 Zhang 在工程团队和 QA 团队工作。如果附加 team = Engineering 标签,然后附加 team = QA 标签,则会将标签的值将从 Engineering 更改为 QA。相反,您可以使用自定义分隔符在单个标签中包含多个值。在此示例中,您可以将 team = Engineering:QA 标签附加到 Zhang。

    注意

    在此示例中,要使用 team 标签控制对工程师的访问,您必须创建一个允许每个可能包含 Engineering(包括 Engineering:QA)的配置的策略。要了解有关在策略中使用标签的更多信息,请参阅使用标签控制对 IAM 用户和角色的访问以及他们进行的访问

应用和编辑标签

在将标签附加到 IAM 资源时遵循以下约定:

  • 您可以标记大多数 IAM 资源,但不能标记组、代入的角色、访问报告、基于硬件的设备或 SMS MFA 设备。

  • 不能使用标签编辑器标记 IAM 资源。标签编辑器不支持 IAM 标签。有关在其他服务中使用标签编辑器的信息,请参阅 Amazon Resource Groups用户指南中的使用标签编辑器

  • 要标记 IAM 资源,您必须拥有特定权限。要标记或取消标记资源,您还必须有权列出标签。有关详细信息,请参阅本页末尾的每个 IAM 资源的主题列表。

  • Amazon 账户中 IAM 资源的数量和大小受到限制。有关更多信息,请参阅IAM 和 Amazon STS 配额

  • 您可以将同一标签应用于多个 IAM 资源。例如,假设您有一个名为 AWS_Development 的部门,有 12 位成员。您可以让 12 位用户和一个角色具有标签键 department 以及值 awsDevelopment (department = awsDevelopment)。您还可以在其他支持标记的服务中的资源上使用相同标签。

  • IAM 实体(用户或角色)不能具有同一标签键的多个实例。例如,如果您有一个标签键值对为 costCenter = 1234 的用户,则可以附加标签键值对 costCenter = 5678。IAM 会将 costCenter 标签的值更新为 5678

  • 要编辑附加到 IAM 实体(用户或角色)的标签,请附加具有新值的标签以覆盖现有标签。例如,假设您有一个标签键值对为 department = Engineering 的用户。如果需要将该用户移动到 QA 部门,则可将 department = QA 标签键值对附加到该用户。这将导致 department 标签键的 Engineering 值被替换为 QA 值。