在 IAM 策略中使用标签 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 IAM 策略中使用标签

可使用 FreeRTOS 控制台在您用于操作的 IAM 策略中应用基于标签的资源级权限。这可让您更好地控制用户可创建、修改或使用哪些配置。有关将标记和 IAM 策略用于 AWS IoT 的更多信息,请参阅 AWS IoT 开发人员指南 中的在 IAM 策略中使用标签

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

  • 使用 aws:ResourceTag/tag-key: tag-value 可允许或拒绝用户对带特定标签的 FreeRTOS 配置执行操作。

  • 使用 aws:RequestTag/tag-key: tag-value 要求在 FreeRTOS 控制台中创建或修改配置时使用(或者不使用)特定的标签。

  • 使用 aws:TagKeys: [tag-key, ...] 要求在 FreeRTOS 控制台中创建或修改配置时使用(或者不使用)特定的一组标签键。

有关更多信息,请参阅 AWS Identity and Access Management 用户指南 中的使用标签控制访问。有关 IAM 中的 JSON 策略的元素、变量和评估逻辑的详细语法、描述和示例,请参阅 IAM JSON 策略参考

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

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

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

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

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

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

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