向视图添加标签 - AWS 资源探索器

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向视图添加标签

您可以向视图添加标签,以对其进行分类。标签是客户提供的元数据,其形式为键名称字符串和关联的可选值字符串。有关标记 AWS 资源的一般信息,请参阅 Amazon Web Services 一般参考 中的标记 AWS 资源

在视图中添加标签

您可以通过使用 AWS Management Console 或在 AWS SDK 中运行 AWS CLI 命令或其等效的 API 操作,将标签添加到您的资源管理器视图。

AWS Management Console
要在视图中添加标签
  1. 打开资源管理器的视图页面,然后选择要标记的视图的名称以显示其详细信息页面。

  2. Tags(标签)下,选择 Manage tags(管理标签)。

  3. 要添加标签,选择添加标签,然后输入标签的键名称和可选值。

    注意

    您也可以通过选择标签旁边的 X 来删除标签。

    您最多可以将 50 个用户定义的标签附加到一个资源中。由 AWS 自动创建和管理的任何标签均不计入此配额。

  4. 完成所有标签的更改后,选择保存更改

AWS CLI
要在视图中添加标签

运行以下命令以向视图添加标签。以下示例向指定视图添加带有键名称 environment 和值 production 的标签。

$ aws resource-explorer-2 tag-resource \ --resource-id arn:aws:resource-explorer-2:us-east-1:123456789012:view/MyViewName/1a2b3c4d-5d6e-7f8a-9b0c-abcd11111111 \ --tags environment=production

如果成功,前面的命令不会产生任何输出。

注意

要从视图中移除现有标签,请使用 untag-resource 命令。

使用标签控制权限

标签的一个关键用途是支持基于属性的访问权限控制(ABAC)策略。ABAC 允许您标记资源,从而可帮助简化权限管理。然后,您可以向用户授予以某种方式标记的资源的权限。

例如,考虑以下情景。对于名为 ViewA 的视图,您可以附加标签 environment=prod键名=值)。另一个 ViewB 可能被标记了 environment=beta。根据每个角色或用户应该能够访问的环境,您可以使用相同的标签和值来标记您的角色和用户。

然后,您可以为您的 IAM 角色、组和用户分配 AWS Identity and Access Management(IAM)权限策略。只有当提出搜索请求的角色或用户的 environment 标签值与附加到视图的 environment 标签的值相同时,该策略才会授予使用视图进行访问和搜索的权限。

这种方法的好处在于,它是动态的,不需要您维护谁有权访问哪些资源的列表。相反,您需要确保正确标记所有资源(您的视图)和主体(IAM 角色和用户)。然后,您无需更改任何策略即可自动更新权限。

在 ABAC 策略中引用标签

标记好视图后,您可以选择使用这些标签来动态控制对这些视图的访问。以下示例策略假设您的 IAM 主体和您的视图都使用标签键 environment 和某些值进行标记。完成后,您可以将下列示例策略附加到您的主体。然后,您的角色和用户可以使用任何标有 environment 标签值(与附加到主体的 environment 标签完全匹配)的视图 Search

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "resource-explorer-2:GetView", "resource-explorer-2:Search" ], "Resource": "arn:aws:resource-explorer-2:us-east-1:123456789012:view/*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/environment": "${aws:PrincipalTag/environment}" } } } ] }

如果主体和视图都有 environment 标签但值不匹配,或者如果其中一个缺少 environment 标签,则资源管理器会拒绝搜索请求。

有关使用 ABAC 安全地授予资源访问权限的更多信息,请参阅什么是 AWS 的 ABAC?