IoT 中心设备预配服务 (DPS) 术语

IoT 中心设备预配服务是一项 IoT 中心帮助程序服务,该服务用于将零接触设备预配到指定 IoT 中心。 使用设备预配服务,可以通过安全且可缩放的方式预配数百万台设备。

设备预配是一个两部分过程。 第一部分是通过注册设备来建立设备和 IoT 解决方案之间的初始连接 。 第二部分是根据解决方案的具体要求将适当的配置应用于设备 。 在这两个步骤都完成后,设备已完全预配 。 设备预配服务自动执行这两个步骤,为设备提供无缝的预配体验。

本文概述了最适用于管理服务的预配概念 。 本文与设备部署准备工作的云设置步骤中提及的角色最为相关。

服务操作终结点

服务操作终结点是用于管理服务设置和维护注册列表的终结点。 此终结点仅由服务管理员使用,设备不使用它。

设备预配终结点

设备预配终结点是单一终结点,所有设备都使用它进行自动预配。 此 URL 对于所有预配服务实例都是相同 ,因而无需使用供应链方案中的新连接信息来刷新设备。 ID 范围可确保租户隔离。

链接 IoT 中心

设备预配服务只能将设备预配到已链接到它的 IoT 中心。 将 IoT 中心链接到设备预配服务实例可以为 IoT 中心的设备注册表提供服务读/写权限;通过该链接,设备预配服务可以注册设备 ID 并在设备孪生中设置初始配置。 链接 IoT 中心可能位于任何 Azure 区域。 可将其他订阅中的中心链接到预配服务。

分配策略

用于确定设备预配服务如何将设备分配给 IoT 中心的服务级别设置。 支持四种分配策略:

  • 均匀加权分发:链接的 IoT 中心等可能地获得预配到它们的设备。 默认设置。 如果只将设备预配到一个 IoT 中心,则可以保留此设置。

  • 最低延迟:将设备预配到具有最低延迟的 IoT 中心。 如果多个链接 IoT 中心提供相同的最低延迟,则预配服务将在这些中心上散列设备

  • 通过注册列表进行静态配置:注册列表中所需 IoT 中心的规范优先于服务级别分配策略。

  • 自定义(使用 Azure 函数):自定义分配策略让你能够对设备分配到 IoT 中心的方式进行更多地控制。 它是通过使用 Azure 函数中的自定义代码将设备分配到 IoT 中心来实现的。 设备预配服务将调用 Azure 函数代码,向代码提供有关设备和注册的所有相关信息。 将执行函数代码并返回用于预配设备的 IoT 中心信息。

注册

注册是指可以通过自动预配注册的设备或设备组的记录。 注册记录包含有关设备或设备组的信息,包括:

  • 设备使用的证明机制
  • 可选的初始所需配置
  • 所需的 IoT 中心
  • 所需的设备 ID

设备预配服务支持两种类型的注册:

注册组

注册组是一组共享特定证明机制的设备。 注册组支持 X.509 证书或对称密钥证明。 X.509 注册组中的设备提供已由同一根或中间证书颁发机构 (CA) 签名的 X.509 证书。 每个设备的最终实体(叶)证书的使用者公用名 (CN) 成为该设备的注册 ID。 对称密钥注册组中的设备提供派生自组对称密钥的 SAS 令牌。

注册组的名称以及设备提供的注册 ID 必须是不区分大小写的字符串,由字母数字字符和特殊字符组成:'-''.''_'':'。 最后一个字符必须是字母数字或短划线 ('-')。 注册组名称最长可达 128 个字符。 在对称密钥注册组中,设备提供的注册 ID 最多可包含 128 个字符。 但是,在 X.509 注册组中,由于 X.509 证书中使用者公用名的最大长度为 64 个字符,因此注册 ID 限制为 64 个字符。

对于注册组中的设备,注册 ID 还用作注册到 IoT 中心的设备 ID。

提示

建议对共享所需初始配置的大量设备,或者全部转到同一租户的设备使用注册组。

单独注册

单独注册是用于可注册的单一设备的条目。 个人注册可使用 X.509 叶证书或 SAS 令牌(来自物理或虚拟 TPM)作为证明机制。 个人注册中的注册 ID 是一个不区分大小写的字符串,由字母数字字符和特殊字符组成:'-''.''_'':'。 最后一个字符必须是字母数字或短划线 ('-')。 DPS 支持最多 128 个字符的注册 ID。

对于 X.509 个人注册,证书的使用者公用名 (CN) 成为注册 ID,因此该公用名必须遵循注册 ID 字符串格式。 使用者公用名的最大长度为 64 个字符,因此 X.509 注册的注册 ID 限制为 64 个字符。

个人注册可以在注册条目中指定所需 IoT 中心设备 ID。 如果未指定,则注册 ID 将成为注册到 IoT 中心的设备 ID。

可以通过控制注册的预配状态,暂时或永久允许或阻止特定设备通过设备预配服务进行预配

提示

对于需要唯一初始配置的设备或仅能通过 TPM 证明使用 SAS 令牌进行身份验证的设备,建议为其使用个人注册。

证明机制

证明机制是用于确认设备标识的方法。 证明机制在注册项上进行配置,会在注册期间验证设备的标识时告知预配服务要使用哪一种方法。

注意

IoT 中心将该服务中类似的概念称为“身份验证方案”。

设备预配服务支持以下证明形式:

  • 基于标准 X.509 证书身份验证流的 X.509 证书。 有关详细信息,请参阅 X.509 证明
  • 基于 nonce 质询的受信任平台模块 (TPM),使用密钥的 TPM 标准显示已签名的共享访问签名 (SAS) 令牌。 这不需要设备上的物理 TPM,但是服务要求按照 TPM 规范使用认可密钥来证明。
  • 基于共享访问签名 (SAS) SAS 令牌的“对称密钥”,包括哈希签名和嵌入的到期期限。 有关详细信息,请参阅对称密钥证明

ID 范围

ID 范围在由用户创建时分配给设备预配服务,用于唯一标识设备将通过其注册的特定预配服务。 ID 范围由服务生成且不可变,这保证了唯一性。

注意

唯一性对于长期运行的部署操作以及合并和收购方案而言非常重要。

注册记录

注册记录是设备通过设备预配服务成功注册/预配到 IoT 中心的记录。 注册记录自动创建,可以删除,但不能更新。

注册 ID

注册 ID 用于在设备预配服务中以独一无二的方式标识设备注册。 注册 ID 在预配服务 ID 范围内中必须唯一。 每个设备必须具有注册 ID。 注册 ID 是一个不区分大小写的字符串,包含字母数字字符和以下特殊字符:'-''.''_'':'。 最后一个字符必须是字母数字或短划线 ('-')。 DPS 支持最多 128 个字符的注册 ID。

  • 对于使用 TPM 的情况,注册 ID 由 TPM 本身提供。
  • 对于使用基于 X.509 证明的情况,注册 ID 设置为设备证书的使用者公用名 (CN)。 出于此原因,公用名称必须遵循注册 ID 字符串格式。 但是,注册 ID 限制为 64 个字符,因为 X.509 证书中使用者公用名的最大长度为 64 个字符。

设备 ID

设备 ID 是设备在 IoT 中心中显示的 ID。 可以在注册项目中设置所需的设备 ID,但不需要进行设置。 设置所需设备 ID 仅在单独注册中受支持。 如果注册列表中未指定所需设备 ID,注册设备时将使用注册 ID 作为设备 ID。 详细了解 IoT 中心中的设备 ID

操作

操作是设备预配服务的计费单位。 成功完成到服务的一条指令即为一次操作。 操作包括设备注册和重新注册,还包括服务侧更改(例如添加注册列表条目和更新注册列表条目)。