AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

事物策略示例

以下策略允许设备在包含事物类型名称和事物名称的特定主题上发布:

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":["iot:Publish"], "Resource":[ "arn:aws:iot:us-east-1:123456789012:topic/${iot:Connection.Thing.ThingTypeName}/${iot:Connection.Thing.ThingName}" ] }] }

如果用于向 AWS IoT 进行身份验证的证书被附加到正在为其评估策略的事物上,则以下策略允许设备连接。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["iot:Connect"], "Resource": ["*"], "Condition":{ "Bool":{ "iot:Connection.Thing.IsAttached":["true"] } } }] }

以下策略允许设备在一组主题上发布 (“/foo/bar”和“/foo/baz”),前提是:

  • 与设备关联的事物包含值为“foo”、“bar”或“baz”的“Manufacturer”属性。

  • 与设备关联的事物位于注册表中,并附加到用于连接 AWS IoT 的证书。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["iot:Publish"], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/foo/bar", "arn:aws:iot:us-east-1:123456789012:topic/foo/baz" ], "Condition": { "ForAnyValue:StringLike": { "iot:Connection.Thing.Attributes[Manufacturer]": [ "foo", "bar", "baz" ] } } }] }

以下策略允许设备发布主题,前提是:

  • 主题由事物类型名称、“/”和事物名称组成。

  • 事物位于 Registry 中。

  • 事物附加到用于连接 AWS IoT 的证书。

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":["iot:Publish"], "Resource":[ "arn:aws:iot:us-east-1:123456789012:topic/${iot:Connection.Thing.ThingTypeName}/${iot:Connection.Thing.ThingName}" ] }] }

如果相应事物位于注册表中,以下策略将允许设备仅在自己的影子主题上发布。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["iot:Publish"], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update" ] }] }