事物策略变量 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

事物策略变量

事物策略变量允许您根据事物名称、事物类型和事物属性值等事物属性来编写授予或拒绝权限的 Amazon IoT Core 策略。可以使用事物策略变量应用相同的策略来控制多个 Amazon IoT Core 设备。有关设备预调配的更多信息,请参阅设备预调配。事物名称从事物连接至 Amazon IoT Core 时发送的 MQTT Connect 消息中的客户端 ID 获取。

在 Amazon IoT Core 策略中使用事物策略变量时,请记住以下事项。

  • 使用 AttachThingPrincipalAPI 将证书或委托人(经过身份验证的 Amazon Cognito 身份)附加到事物。

  • 当您将事物名称替换为事物策略变量时,MQTT 连接消息或 TLS 连接中 clientId 的值必须与事物名称完全匹配。

可用的事物策略变量如下:

  • iot:Connection.Thing.ThingName

    它解析为 Amazon IoT Core 注册表中要评估策略的事物的名称。Amazon IoT Core 使用设备在进行身份验证时提供的证书,以确定用于验证连接的事物。此策略变量仅在设备通过 MQTT 或 MQTT 通过 WebSocket 协议连接时可用。

  • iot:Connection.Thing.ThingTypeName

    它解析为与要评估策略的事物关联的事物类型。MQTT/WebSocket 连接的客户端 ID 必须与事物名称相同。此策略变量仅在通过 MQTT 或 MQTT 通过 WebSocket协议进行连接时可用。

  • iot:Connection.Thing.Attributes[attributeName]

    它解析为与要评估策略的事物关联的指定属性的值。事物最多可以具有 50 个属性。每个属性都作为策略变量提供:iot:Connection.Thing.Attributes[attributeName],其中 attributeName 是属性的名称。MQTT/WebSocket 连接的客户端 ID 必须与事物名称相同。此策略变量仅在通过 MQTT 或 MQTT 通过 WebSocket 协议进行连接时可用。

  • iot:Connection.Thing.IsAttached

    iot:Connection.Thing.IsAttached: ["true"] 强制执行仅同时在 Amazon IoT 中注册并附加到可以访问策略内权限的委托人的设备。Amazon IoT Core如果设备提供的证书未附加到Amazon IoT Core注册表中的 IoT 事物,则您可以使用此变量阻止设备连接到。此变量具有值,true或者false表示连接的事物已使用 AttachThingPrincipalAPI 附加到证书或 Amazon Cognito 身份。事物名称被视为客户端 ID。