

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

# 向视图添加标签
<a name="manage-views-tag"></a>

您可以向视图添加标签，以对其进行分类。标签是客户提供的元数据，其形式为键名称字符串和关联的可选值字符串。有关标记 AWS 资源的一般信息，请参阅 *Amazon Web Services 一般参考* 中的[标记 AWS 资源](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)。

## 在视图中添加标签
<a name="manage-view-tag-resources"></a>

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

------
#### [ AWS 管理控制台 ]

**要在视图中添加标签**

1. 打开资源管理器的**[视图](https://console.aws.amazon.com/resource-explorer/home#/views)**页面，然后选择要标记的视图的名称以显示其**详细信息**页面。

1. 在 **Tags**（标签）下，选择 **Manage tags**（管理标签）。

1. 要添加标签，选择**添加标签**，然后输入标签的键名称和可选值。
**注意**  
您也可以通过选择标签旁边的 **X** 来删除标签。

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

1. 完成所有标签的更改后，选择**保存更改**。

------
#### [ 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` 命令。

------

## 使用标签控制权限
<a name="manage-views-tag-abac"></a>

标签的一个关键用途是支持[基于属性的访问权限控制（ABAC）策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。ABAC 允许您标记资源，从而可帮助简化权限管理。然后，您可以向用户授予以某种方式标记的资源的权限。

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

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

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

## 在 ABAC 策略中引用标签
<a name="manage-view-tag-policy"></a>

标记好视图后，您可以选择使用这些标签来动态控制对这些视图的访问。以下示例策略假设您的 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？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)