本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
事物策略变量
事物策略变量允许您根据事物名称、事物类型和事物属性值等事物属性来编写授予或拒绝权限的 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。