选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

事物策略变量

聚焦模式
事物策略变量 - AWS IoT Core

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

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

事物策略变量允许您编写基于事物名称、事物类型和事物属性值等事物属性授予或拒绝权限的 AWS IoT Core 策略。您可以使用事物策略变量来应用相同的策略来控制许多 AWS IoT Core 设备。有关设备预调配的更多信息,请参阅设备预调配

如果您使用非排他性事物关联,则可以将同一个证书附加到多个事物。为了保持清晰的关联并避免潜在的冲突,您必须将客户端 ID 与事物名称相匹配。在这种情况下,您可以从事物连接到时发送的 MQTT Connect 消息中的客户端 ID 中获取事物名称。 AWS IoT Core

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

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

  • 如果存在非排他性事物关联,则在使用事物策略变量替换事物名称时,MQTT 连接消息或 TLS 连接clientId中的值必须与事物名称完全匹配。

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

  • 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 。此变量具有值truefalse表示连接对象已使用 API 附加到注册表中的证书或 Amazon Cognito 身份。AttachThingPrincipal事物名称被视为客户端 ID。

如果您的客户端 ID 与您的事物名称相匹配,或者您仅将证书附加到事物上,则在策略定义中使用策略变量可以简化策略管理。您可以使用物联网策略变量定义单个策略,而不必为每个 IoT 事物创建单独的策略。此政策可以动态应用于所有设备。以下是展示其工作原理的策略示例。有关更多信息,请参阅 将 AWS IoT 事物关联到 MQTT 客户端连接

{ "Version": "2012-10-17", "Statement": [ { "Condition": { "StringLike": { "iot:ClientId": "*${iot:Connection.Thing.Attributes[envType]}" } }, "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:aws:iot:us-east-1:123456789012:client/*" } ] }

AWS IoT Core 如果事物的客户端 ID 以其envType属性的值结尾,则此策略示例允许它们进行连接。只有具有匹配客户端 ID 模式的东西才允许连接。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。