我正在使用此库 ( https://github.com/odelot/aws-mqtt-websockets ) 设置 IoT 设备以连接到 AWS IoT 服务。我让它工作并且运行良好,但是,我对设备使用 AWS 用户的密钥有一些疑问。
为了设置库,您创建一个仅具有 IoT 权限的 IAM 用户,然后生成密钥和密钥并将其加载到 IoT 设备上。然后,IoT 设备使用该信息通过库连接到 AWS IoT MQTT 服务。
我总是被教导永远不要将密钥放在面向客户端的设备上。所以,我想知道
- 这安全吗/怎么安全?
- 我是否需要为每个账户创建一个新的 IAM 用户?
- 这是常见的做法吗?
- 像 Cognito 这样的服务会更好吗?
不,您不会将 IAM 用户访问密钥和秘密密钥放在最终用户设备上。绝不。而且您也不会为每个 IoT 节点创建 IAM 用户。
相反,每个 AWS IoT 设备都将获得自己的IoT 凭证文件(作为设备注册的一部分创建)。不是IAM 密钥,而是这些IoT 密钥是您上传到设备的内容。
我相信每个设备有 3 个 PEM 文件——证书、私钥和公钥。
希望有帮助:)