给您的 Amazon IoT Analytics 资源加标签 - Amazon IoT Analytics
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon IoT Analytics 不再向新客户提供。的现有客户 Amazon IoT Analytics 可以继续照常使用该服务。了解更多

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

给您的 Amazon IoT Analytics 资源加标签

为了方便管理您的通道、数据集、数据存储和管道,您可以选择通过标签的形式为每个资源分配您自己的元数据。本章介绍标签并说明如何创建标签。

有关标签的基本知识

标签可让您按各种标准(例如用途、所有者或环境)对 Amazon IoT Analytics 资源进行分类。这在您拥有许多同类型资源时很有用 - 您可以根据分配给资源的标签快速识别特定资源。每个标签都包含您定义的一个键和一个可选值。例如,您可以为通道定义一组标签,以跟踪负责每个通道的消息源的设备类型。我们建议您针对每类资源设计一组标签,以满足您的需要。使用一组连续的标签键,管理资源时会更加轻松。您可以根据添加的标签搜索和筛选资源。

您还可以使用标签对成本进行分类和跟踪。当您将标签应用于通道、数据集、数据存储或管道时,Amazon会生成一份逗号分隔值 (CSV) 文件形式的成本分配报告,该报告按标签汇总您的使用率和成本。您可以设置代表业务类别 (例如成本中心、应用程序名称或所有者) 的标签,以便整理多种服务的成本。有关对成本分配使用标签的更多信息,请参阅 Amazon Billing 用户指南中的使用成本分配标签

为便于使用,您可以使用Amazon Billing and Cost Management控制台中的标签编辑器,此编辑器提供了一种用于创建和管理标签的集中而统一的方法。有关更多信息,请参阅 Amazon Web Services Management Console 入门中的使用标签编辑器

您也可以使用 Amazon CLI 和 Amazon IoT Analytics API 处理标签。可在创建标签时将其与通道、数据集、数据存储和管道关联;可在以下命令中使用 Tags (标签) 字段:

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

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

在 IAM 策略中使用标签

您可以在 IAM 策略中将 Condition 元素(也称为 Condition 块)与以下条件上下文键/值一起使用,以根据资源的标签控制用户访问权限(权限):

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

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

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

    注意

    IAM policy 中的条件上下文键/值仅适用于能够标记的资源的标识符是必需参数的那些 Amazon IoT Analytics 操作。例如,不会根据条件上下文键/值允许/拒绝使用 DescribeLoggingOptions,因为在该请求中没有引用任何可标记的资源(通道、数据集、数据存储或管道)。

有关更多信息,请参阅《IAM 用户指南》中的使用标签控制访问。该指南的 IAM JSON 策略参考一节包含 IAM 中的 JSON 策略的元素、变量和评估逻辑的详细语法、描述和示例。

以下示例策略应用两个基于标签的限制。受此策略限制的用户:

  1. 无法为资源提供标签“env=prod”(请参阅示例中的 "aws:RequestTag/env" : "prod" 行)。

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

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

您还可以为给定标签键指定多个标签值,方法是将它们括在列表中,如以下示例所示:

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

如果您根据标签允许/拒绝用户访问资源,请务必考虑显式拒绝用户在相同资源中添加或删除这些标签的功能。否则,用户可能会修改资源标签以绕过您的限制,并获得该资源的访问权限。

标签限制

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

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

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

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

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

  • 请勿在标签名称或值中使用 aws: prefix,因为它专为 Amazon 使用预留。您无法编辑或删除带此前缀的标签名称或值。具有此前缀的标签不计入每个资源的标签数限制。

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