标记 AWS IoT Events 资源 - AWS IoT Events
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

标记 AWS IoT Events 资源

为帮助您管理和组织您的检测器模型和输入,您可以选择以标记的形式将自己的元数据分配给这些资源。本节介绍标签并说明如何创建标签。

有关标签的基本知识

标签可让您按各种标准(例如用途、所有者或环境)对 AWS IoT Events 资源进行分类。这在您有许多相同类型的资源时会非常有用。您可以根据分配到特定资源的标签来快速识别该资源。

每个标签都包含您定义的一个键和可选值。例如,您可以为输入定义一组标签,帮助您跟踪按类型发送这些输入的设备。我们建议您为每类资源创建一组可满足您的需求的标签键。使用一组连续的标签键,管理资源时会更加轻松。

您可以根据您添加或应用的标记搜索和筛选资源,使用标记对成本进行分类和跟踪,并使用标记控制对资源的访问,如中所述 使用标记 IAM 政策AWS IoT 开发者指南.

为方便使用,中的标记编辑器 AWS 管理控制台 提供了创建和管理标签的集中统一方式。有关更多信息,请参阅 使用标记编辑器 英寸 使用AWS管理控制台.

您还可以使用 AWS CLI 和 AWS IoT Events API。在创建标记时,您可以使用 "Tags" 下列命令中的字段:

您可以使用以下命令为支持标记的现有资源添加、修改或删除标签:

您可以修改标签的密钥和值,还可以随时删除资源的标签。您可以将标签的值设为空的字符串,但是不能将其设为空值。如果您添加的标签的值与该实例上现有标签的值相同,新的值就会覆盖旧值。如果删除资源,则所有与资源相关的标签都将被删除。

更多信息,请参阅 AWS标记策略.

标签限制

下面是适用于标签的基本限制:

  • 每个资源的最大标签数 – 50

  • 最大键长度:127 个 Unicode 字符(采用 UTF-8 格式)

  • 最大值长度:255 个 Unicode 字符(采用 UTF-8 格式)

  • 标签键和值要区分大小写。

  • 请勿使用 "aws:" 标记名称或值的前缀,因为它保留用于 AWS 使用。您无法编辑或删除带此前缀的标签名称或值。具有此前缀的标签不计入每个资源的标签数限制。

  • 如果您的标记方案针对多个服务和资源使用,请记得其他服务可能对允许使用的字符有限制。通常允许使用的字符包括:可用 UTF-8 格式表示的字母、空格和数字以及以下特殊字符:+ - = . _ : / @。

结合使用标签和 IAM 策略

可以在用于 AWS IoT Events API 操作的 IAM 策略中应用基于标签的资源级权限。这可让您更好地控制用户可创建、修改或使用哪些资源。

在 IAM 策略中将 Condition 元素(也称作 Condition 块)与以下条件上下文键和值结合使用来基于资源标签控制用户访问(权限):

  • 使用 aws:ResourceTag/<tag-key>: <tag-value> 可允许或拒绝带特定标签的资源上的用户操作。

  • 使用 aws:RequestTag/<tag-key>: <tag-value> 可要求在发出创建或修改允许标签的资源的 API 请求时使用(或不使用)特定标签。

  • 使用 aws:TagKeys: [<tag-key>, ...] 可要求在发出创建或修改允许标签的资源的 API 请求时使用(或不使用)一组特定标签键。

注意

条件上下文键和值 IAM 政策仅适用于 AWS IoT Events 其中能够被标记的资源的标识符是必需参数的操作。

使用标签控制访问AWS身份和访问管理用户指南 具有有关使用标记的其他信息。的 IAMJSON策略参考 该指南的部分包含详细的语法、描述以及IAM中JSON策略的元素、变量和评估逻辑的示例。

以下示例策略应用两个基于标签的限制。一种 IAM 受本政策限制的用户:

  • 无法为资源提供标签“env=prod”(在示例中,请参阅行 "aws:RequestTag/env" : "prod"

  • 无法修改或访问具有现有标签“env=prod”的资源(在示例中,请参阅行 "aws:ResourceTag/env" : "prod")。

{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Deny", "Action" : "iotevents:*", "Resource" : "*", "Condition" : { "StringEquals" : { "aws:RequestTag/env" : "prod" } } }, { "Effect" : "Deny", "Action" : "iotevents:*", "Resource" : "*", "Condition" : { "StringEquals" : { "aws:ResourceTag/env" : "prod" } } }, { "Effect": "Allow", "Action": [ "iotevents:*" ], "Resource": "*" } ] }

您还可以通过将其包含在列表中来为给定的标记键指定多个标记值,如下所示。

"StringEquals" : { "aws:ResourceTag/env" : ["dev", "test"] }
注意

如果您基于标签允许或拒绝用户访问资源,则必须考虑显式拒绝用户对相同资源添加或删除这些标签的能力。否则,用户可能通过修改资源标签来绕过您的限制并获得资源访问权限。