

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 标记您的资源 AWS IoT Greengrass
<a name="tagging"></a>

标签可以帮助您组织和管理 AWS IoT Greengrass 群组。您可以使用标签将元数据分配给组、批量部署以及添加到组的核心、设备和其他资源。也可以在 IAM policy 中使用标签定义对 Greengrass 资源的条件访问。

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

## 标签基本知识
<a name="tagging-basics"></a>

标签允许您对 AWS IoT Greengrass 资源进行分类，例如按用途、所有者和环境进行分类。当您具有相同类型的许多资源时，可以根据附加到资源的标签来快速识别资源。标签包含您定义的一个键和一个可选值。我们建议您为每个资源类型设计一组标签键。使用一组连续的标签键，管理 资源时会更加轻松。例如，您可以为组定义一组标签来以帮助您跟踪核心设备的出厂位置。有关更多信息，请参阅 [AWS 标记策略](https://aws.amazon.com/answers/account-management/aws-tagging-strategies)。

### 控制台中的标签支持 AWS IoT
<a name="tagging-support-console"></a>

您可以在控制台中创建、查看和管理您的 G `Group` reengrass 资源的标签。 AWS IoT 在创建标签之前，请注意标签限制。有关更多信息，请参阅中的《*Amazon Web Services 一般参考*》中的[标签命名和使用惯例](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)。

**创建组时分配标签**  
创建组时，可以将标签分配给组。在**标签**部分下选择**添加标签**以显示标记输入字段。

**从组配置页面查看和管理标签**  
您可以选择**查看设置**，从组配置页面查看和管理标签。在组的**标签**页面上，选择**管理标签**，以添加、编辑或删除组标签。

### API 中的标签支持 AWS IoT Greengrass
<a name="tagging-support-api"></a>

您可以使用 AWS IoT Greengrass API 为支持标记的 AWS IoT Greengrass 资源创建、列出和管理标签。在创建标签之前，请注意标签限制。有关更多信息，请参阅中的《*Amazon Web Services 一般参考*》中的[标签命名和使用惯例](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)。
+ 要在资源创建期间添加标签，请在资源的 `tags` 属性中定义这些标签。
+ 要在创建资源后添加标签或更新标签值，请使用 `TagResource` 操作。
+ 要从资源中删除标签，请使用 `UntagResource` 操作。
+ 要检索与资源关联的标签，请使用 `ListTagsForResource` 操作或获取资源并检查其 `tags` 属性。

下表列出了您可以在 AWS IoT Greengrass API 中标记的资源及其相应的`Get`操作`Create`和操作。


| 资源 | Create | 获取 | 
| --- | --- | --- | 
| Group | [https://docs.aws.amazon.com/greengrass/v1/apireference/creategroup-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/creategroup-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getgroup-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getgroup-get.html) | 
| ConnectorDefinition | [https://docs.aws.amazon.com/greengrass/v1/apireference/createconnectordefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createconnectordefinition-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getconnectordefinition-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getconnectordefinition-get.html) | 
| CoreDefinition | [https://docs.aws.amazon.com/greengrass/v1/apireference/createcoredefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createcoredefinition-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getcoredefinition-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getcoredefinition-get.html) | 
| DeviceDefinition | [https://docs.aws.amazon.com/greengrass/v1/apireference/createdevicedefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createdevicedefinition-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getdevicedefinition-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getdevicedefinition-get.html) | 
| FunctionDefinition | [https://docs.aws.amazon.com/greengrass/v1/apireference/createfunctiondefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createfunctiondefinition-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getfunctiondefinition-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getfunctiondefinition-get.html) | 
| LoggerDefinition | [https://docs.aws.amazon.com/greengrass/v1/apireference/createloggerdefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createloggerdefinition-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getloggerdefinition-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getloggerdefinition-get.html) | 
| ResourceDefinition | [https://docs.aws.amazon.com/greengrass/v1/apireference/createresourcedefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createresourcedefinition-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getresourcedefinition-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getresourcedefinition-get.html) | 
| SubscriptionDefinition | [https://docs.aws.amazon.com/greengrass/v1/apireference/createsubscriptiondefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createsubscriptiondefinition-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getsubscriptiondefinition-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getsubscriptiondefinition-get.html) | 
| BulkDeployment  | [https://docs.aws.amazon.com/greengrass/v1/apireference/startbulkdeployment-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/startbulkdeployment-post.html) | [https://docs.aws.amazon.com/greengrass/v1/apireference/getbulkdeploymentstatus-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/getbulkdeploymentstatus-get.html) | 

使用以下操作可为支持标记的资源列出和管理标签：
+ [https://docs.aws.amazon.com/greengrass/v1/apireference/tagresource-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/tagresource-post.html)。为资源添加标签。还用于更改标签的键值对中的值。
+ [https://docs.aws.amazon.com/greengrass/v1/apireference/listtagsforresource-get.html](https://docs.aws.amazon.com/greengrass/v1/apireference/listtagsforresource-get.html)。列出资源的标签。
+ [https://docs.aws.amazon.com/greengrass/v1/apireference/untagresource-delete.html](https://docs.aws.amazon.com/greengrass/v1/apireference/untagresource-delete.html)。删除资源的标签。

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

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

**注意**  
不要将资源标签与可以分配给 AWS IoT 事物的属性混淆。尽管 Greengrass 内核 AWS IoT 是东西，但本主题中描述的资源标签是附加到`CoreDefinition`的，而不是核心内容。

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

在您的 IAM 策略中，您可以使用资源标签来控制用户访问和权限。例如，策略可以允许用户仅创建那些具有特定标签的资源。策略还可以限制用户创建或修改具有特定标签的资源。您可以在创建期间标记资源（称作*在创建时标记*），因此，您稍后无需运行自定义标记脚本。当启动带标签的新环境时，系统会自动应用相应的 IAM 权限。

可以在策略的 `Condition` 元素（也称作 `Condition` 块）中使用以下条件上下文密钥和值。

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

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

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

条件上下文键和值只能用于作用于可标记资源的 AWS IoT Greengrass 操作。这些操作将资源作为必需参数。例如，可以在 `GetGroupVersion` 上设置条件访问。无法在 `AssociateServiceRoleToAccount` 上设置条件访问，因为请求中未引用可标记资源（例如，组、核心定义或设备定义）。

有关更多信息，请参阅《*IAM 用户指南*》中的[使用标签控制访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) 和 [IAM JSON 策略引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。JSON 策略参考包含 IAM 中的 JSON 策略的元素、变量和评估逻辑的详细语法、描述和示例。

### 示例 IAM policies
<a name="tagging-iam-policies-examples"></a>

以下示例策略应用基于标签的权限，这些权限仅允许测试用户操作测试资源。
+ 第一个语句允许 IAM 用户操作仅具有 *env=beta* 标签的资源。
+ 第二个语句防止 IAM 用户从资源中删除 *env=beta* 标签。这可以防止用户删除自己的访问权限。
**注意**  
如果使用标签控制对资源的访问，则还应管理允许用户添加标签或从这些资源中删除标签的权限。否则，在某些情况下，用户将能够通过修改资源标签来绕过您的限制并获得资源访问权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "greengrass:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/env": "beta"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": "greengrass:UntagResource",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/env": "beta"
                }
            }
        }
    ]
}
```

------

要允许用户在创建时添加标签，您必须向用户授予适当的权限。以下示例策略包括 `greengrass:TagResource` 和 `greengrass:CreateGroup` 操作的 `"aws:RequestTag/env": "beta"` 条件，这使得用户仅在为具有 *env=beta* 的组添加标签时能够创建组。这有效地迫使用户为新组添加标签。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "greengrass:TagResource",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/env": "beta"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "greengrass:CreateGroup",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/env": "beta"
                }
            }
        }
    ]
}
```

------

以下代码段说明了如何通过将标签键括在列表中来为其指定多个标签值：

```
"StringEquals" : {
    "greengrass:ResourceTag/env" : ["dev", "test"]
}
```

## 另请参阅
<a name="tagging-see-also"></a>
+ 在中@@ [标记 AWS 资源 *Amazon Web Services 一般参考*](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)