【问题标题】:How do I use an authenticated AWS Cognito identity to access an AWS IoT endpoint?如何使用经过身份验证的 AWS Cognito 身份访问 AWS IoT 终端节点?
【发布时间】:2018-08-19 21:23:16
【问题描述】:

我正在使用 JavaScript (paho-mqtt-js) 中的 MQTT 客户端连接到 AWS IoT 端点,如果我使用自己的 AWS 凭证,我就能够连接。

但是,如果我使用 Cognito 为已登录用户生成的凭据,我将无法这样做。我在 IAM 中的 Cognito 授权角色附加了“AWSIoTFullAccess”策略,所以我很困惑为什么这些凭证每次都返回 403 错误。

我们将不胜感激。

【问题讨论】:

  • 您能分享一下您的 IAM 角色是什么样的吗?
  • 我也有类似的问题。使用具有正确策略的 IAM 用户,我可以连接,但使用 Cognito 凭证我不能。 IAM 角色策略是正确的,但与您不同的是,AWS 不会以 403 响应,但连接永远不会完成。如果我将我的 Cognito 角色更改为受限策略,则会收到 403。所以不是凭据错误forums.aws.amazon.com/thread.jspa?threadID=241543

标签: amazon-web-services mqtt amazon-iam amazon-cognito aws-iot


【解决方案1】:

在处理联合身份时遇到了类似的问题。解决问题的一些技巧:

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    检查您的 AWS IoT 政策。除了附加到 IAM 角色的策略之外,您还需要针对您的 Cognito 身份的 AWS IoT 策略。在此处查看文档:

    https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html

    【讨论】:

      猜你喜欢
      • 2019-01-29
      • 2018-03-29
      • 2017-07-01
      • 2018-01-29
      • 2014-12-05
      • 2017-05-31
      • 2016-01-17
      • 2019-09-13
      • 2016-06-29
      相关资源
      最近更新 更多