本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设备预调配
Amazon提供了几种不同的方法来预调配设备并在其上安装唯一的客户端证书。本部分介绍各种方式,以及如何选择适合您的 IoT 解决方案的最佳方法。这些选项在标题为在 Amazon IoT Core 中使用 X.509 证书进行设备制造和预调配的白皮书中进行了详细介绍。
选择最适合您情况的选项
-
您可以在 IoT 设备上安装证书,然后再予交付
如果您可以在 IoT 设备上安全地安装唯一的客户端证书以供最终用户使用,则需要使用即时预调配 (JITP) 或者即时注册 (JITR)。
通过 JITP 和 JITR,当设备首次连接时,用于签署设备证书的证书颁发机构 (CA) 会使用 Amazon IoT 注册并且被 Amazon IoT 识别。设备在首次连接时将使用其预调配模板中的详细信息在 Amazon IoT 中预调配。
有关单件事物、JITP、JITR 和具有唯一证书的设备批量预调配的详细信息,请参阅 预调配具有设备证书的设备。
-
终端用户或安装人员可以使用应用程序在其 IoT 设备上安装证书
如果您无法在 IoT 设备上安全地安装唯一的客户端证书以供终端用户使用,但终端用户或安装程序可以使用应用程序注册设备并安装唯一设备证书,则需要执行通过信任用户预调配的过程。
使用信任用户(如终端用户或具有已知账户的安装程序)可以简化设备制造过程。设备拥有的并非唯一的客户端证书,而是一个临时证书,仅能使设备与 Amazon IoT 连接 5 分钟。在这 5 分钟的窗口中,信任用户将获得具有更长寿命的唯一客户端证书,并将其安装在设备上。申请证书的寿命有限,因此能够最大限度地减少证书受损的风险。
有关更多信息,请参阅 由可信用户预调配。
-
终端用户无法使用应用程序在其 IoT 设备上安装证书
如果上述两个选项都不适用于您的 IoT 解决方案,则可选择通过申请预调配流程。通过此流程,您的 IoT 设备将拥有由实例集中其它设备共享的申请证书。设备首次使用申请证书进行连接时,Amazon IoT 使用其预调配模板注册设备,并向设备颁发其唯一的客户端证书,以便随后访问 Amazon IoT。
此选项可在设备连接到 Amazon IoT 时启用设备自动预调配,但在申请证明受损的情况下可能会面临较大风险。如果申请证书受损,您可以停用该证书。停用申请证书可防止具有该申请证书的所有设备在将来不会被注册。但是,停用申请证书不会阻止已预调配的设备。
有关更多信息,请参阅 通过申请进行预调配。
在 Amazon IoT 中预调配设备
使用 Amazon IoT 预调配设备时,您必须创建资源,以便您的设备和 Amazon IoT 能够安全地通信。您可以创建其它资源来帮助管理设备实例集。在预调配过程中可以创建以下资源:
-
IoT 事物。
IoT 事物是 Amazon IoT 设备注册表中的条目。每个事物都有一个唯一的名称和一组属性,并与物理设备相关联。事物可以使用事物类型来定义,或者分组为事物组。有关更多信息,请参阅 使用管理设备 Amazon IoT。
虽然创建事物并非必需,但这使您能够按事物类型、事物组和事物属性来搜索设备,以更有效地管理设备实例集。有关更多信息,请参阅 机群索引。
注意
要使对事物的连接状态数据编制索引,请预置事物并对其进行配置,以便事物名称与连接请求中使用的客户端 ID 匹配。
-
X.509 证书。
设备使用 X.509 证书执行与 Amazon IoT 的相互身份验证。您可以注册现有证书,也可以让 Amazon IoT 为您生成并注册新证书。通过将证书附加到表示设备的事物,您可以将证书与设备关联。您还必须将证书和关联的私有密钥复制到设备上。设备在连接到 Amazon IoT 时提供证书。有关更多信息,请参阅 身份验证。
-
IoT 策略。
IoT 策略确定设备可在 Amazon IoT 中执行的操作。IoT 策略附加到设备证书。当设备向 Amazon IoT 提供其证书时,将向其授予在策略中指定的权限。有关更多信息,请参阅 授权。每个设备都需要一个证书来与 Amazon IoT 通信。
Amazon IoT 支持使用预调配模板自动预调配实例集。预调配模板描述 Amazon IoT 预调配您的设备所需的资源。模板包含变量,使您能够使用一个模板来预调配多个设备。在您预调配设备时,您可以使用字典或映射 为设备特定的变量指定值。要预调配其它设备,请在字典中指定新值。
无论设备是否具有唯一的证书(及其关联的私有密钥),您都可以使用自动预调配。
实例集预调配 API
实例集预调配中使用的 API 分为几类:
-
这些控制面板函数可创建和管理实例集预调配模板,并配置可信用户策略。
-
可信用户可以使用此控制面板函数生成临时信息载入申请。此临时申请在 Wi-Fi 配置或类似方法期间传递给设备。
-
预调配过程中设备使用的 MQTT API,其中包含嵌入设备中的预调配申请证书,或由可信用户传递到其中。