事物策略变量 - AWS IoT Core

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

事物策略变量

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

在中使用事物策略变量时,请记住以下几点 AWS IoT Core 政策。

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

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

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

  • iot:Connection.Thing.ThingName

    这将解析为中事物的名称 AWS IoT Core 正在评估策略的注册表。 AWS 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"]强制只有同时在中注册的设备 AWS IoT 并附加到委托人可以访问策略内的权限。您可以使用此变量来阻止设备连接到 AWS IoT Core 如果它提供的证书未附加到物联网中的物联网事物 AWS IoT Core Registry.this 变量的值truefalse表示连接对象已使用附加到注册表中的证书或 Amazon Cognito 身份。AttachThingPrincipalAPI事物名称被视为客户端 ID。