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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

标记 IAM 用户和角色

您可以使用 IAM 标签通过标签–键值对向 IAM 实体(用户或角色)添加自定义属性。例如,要向用户添加位置信息,您可以添加标记键 location 和标签值, us_wa_seattle。或者,您可以使用三个单独的位置标记键–价值对: loc-country = us, loc-state = wa、和 loc-city = seattle。您可以使用标记来控制实体对资源的访问,或控制哪些标记可以附加到实体。要了解有关使用标签控制访问的更多信息,请参阅控制对 IAM 用户和角色,使用 IAM 资源标签

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

选择 AWS 标签命名约定

当您开始将标签附加到您的 IAM 用户和角色时,请谨慎选择标签命名约定。对您的所有 AWS 标签应用同一约定。如果您在策略中使用标签来控制对 AWS 资源的访问,这一点尤为重要。如果您已在 AWS 中使用标签,请检查您的命名约定并相应地进行调整。要了解更多有关标记类别和策略的信息,请参阅 AWS 标记 AWS 资源AWS General Reference 指南. 要查看添加标签的使用案例和最佳实践,请下载添加标签最佳实践白皮书。

标记规则 IAM 和 AWS STS

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

命名标签

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

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

  • 标签–键值对不区分大小写,但保留大小写。这意味着您不能拥有单独的 Departmentdepartment 标签键。如果您已使用 Department=foo 标签标记用户并添加 department=bar 标签,则它会替换第一个标签。不会添加第二个标签。

  • 您无法创建以文本开头的标记键或值 aws:。此标记前缀保留供AW内部使用。

  • 您可以创建一个带有空值的标记,例如 phoneNumber = 。您不能创建空标记键。

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

    注意

    为了在本示例中使用 team 标记,您必须创建允许每个配置(可能包括 Engineering,包括 Engineering:QA。要了解更多有关在策略中使用标签的信息,请参阅 控制对 IAM 用户和角色,使用 IAM 资源标签.

应用和编辑标记

在将标签附加到 IAM 实体(用户或角色)时遵循以下约定:

  • 您可以标记用户或角色,但不能标记组或策略。

  • 不能使用标签编辑器标记 IAM 实体。标签编辑器不支持 IAM 标签。有关将“标记编辑”与其他服务一起使用的信息,请参阅 使用标记编辑AWS 管理控制台 用户指南.

  • 要标记 IAM 实体,您必须拥有特定权限。要标记或取消标记角色和用户,您还必须有权列出标签。有关更多信息,请参阅下面的标记所需的权限 IAM 实体

  • AWS 账户中 IAM 资源的数量和大小受到限制。有关更多信息,请参阅IAM 和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 值。

标记所需的权限 IAM 实体

您必须配置权限以允许 IAM 实体(用户或角色)标记其他实体。您可以在 IAM 策略中指定以下一项或所有 IAM 标签操作:

  • iam:ListRoleTags

  • iam:ListUserTags

  • iam:TagRole

  • iam:TagUser

  • iam:UntagRole

  • iam:UntagUser

允许 IAM 添加、列出或删除特定用户标签的实体

将以下语句添加到需要管理标签的 IAM 实体的权限策略。使用您的账号并替换 <username> 需要管理的用户名。要了解如何使用该示例 JSON 策略文档创建策略,请参阅在“Jsons”选项卡上创建策略

{ "Effect": "Allow", "Action": [ "iam:ListUserTags", "iam:TagUser", "iam:UntagUser" ], "Resource": "arn:aws:iam:*:<account-number>:user/<username>" }

允许 IAM 用户自我管理标签

将以下语句添加到用户的权限策略以允许用户管理其自己的标签。要了解如何使用该示例 JSON 策略文档创建策略,请参阅在“Jsons”选项卡上创建策略

{ "Effect": "Allow", "Action": [ "iam:ListUserTags", "iam:TagUser", "iam:UntagUser" ], "Resource": "arn:aws:iam:*:user/${aws:username}" }

允许 IAM 将标记添加到特定用户的实体

将以下语句添加到需要为特定用户添加而不是删除标签的 IAM 实体的权限策略。

注意

iam:AddRoleTagsiam:AddUserTags 操作要求您还包含 iam:ListRoleTagsiam:ListUserTags 操作。

若要使用本政策,请更换 <username> 需要管理的用户名。要了解如何使用该示例 JSON 策略文档创建策略,请参阅在“Jsons”选项卡上创建策略

{ "Effect": "Allow", "Action": [ "iam:ListUserTags", "iam:TagUser" ], "Resource": "arn:aws:iam:*:<account-number>:user/<username>" }

允许 IAM 添加、列出或删除特定角色的标签的实体

将以下语句添加到需要管理标签的 IAM 实体的权限策略。Replace <rolename> 需要管理的角色的名称。要了解如何使用该示例 JSON 策略文档创建策略,请参阅在“Jsons”选项卡上创建策略

{ "Effect": "Allow", "Action": [ "iam:ListRoleTags", "iam:TagRole", "iam:UntagRole" ], "Resource": "arn:aws:iam:*:<account-number>:role/<rolename>" }

或者,也可以使用 AWS 托管策略(如 IAMFullAccess)来提供对 IAM 的完全访问权限。

管理标记 IAM 实体(孔)

您可以从 AWS 管理控制台管理 IAM 用户或角色的标签。

管理用户或角色的标签(控制台)

  1. 登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.amazonaws.cn/iam/

  2. 在控制台的导航窗格中,选择 Roles (角色)Users (用户),然后选择要编辑的实体的名称。

  3. 选择 Tags (标签) 选项卡,然后完成下列操作之一:

    • 如果实体还没有标签,请选择 Add tags (添加标签)

    • 选择 Edit tags (编辑标签) 来管理一组现有的标签。

  4. 添加或删除标签以完成标签集。然后选择 Save changes (保存更改)

管理标记 IAM 实体(AWS CLI 或 AWS API)

您可以为 IAM 用户和角色列出、附加或删除标签。您可以使用 AWS CLI 或 AWS API 管理 IAM 用户和角色的标签。

列出当前附加到 IAM 角色的标签(AWS CLI 或 AWS API)

列出当前附加到 IAM 用户的标签(AWS CLI 或 AWS API)

将标签附加到 IAM 角色(AWS CLI 或 AWS API)

将标签附加到 IAM 用户(AWS CLI 或 AWS API)

从 IAM 角色中删除标签(AWS CLI 或 AWS API)

从 IAM 用户中删除标签(AWS CLI 或 AWS API)

有关将标签附加到其他 AWS 服务的资源的信息,请参阅这些服务的文档。

有关使用标签通过 IAM 权限策略设置更精细权限的信息,请参阅 IAM 策略元素 变量和标记