ESP8266 上的 AWS IoT MQTT –将密钥放在设备上?

ESP8266 上的 AWS IoT MQTT –将密钥放在设备上?

我正在使用此库设置物联网设备(https://github.com/odelot/aws-mqtt-websockets) 连接到 AWS IoT 服务。我已经使用它并且运行良好,但是,我对设备使用 AWS 用户的密钥有点疑问。

为了设置库,您需要创建一个仅具有 IoT 权限的 IAM 用户,然后生成密钥和机密并将其加载到 IoT 设备上。然后,IoT 设备使用该信息通过库连接到 AWS IoT MQTT 服务。

我总是被教导绝不将密钥放到面向客户的设备上。所以,我想知道

  1. 这安全吗/为什么安全?
  2. 我是否需要为每个帐户创建一个新的 IAM 用户?
  3. 这是常见的做法吗?
  4. Cognito 这样的服务会更好吗?

答案1

不,你没有输入 IAM 用户访问密钥密钥到最终用户设备上。永远不会。而且您也不会为每个 IoT 节点创建 IAM 用户。

每个 AWS IoT 设备都会有自己的IoT 凭证文件(作为设备注册的一部分创建)。不是IAM 密钥但这些物联网钥匙是您上传至设备的内容。

我相信每个设备都有 3 个 PEM 文件 -证书私钥公钥

希望有帮助:)

相关内容