繁体   English   中英

如何将 Cognito 身份 ID 附加到 AWS IoT 策略?

[英]How to attach Cognito Identity ID to the AWS IoT Policy?

我正在尝试在 AWS IoT 和我的 React JS APP 之间建立连接。

我遵循了本教程( https://medium.com/serverlessguru/serverless-real-time-reactjs-app-aws-iot-mqtt-17d023954045 ),我不清楚如何将 Cognito Identity ID 附加到AWS 物联网策略。

在我所有的调查中,我发现这个过程必须通过命令行来完成。

在上面的文章中,这些过程是通过以下命令行完成的:

• 请注意,此命令中必须考虑“identity_pool_id”。

在此处输入图片说明

在 aws 文档( https://aws-amplify.github.io/docs/js/pubsub )中,它说在命令行中写入“identity_id”:

在此处输入图片说明

当我在命令行中使用“identity_pool_id”并尝试从 AWS IoT 发布消息时,出现以下错误:

在此处输入图片说明

当我在命令行中使用“identity_id”时,我可以成功执行 AWS IoT 和 Frontend 之间的通信:

在此处输入图片说明

问题是“identity_id”是每个用户的不同代码。 考虑到我的应用程序中将有很多用户,我不知道如何执行此任务。

• 我是否采用了正确的流程来考虑“identity_id”而不是“identity_pool_id”?

• 如果是,我如何在每次我的应用程序中有新用户登录时自动将 Cognito ID 附加到 AWS IoT 策略?

• 在AWS IoT 策略中附加数千个Cognito 证书是否有任何问题?

以下答案按时间顺序对应 3 个问题。

  1. 您只能将 identity_id(用户)附加到 IoT 策略。 另外,我可以看到您使用了现在已弃用的“attach-principal-policy”API,因此请使用AttachPolicy API 代替
  2. 我在这里不确定,我仍然建议在 Cognito 的后确认触发器上评估和验证它
  3. 绝对正确,您可以将 IoT 策略附加到无数证书; 从技术上讲,它被称为简化权限管理

对于 #3,来自 AWS 的相关片段(参考 - https://aws.amazon.com/iot-core/faqs/ where find Q.什么是简化的权限管理?)

“您可以为多个设备共享单个通用策略。可以在同一类别的设备之间共享通用策略,而不是为每个设备创建唯一策略。例如,将“序列号”作为变量引用的策略,可以挂接到所有同型号的设备上。当同序列号的设备连接时,策略变量会自动替换为它们的序列号。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM