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

事物策略变量

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

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

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

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

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

  • iot:Connection.Thing.ThingName

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

  • iot:Connection.Thing.ThingTypeName

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

  • iot:Connection.Thing.Attributes[attributeName]

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

  • iot:Connection.Thing.IsAttached

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