在 AWS IOT 中,我没有看到任何在线解释来描述确保发布包含敏感数据的主题的设备只能由设备所有者访问的最佳方式。
例如,Bob 登录到他的智能手机应用程序并使用 Cognito 进行身份验证。已经有一个关于身份池身份验证角色的策略允许访问 AWS IOT,并且管理 lambda 在注册期间调用了 AttachPrincipalPolicy 并允许 Bob 访问 AWS IOT。
Bob 拥有一个名为“thermostat”的设备,上面安装了 x509 证书,用于向 AWS IOT 进行身份验证。它正在发布主题,例如 /thermostat/123/temperature/75(序列号:123,温度:75),而 Bob 在他的智能手机上订阅了相同的主题(/thermostat/123/temperature/*)
我们如何防止另一个用户 Jill 订阅 /thermostat/123/temperature/* 并读取 Bob 的私人数据,她的恒温器已通过相同的设置(这使她可以访问 AWS IOT)?
我猜它与序列号有关,但在这种情况下,您如何将 Bob 的身份 ID 与设备的序列号相关联?当每个用户和设备都使用完全不同的身份验证机制(Cognito 和 X509)时,关联用户和设备的最佳方式是什么?