Amazon web services AWS物联网&x2B;Cognito连接流
根据文档,我了解了如何创建物联网,以及如何使用AWS物联网创建经过身份验证的用户。我的问题是如何有效地组合这些服务,以便每个用户都可以安全地访问他或她的多个设备 假设Jane刚刚注册了该平台,并希望将她的灯泡设备连接到她的帐户。我们还假设她的灯泡设备上已经有证书和物联网中的策略,以便它可以连接到物联网平台,然后发布和订阅一些主题。为了简单起见,假设Jane可以通过简单地进行名为Amazon web services AWS物联网&x2B;Cognito连接流,amazon-web-services,aws-iot,Amazon Web Services,Aws Iot,根据文档,我了解了如何创建物联网,以及如何使用AWS物联网创建经过身份验证的用户。我的问题是如何有效地组合这些服务,以便每个用户都可以安全地访问他或她的多个设备 假设Jane刚刚注册了该平台,并希望将她的灯泡设备连接到她的帐户。我们还假设她的灯泡设备上已经有证书和物联网中的策略,以便它可以连接到物联网平台,然后发布和订阅一些主题。为了简单起见,假设Jane可以通过简单地进行名为pairDevice的API调用来创建此连接,该调用接受cognito标识(即59700b18-94c7-XXXX-85
pairDevice
的API调用来创建此连接,该调用接受cognito标识(即59700b18-94c7-XXXX-857a-d820a68c0ec6)和设备序列号
基本上,我设想这个函数做两件事:
{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“允许”,
“行动”:[
“物联网:连接”
],
“资源”:[
“arn:aws:iot:us-west-1:123456789012:client/SerialNumber”,
]
},
{
“效果”:“允许”,
“行动”:[
“物联网:发布”,
“物联网:订阅”,
“物联网:接收”
],
“资源”:[
"*"
]
}
]
}
然后我将使用AttachPrincipalPolicy将这个策略附加到cognito用户?我是否需要在Amazon Cognito身份池中有一个明确的IoT访问策略,或者这种链接是通过AttachPrincipalPolicy实现的 为了验证Amazon Cognito标识以通过HTTP发布MQTT消息,必须指定两个策略。第一个策略必须附加到Amazon Cognito标识池角色。第一个策略很可能是托管策略
AWSIoTDataAccess
第二个策略必须使用AWS IoT AttachPrincipalPolicy API附加到Amazon Cognito用户
示例应用程序演示了这一点:
有关明确的说明,您可以阅读: