

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

# 标记您的 AWS IoT Greengrass Version 2 资源
<a name="tag-resources"></a>

利用标签，您可以在 AWS IoT Greengrass中组织和管理您的资源。可以使用标签向资源分配元数据，并且可以在 IAM 策略中使用标签来定义对资源的有条件访问。

**注意**  
目前，账单组或成本分配报告不支持 AWS IoT Greengrass 资源标签。

## 在中使用标签 AWS IoT Greengrass V2
<a name="tag-basics"></a>

您可以使用标签按用途、所有者、环境或用例的任何其他分类对 AWS IoT Greengrass 资源进行分类。在您具有同一类型的许多资源时，标签会帮助您更轻松地识别具体的资源。

每个标签都包含定义的一个键和一个可选值。例如，您可为核心设备定义一系列标签，以帮助您通过拥有设备的客户追踪这些设备。我们建议您为每类资源创建一组可满足您的需求的标签键。通过使用一组连续的标签键，可以更轻松地管理资源。

### 用 tag AWS 管理控制台
<a name="use-tag-console"></a>

中的**标签编辑器** AWS 管理控制台 提供了一种集中、统一的方式，供您为来自所有 AWS 服务的资源创建和管理标签。有关更多信息，请参阅 *AWS Resource Groups 用户指南*中的[标签编辑器](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html)。

### 使用 AWS IoT Greengrass V2 API 进行标记
<a name="use-tag-api"></a>

您也可以使用 AWS IoT Greengrass V2 API 来处理标签。在创建标签之前，请注意标签限制。有关更多信息，请参阅 *AWS 一般参考*中的[标签命名和使用惯例](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions)。
+ 要在创建资源时添加标签，请在资源的 `tags` 属性中定义这些标签。
+ 要向现有资源添加标签或更新标签值，请使用[TagResource](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_TagResource.html)操作。
+ 要从资源中移除标签，请使用[UntagResource](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_UntagResource.html)操作。
+ 要检索与资源关联的标签，请使用[ListTagsForResource](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_ListTagsForResource.html)操作，或者描述资源并检查其`tags`属性。

下表列出了您可以使用 AWS IoT Greengrass V2 API 标记的资源及其相应的`Create`和 `Describe` /或`Get`操作。


**可标记的资源 AWS IoT Greengrass V2**  

| 资源 | 创建操作 | 描述或获取操作 | 
| --- | --- | --- | 
| 核心设备 |  无。在设备上运行 AWS IoT Greengrass Core 软件以创建核心设备。  |  [GetCoreDevice](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetCoreDevice.html)  | 
| 组件 |  [CreateComponentVersion](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateComponentVersion.html)  |  [DescribeComponent](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_DescribeComponent.html), [GetComponent](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html)  | 
| 部署 |  [CreateDeployment](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateDeployment.html)  |  [GetDeployment](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetDeployment.html)  | 

使用以下操作可查看和管理支持标记的资源的标签：
+ [TagResource](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_TagResource.html)— 向资源添加标签，或更新现有标签的值。
+ [ListTagsForResource](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_ListTagsForResource.html)— 列出资源的标签。
+ [UntagResource](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_UntagResource.html)— 从资源中移除标签。

您可以随时为资源添加或删除标签。要更改标签键的值，请将标签添加到定义相同的键和新值的资源。新值将替换旧值。您可以将值设为空的字符串，但不能将值设为空值。

在删除一项资源时，与该资源关联的标签也将被删除。

## 在 IAM policy 中使用标签
<a name="tags-iam"></a>

在您的 IAM 策略中，您可以使用资源标签来控制用户访问和权限。例如，策略可以允许用户仅创建那些具有特定标签的资源。策略还可以限制用户创建或修改具有特定标签的资源。

**注意**  
如果您使用标签来允许或拒绝用户对资源的访问，则应拒绝用户对相同资源添加或删除这些标签的能力。否则，用户会通过修改资源标签来绕过您的限制并获得资源访问权限。

可以在策略语句的 `Condition` 元素（也称为 `Condition` 块）中使用以下条件上下文键和值。

`greengrassv2:ResourceTag/tag-key: tag-value`  
允许或拒绝带特定标签的资源上的操作。

`aws:RequestTag/tag-key: tag-value`  
要求在创建或修改可标记的资源时使用（或不使用）特定标签。

`aws:TagKeys: [tag-key, ...]`  
要求在创建或修改可标记的资源时使用（或不使用）一组特定的标签键。

**注意**  
IAM policy 中的条件上下文键和值仅适用于将可标记的资源作为必需参数的操作。例如，您可以为设置基于标签的条件访问权限。[GetComponent](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html)

有关更多信息，请参阅 IAM *用户指南*中的[使用 AWS 资源标签控制资源访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)和 [IAM JSON 策略参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。