同一份物联网连接说明中,客户端标识与注册表里的thing名称可能同时出现。它们字面不同,并不能单凭这一点判断设备记录已经错配;但也不能因为两项都写在同一张表上,就认定服务已经建立了它们之间的关联。

AWS IoT Core的开发文档分别介绍这两个对象。client ID用于设备连接MQTT代理时的标识;thing name属于注册表中的thing名称。文档进一步把关联方式分为独占与非独占,并指出非独占关系下,为保持清晰关联,client ID需要与thing name匹配。

在客户端标识与thing名称不同的语境中,原文说明可以通过把X.509证书独占关联到某个thing来建立对应关系。这里的“独占”不是简单地给名称加一个备注,而是证书与thing之间特定的关联关系。本文只解释官方说明中的对象,没有在任何账户执行证书附加或解绑。

原文还说明,当证书与独占thing关联后,若要再关联其他thing,需先解除与该独占thing的关联。这项条件让“一个证书在资料里出现过哪些名称”与“当前关联状态是什么”成为不同问题。历史列表可以记录曾经发生的事情,当前状态仍须由对应的实际资料说明。

一种有助于交接的写法,是把client ID、thing name、证书引用及关联类型分列,再标明这些信息来自哪次观察。缺少某一项时保留待确认,不从两项名称相似就推定其余关系。这个写法是本文的信息组织建议,不是AWS发布的统一配置表。

这篇连接关联文档还讨论策略变量、生命周期事件、日志和费用分配等用途,其中生命周期事件包含thing名称有独占关系条件。用途列表并不表示这些能力已经在某个实际账户全部启用。本文不提供授权策略、证书迁移命令或生产变更步骤,也不根据概述判断现有系统的安全性。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。