View a markdown version of this page

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

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

向视图添加标签

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

在视图中添加标签

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

AWS 管理控制台
要在视图中添加标签
  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?