发布/订阅策略示例

您所在的位置:网站首页 mqtt通配符订阅数据上限 发布/订阅策略示例

发布/订阅策略示例

2023-10-03 04:23| 来源: 网络整理| 查看: 265

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

发布/订阅策略示例

您使用的策略取决于您连接到 AWS IoT Core 的方式。你可以连接到AWS IoT Core使用 MQTT 客户端、HTTP 或 WebSocket。通过 MQTT 客户端连接时,将使用 X.509 证书进行身份验证。当你通过 HTTP 或 WebSocket 协议,您可以使用 Amazon Roozon Roozon Root Cognito Root Cognt。

注意

对于注册设备,我们建议您使用(CLY)事物策略变量为了Connectactions 并将该内容附加到用于连接的主体。

本节内容:在 MQTT 和 AWS IoT Core 策略中使用通配符向特定主题发布、订阅消息/从特定主题接收消息的策略向具有特定前缀的主题发布、订阅消息/从具有特定前缀的主题接收消息的策略向特定于每台设备的主题发布、订阅消息/从特定于每台设备的主题接收消息的策略向主题名称中包含事物属性的主题发布、订阅消息/从主题名称中包含事物属性的主题接收消息的策略拒绝向主题名称的子主题发布消息的策略拒绝接收来自主题名称的子主题的消息的策略使用 MQTT 通配符订阅主题的策略针对 HTTP 和 WebSocket客户 在 MQTT 和 AWS IoT Core 策略中使用通配符

MQTT 和 AWS IoT Core 策略具有不同的通配符,因此选择时应仔细斟酌。在 MQTT 中,可在 MQTT 主题筛选条件中使用通配符 + 和 # 来订阅多个主题名称。AWS IoT Core 策略使用 * 和 ? 作为通配符,并遵循 IAM policy 的约定。在策略文档中,* 表示字符的任意组合,问号 ? 表示任何单个字符。在策略文档中,MQTT 通配符 + 和 # 被视为没有特殊含义的字符。要在策略的 resource 属性中描述多个主题名称和主题筛选条件,请使用 * 和 ? 通配符代替 MQTT 通配符。

当选择要在策略文档中使用的通配符时,请考虑 * 字符不限于单个主题级别,因为 + 字符位于 MQTT 主题筛选条件中。为了帮助将通配符规范限制为单个 MQTT 主题筛选条件级别,请考虑使用多个 ? 字符。有关在策略资源中使用通配符的更多信息以及它们所匹配内容的更多示例,请参阅在资源 ARN 中使用通配符。

下表显示了 MQTT 和 MQTT 客户端的 AWS IoT Core 策略中使用的不同通配符。

通配符 是 MQTT 通配符 MQTT 中的示例 是 AWS IoT Core 策略通配符 适用于 MQTT 客户端 AWS IoT Core 策略的示例 # 是 some/# 否 不适用 + 是 some/+/topic 否 不适用 * 否 不适用 是

topicfilter/some/*/topic

topicfilter/some/sensor*/topic

? 否 不适用 是

topic/some/?????/topic

topicfilter/some/sensor???/topic

向特定主题发布、订阅消息/从特定主题接收消息的策略

以下显示的是已注册和未注册设备向名为“some_specific_topic”的主题发布、订阅消息/从名为“some_specific_topic”的主题接收消息的示例。这些示例还强调了 Publish 和 Receive 使用“主题”作为资源,Subscribe 使用“主题筛选器”作为资源。

Registered devices

对于在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备连接到与 AWS IoT Core 的注册表中的事物名称相匹配的 clientId。它还为名为“some_specific_topic”的主题提供 Publish、Subscribe 和 Receive 权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/some_specific_topic" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/some_specific_topic" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/some_specific_topic" ] } ] } Unregistered devices

对于未在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备使用 clientId1、clientId2 或 clientId3 进行连接。它还为名为“some_specific_topic”的主题提供 Publish、Subscribe 和 Receive 权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientId1", "arn:aws:iot:us-east-1:123456789012:client/clientId2", "arn:aws:iot:us-east-1:123456789012:client/clientId3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/some_specific_topic" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/some_specific_topic" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/some_specific_topic" ] } ] } 向具有特定前缀的主题发布、订阅消息/从具有特定前缀的主题接收消息的策略

以下显示的是已注册和未注册的设备向具有前缀“topic_prefix”的主题发布、订阅消息/从具有前缀“topic_prefix”的主题接收消息的示例。

注意

请注意,在此示例中使用了通配符 *。尽管通配符 * 对于在单个语句中为多个主题名称提供权限很有用,但它可能会给设备提供比所需更多的权限,从而导致意想不到的后果。因此,我们建议您仅在仔细考虑后才使用通配符 *。

Registered devices

对于在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备连接到与 AWS IoT Core 的注册表中的事物名称相匹配的 clientId。它还会为具有前缀“topic_prefix”的主题提供 Publish、Subscribe 和 Receive 权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/topic_prefix*" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/topic_prefix*" ] } ] } Unregistered devices

对于未在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备使用 clientId1、clientId2 或 clientId3 进行连接。它还会为具有前缀“topic_prefix”的主题提供 Publish、Subscribe 和 Receive 权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientId1", "arn:aws:iot:us-east-1:123456789012:client/clientId2", "arn:aws:iot:us-east-1:123456789012:client/clientId3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/topic_prefix*" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/topic_prefix*" ] } ] } 向特定于每台设备的主题发布、订阅消息/从特定于每台设备的主题接收消息的策略

以下显示的是已注册和未注册的设备向特定于给定设备的主题发布、订阅消息/从特定于给定设备的主题接收消息的示例。

Registered devices

对于在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备连接到与 AWS IoT Core 的注册表中的事物名称相匹配的 clientId。它提供向特定事物主题 (sensor/device/${iot:Connection.Thing.ThingName}) 发布内容的权限,还提供订阅特定事物主题 (command/device/${iot:Connection.Thing.ThingName}) 和从特定事物主题接收内容的权限。如果注册表中的事物名称为“thing1”,将允许设备发布到主题“sensor/device/thing1”,也可以订阅主题“command/device/thing1”和从此主题接收内容。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/sensor/device/${iot:Connection.Thing.ThingName}" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/command/device/${iot:Connection.Thing.ThingName}" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/command/device/${iot:Connection.Thing.ThingName}" ] } ] } Unregistered devices

对于未在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备使用 clientId1、clientId2 或 clientId3 进行连接。它提供发布到客户特定主题 (sensor/device/${iot:ClientId}) 的权限,还提供订阅客户特定主题 (command/device/${iot:ClientId}) 和从此客户特定主题接收内容的权限。如果设备以 clientId1 的身份连接 clientId,将允许它发布到主题“sensor/device/clientId1”,还可以订阅主题 device/clientId1/command 和从该主题接收内容。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientId1", "arn:aws:iot:us-east-1:123456789012:client/clientId2", "arn:aws:iot:us-east-1:123456789012:client/clientId3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/sensor/device/${iot:Connection.Thing.ThingName}" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/command/device/${iot:Connection.Thing.ThingName}" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/command/device/${iot:Connection.Thing.ThingName}" ] } ] } 向主题名称中包含事物属性的主题发布、订阅消息/从主题名称中包含事物属性的主题接收消息的策略

以下显示的是已注册的设备向名称中包含事物属性的主题发布、订阅消息/从名称中包含事物属性的主题接收消息的示例。

注意

仅在 AWS IoT Core 的注册表中注册的设备存在事物属性。对于未注册的设备,没有相应的示例。

Registered devices

对于在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备连接到与 AWS IoT Core 的注册表中的事物名称相匹配的 clientId。它提供发布到主题 (sensor/${iot:Connection.Thing.Attributes[version]}),以及订阅主题名称中包含事物属性的主题 (command/${iot:Connection.Thing.Attributes[location]}) 和从该主题接收内容的权限。如果注册表中的事物名称中包含 version=v1 和 location=Seattle,将允许设备发布到主题“sensor/v1”,以及订阅主题“command/Seattle”和从该主题接收内容。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/sensor/${iot:Connection.Thing.Attributes[version]}" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/command/${iot:Connection.Thing.Attributes[location]}" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/command/${iot:Connection.Thing.Attributes[location]}" ] } ] } Unregistered devices

由于仅在 AWS IoT Core 的注册表中注册的设备存在事物属性,因此未注册的事物没有相应的示例。

拒绝向主题名称的子主题发布消息的策略

以下显示的是已注册和未注册的设备向除某些子主题之外的所有主题发布消息的示例。

Registered devices

对于在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备连接到与 AWS IoT Core 的注册表中的事物名称相匹配的 clientId。它允许发布到所有以“department/”为前缀的主题,但不允许发布到“department/admins”子主题。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/department/*" ] }, { "Effect": "Deny", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/department/admins" ] } ] } Unregistered devices

对于未在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备使用 clientId1、clientId2 或 clientId3 进行连接。它允许发布到所有以“department/”为前缀的主题,但不允许发布到“department/admins”子主题。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientId1", "arn:aws:iot:us-east-1:123456789012:client/clientId2", "arn:aws:iot:us-east-1:123456789012:client/clientId3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/department/*" ] }, { "Effect": "Deny", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/department/admins" ] } ] } 拒绝接收来自主题名称的子主题的消息的策略

以下显示的是已注册和未注册的设备订阅除某些子主题之外具有特定前缀的主题,以及从此类主题接收消息的示例。

Registered devices

对于在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备连接到与 AWS IoT Core 的注册表中的事物名称相匹配的 clientId。此策略允许设备订阅任何具有前缀“topic_prefix”的主题。通过在 iot:Receive 的语句中使用 NotResource,我们允许设备接收来自设备订阅的所有主题(前缀为“topic_prefix/restricted”的主题除外)的消息。例如,通过此策略,设备可以订阅“topic_prefix/topic1”,甚至“topic_prefix/restricted”,但是,它们只能接收来自主题“topic_prefix/topic1”的消息,而不能接收来自主题“topic_prefix/restricted”的消息。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/topic_prefix/*" }, { "Effect": "Allow", "Action": "iot:Receive", "NotResource": "arn:aws:iot:us-east-1:123456789012:topic/topic_prefix/restricted/*" } ] } Unregistered devices

对于未在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备使用 clientId1、clientId2 或 clientId3 进行连接。此策略允许设备订阅任何具有前缀“topic_prefix”的主题。通过在 iot:Receive 的语句中使用 NotResource,我们允许设备接收来自设备订阅的所有主题(前缀为“topic_prefix/restricted”的主题除外)的消息。例如,通过此策略,设备可以订阅“topic_prefix/topic1”,甚至“topic_prefix/restricted”,但是,它们只能接收来自主题“topic_prefix/topic1”的消息,而不能接收来自主题“topic_prefix/restricted”的消息。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientId1", "arn:aws:iot:us-east-1:123456789012:client/clientId2", "arn:aws:iot:us-east-1:123456789012:client/clientId3" ] }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/topic_prefix/*" }, { "Effect": "Allow", "Action": "iot:Receive", "NotResource": "arn:aws:iot:us-east-1:123456789012:topic/topic_prefix/restricted/*" } ] } 使用 MQTT 通配符订阅主题的策略

MQTT 通配符 + 和 # 被视为文字字符串,但在 AWS IoT Core 策略中使用时不被视为通配符。在 MQTT 中,+ 和 # 仅在订阅主题筛选器时被视为通配符,但在所有其他上下文中均被视为文字字符串。我们建议您仅在经过仔细考虑之后再将这些 MQTT 通配符用作 AWS IoT Core 策略的一部分。

以下显示的是在 AWS IoT Core 策略中使用 MQTT 通配符的已注册和未注册事物的示例。这些通配符被视为文字字符串。

Registered devices

对于在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备连接到与 AWS IoT Core 的注册表中的事物名称相匹配的 clientId。此策略允许设备订阅主题“部门/+/员工”和“位置/#”。请注意,由于 + 和 # 在 AWS IoT Core 策略中被视为文字字符串,因此设备可以订阅主题“部门/+/员工”,但不能订阅主题“部门/工程/员工”。同样,设备可以订阅主题“位置/#”,但不能订阅主题“位置/西雅图”。但是,设备订阅了主题“部门/+/员工”后,该策略将允许它们接收来自主题“部门/工程/员工”的消息。同样,设备订阅主题“位置/#”后,它们也将收到来自主题“位置/西雅图”的消息。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "Bool": { "iot:Connection.Thing.IsAttached": "true" } } }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/department/+/employees" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/location/#" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:us-east-1:123456789012:topic/*" } ] } Unregistered devices

对于未在 AWS IoT Core 的注册表中注册的设备,以下策略允许设备使用 clientId1、clientId2 或 clientId3 进行连接。此策略允许设备订阅主题“部门/+/员工”和“位置/#”。请注意,由于 + 和 # 在 AWS IoT Core 策略中被视为文字字符串,因此设备可以订阅主题“部门/+/员工”,但不能订阅主题“部门/工程/员工”。同样,设备可以订阅主题“位置/#”,但不能订阅主题“位置/西雅图”。但是,设备订阅了主题“部门/+/员工”后,该策略将允许它们接收来自主题“部门/工程/员工”的消息。同样,设备订阅主题“位置/#”后,它们也将收到来自主题“位置/西雅图”的消息。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/clientId1", "arn:aws:iot:us-east-1:123456789012:client/clientId2", "arn:aws:iot:us-east-1:123456789012:client/clientId3" ] }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/department/+/employees" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:us-east-1:123456789012:topicfilter/location/#" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:us-east-1:123456789012:topic/*" } ] } 针对 HTTP 和 WebSocket客户

当你通过 HTTP 或 WebSocket 协议,您可以使用 Amazon Roozon Roozon Root Cognito Root Cognt。Amazon Cognito 身份可以是经过身份验证的,也可以是未经身份验证的。经过身份验证的身份属于已通过任何受支持的身份提供商进行身份验证的用户。未经身份验证的身份通常属于未使用身份提供商进行身份验证的来宾用户。Amazon Cognito 提供了一个唯一的标识符和 AWS 凭证以支持未经身份验证的身份。有关更多信息,请参阅使用 Amazon Cognito 身份的授权:

对于以下操作,AWS IoT Core 使用附加到 Amazon Cognito 身份(通过 AttachPolicy API)的 AWS IoT Core 策略缩小附加到 Amazon Cognito Identity 池(由经过身份验证的身份组成)的权限范围。

iot:Connect

iot:Publish

iot:Subscribe

iot:Receive

iot:GetThingShadow

iot:UpdateThingShadow

iot:DeleteThingShadow

这意味着,Amazon Cognito 身份需要从附加到池的 IAM 角色策略以及通过 AWS IoT Core AttachPolicy API附加到 Amazon Cognito Identity 附加到 AWS IoT Core 策略处获得权限。

经过身份验证和未经身份验证的用户是不同的身份类型。如果您没有将 AWS IoT 策略附加到 Amazon Cognito Identity,则经过身份验证的用户无法在 AWS IoT 中获得授权并无权访问 AWS IoT 资源和操作。

注意

对于其它 AWS IoT Core 操作或未经身份验证的身份,AWS IoT Core 不会缩小附加到 Amazon Cognito 身份池角色的权限范围。无论是对于经过身份验证的身份还是未经过身份验证的身份,这都是我们建议附加到 Amazon Cognito 池角色的最宽松的策略。

HTTP

要允许未经过身份验证的 Amazon Cognito 身份通过 HTTP 向特定于 Amazon Cognito Identity 的主题发布消息,请将以下 IAM policy 附加到 Amazon Cognito Identity 池角色:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${cognito-identity.amazonaws.com:sub}"] } ] }

要允许经过身份验证的用户,请使用 Amazon Roozon Root Cognito Root Cognito Root Cognito Root Cognito Root Cognt RootAWS IoT Core AttachPolicyAPI。

注意

在向 Amazon Cognito 身份授权时,AWS IoT Core 会考虑这两个策略并授予指定的最小权限。仅当两个策略都允许请求的操作时,才允许操作。如果任一策略不允许某项操作,则该操作未经授权。

MQTT

允许未经身份验证的 Amazon Cognito 身份通过发布 MQTT 消息 WebSocket 在与您的Amazon Roozon Root Cognito Root Identy Cognito Root Identy Cognito Root Ident Cognito Root Identy

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${cognito-identity.amazonaws.com:sub}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${cognito-identity.amazonaws.com:sub}"] } ] }

要允许经过身份验证的用户,请使用 Amazon Roozon Root Cognito Root Cognito Root Cognito Root Cognito Root Cognt RootAWS IoT Core AttachPolicyAPI。

注意

在向 Amazon Cognito 身份授权时,AWS IoT Core 会考虑这两个策略并授予指定的最小权限。仅当两个策略都允许请求的操作时,才允许操作。如果任一策略不允许某项操作,则该操作未经授权。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3