根据文档,我了解了如何创建物联网,以及如何使用AWS物联网创建经过身份验证的用户。我的问题是如何有效地组合这些服务,以便每个用户都可以安全地访问他或她的多个设备。
假设Jane刚刚注册了该平台,并希望将她的灯泡设备连接到她的帐户。我们还假设她的灯泡设备上已经有证书和物联网中的策略,以便它可以连接到物联网平台,然后发布和订阅一些主题。为了简单起见,假设Jane可以通过简单地进行名为pairDevice
的API调用来创建此连接,该调用接受cognito标识(即59700b18-94c7-XXXX-857a-d820a68c0ec6)和设备序列号。
基本上,我设想这个函数做两件事:
>
它将在ARN的用户帐户中添加一个DynamoDB条目,以便以后可以轻松引用和查询。
因此,如果我的理解是正确的,我将为物联网中的每个设备制定这样的策略(他们也应该发布和订阅序列号的主题吗?我想确保用户不能连接到他们显然不允许的设备):
{"版本":"2012-10-17","声明": [ { "效果":"允许","操作":["iot: Connect"],"资源":["arn: aws: iot: us-West-1:123456789012: Client/SerialNumber", ] }, { "效果":"允许","操作":["iot: Publish","iot:订阅","iot:接收"],"资源": [ "*" ] } ] }
然后我将使用AttachPrincipalPolicy将这个策略附加到cognito用户?我是否需要在Amazon Cognito身份池中有一个明确的IoT访问策略,或者这种链接是通过AttachPrincipalPolicy实现的?
为了验证Amazon Cognito标识以通过HTTP发布MQTT消息,必须指定两个策略。第一个策略必须附加到Amazon Cognito标识池角色。第一个策略很可能是托管策略AWSIoTDataAccess
。
第二个策略必须使用AWS IoT AttachPrincipalPolicy API附加到Amazon Cognito用户。
示例应用程序演示了这一点:
https://github.com/awslabs/aws-iot-chat-example
有关明确的说明,您可以阅读:
https://github.com/awslabs/aws-iot-chat-example/blob/master/docs/authentication.md
我想连接一个从mqtt设备接收数据的外部网关到我的AWS物联网核心。 在这张图片中,您可以找到(或多或少)该项目的概述。 项目详情 总而言之,我想将上一张图片的物联网网关连接到AWS物联网核心。 我看过很多类似主题的例子,但在其中没有一个能找到我想做的事情。 只有知道我的AWS云帐户的主机名/endpoint并将其放在我的getaway中以向该主机发送数据,才能做到这一点吗? 如何找到我的AWS主
我目前正在原型化一个由AWS物联网支持的应用程序,允许用户控制他们的设备。 我的想法是使用AWS Cognito对用户进行身份验证,并通过IAM角色限制对该用户拥有的特定设备(主题)的访问。 我可以看到,您可以将角色分配给一组用户,这将非常好,但允许的组数上限非常低(25)。 我是错过了一个技巧,还是这是对认知的限制?如果是这样,处理这种情况的最佳方法是什么? 提前谢谢。
我想要/期望看到的是下面的搜索显示连接的。当pubsub演示运行时,查询返回为空。它是空的这一事实告诉我,pubsub示例是作为MQTT客户机连接的,而不是作为设备连接的。如何作为设备连接? 请注意,我已经通过AWS CLI启用了。 评论中的其他细节:
我正在研究使用AWS IOT让我们的硬件与用户手机通信。为此,我们使用react-nate-paho-mqtt库。 我会在守则前简单解释: > 从ap-东北-1(东京)中的认知联邦标识检索令牌,因为那里有认知/联邦标识 使用该令牌登录ap-东南-1(新加坡)的aws IOT 失败:错误:AMQJS0007E套接字错误:未知套接字错误。 生成的带有sigV4签名的mqttendpoint如下所示:
我使用Cognito凭据从python脚本连接到AWS IOT时遇到问题。我正在使用python中的AWS IOT SDK以及boto3包。以下是我正在做的: 首先,我建立了一个Cognito用户池,其中有两个用户有用户名和密码可以登录。我还设置了一个Cognito身份池,其中我的Cognito用户池是唯一的身份验证提供者。我不提供对未经验证身份的访问。标识池有一个身份验证角色,我将其称为“MyA
我试图弄清楚什么是AWS物联网API的endpoint。我在留档中找到了这个代码来创建应用编程接口请求,但是我真的不知道要改变什么来连接到AWS物联网应用编程接口。https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html。我想创建的东西,例如使用aws API。