Azure IoT 中心设备预配服务是什么?

Azure 提供一套丰富的集成公有云服务,满足所有 IoT 解决方案需求。 IoT 中心设备预配服务 (DPS) 是 IoT 中心的帮助器服务,支持零接触、实时预配到适当的 IoT 中心,不需要人为干预。 使用 DPS 能够以安全且可缩放的方式预配数百万台设备。

何时使用设备预配服务

在很多预配方案中,DPS 都是将设备连接并配置到 IoT 中心的绝佳选择,例如:

  • 零接触预配到单一 IoT 解决方案,无需在出厂(初始设置)时对 IoT 中心连接信息进行硬编码
  • 跨多个中心对设备进行负载均衡
  • 根据销售交易数据将设备连接到其所有者的 IoT 解决方案(多租户)
  • 根据用例将设备连接到特定的 IoT 解决方案(解决方案隔离)
  • 将设备连接到具有最低延迟的 IoT 中心(异地分片)
  • 根据设备中的更改重新进行预配
  • 滚动设备使用的密钥以连接到 IoT 中心(当不使用 X.509 证书进行连接时)

幕后

上一部分中列出的所有方案都可通过相同流程采用零接触预配的 DPS 来完成。 预配向来所涉及的许多手动步骤通过 DPS 自动完成,以减少部署 IoT 设备的时间并降低手动错误的风险。 下面的部分介绍了在预配设备时在幕后发生的情况。 第一个步骤是手动的,后续的所有步骤都是自动的。

基本预配流程

  1. 设备制造商将设备注册信息添加到 Azure 门户中的注册列表。
  2. 设备联系工厂中设置的 DPS 终结点。 设备将标识信息传递给 DPS 来证明其身份。
  3. DPS 通过使用 nonce 质询(受信任的平台模块)或标准 X.509 验证 (X.509) 根据注册列表项来验证注册 ID 和密钥,从而验证设备的标识。
  4. DPS 将设备注册到 IoT 中心,并填充设备的所需孪生状态
  5. IoT 中心将设备 ID 信息返回给 DPS。
  6. DPS 将 IoT 中心连接信息返回给设备。 设备现在可以开始将数据直接发送到 IoT 中心。
  7. 设备连接到 IoT 中心。
  8. 设备从其在 IoT 中心中的设备孪生获取所需的状态。

预配过程

在设备的部署过程中有两个不同的步骤,其中 DPS 部分可以独立完成:

  • 制造步骤,其中设备在出厂时创建和准备,以及
  • 云设置步骤,其中将设备预配服务配置为自动预配 。

这两个步骤都与现有的制造和部署过程无缝衔接。 DPS 甚至简化了一些部署过程,这些过程需要手动操作来获取设备上的连接信息。

制造步骤

此步骤有关制造线上发生的情况。 此步骤中涉及的角色包括硅设计者、硅制造商、集成商和/或设备的最终制造商。 此步骤关于创建硬件本身。

同样在此步骤中,制造商向设备部署人员/操作员提供识别性密钥信息。 可以通过简单方法提供该信息,例如,确认所有设备都有基于设备部署人员/操作员提供的签名证书生成的 X.509 证书;也可以通过复杂方法提供该信息,例如,从每个 TPM 设备提取 TPM 认可密钥的公共部分。 这些服务如今由众多硅制造商提供。

云设置步骤

此步骤有关配置云实现正确的自动预配。 云设置步骤中通常涉及两种类型的用户:知道设备需要如何初始设置的用户(设备操作员),以及知道如何在 IoT 中心之间拆分设备的人员(解决方案操作员)。

必须对预配进行一次性初始设置,这通常由解决方案操作员来执行。 配置预配服务后,不需要修改,除非用例发生更改。

将服务配置为自动预配后,必须使其准备好注册设备。 此步骤由设备操作员完成,设备操作员知道设备的所需配置,并且负责确保预配服务在寻找其 IoT 中心时可以正确地证明设备的标识。 设备操作员从制造商处获取识别性密钥信息,并将其添加到注册列表。 添加新条目或现有条目更新为关于设备的最新信息后,随之会更新注册列表。

注册和预配

预配意味着各种含义,具体取决于使用术语的行业 。 在将 IoT 设备预配至其云解决方案的情况中,预配由两部分构成:

  1. 第一部分是通过注册设备来建立设备和 IoT 解决方案之间的初始连接。
  2. 第二部分是根据其注册到的解决方案的具体要求将适当的配置应用于设备。

只有这两个步骤都完成后,才能说该设备已完全预配。 某些云服务仅提供预配过程的第一步,即将设备注册到 IoT 解决方案终结点,但不提供初始配置。 DPS 自动执行这两个步骤,为设备提供无缝的预配体验。

设备预配服务的功能

DPS 具有许多功能,非常适合用于预配设备。

  • 对基于 X.509 和 TPM 的标识 的安全证明支持。
  • 注册列表,其中包含可能在某一时刻注册的设备/设备组的完整记录 。 注册列表包含有关设备注册后所需的设备配置信息,并可随时更新。
  • 多个分配策略,用于根据自己的需要控制 DPS 向 IoT 中心分配设备的方式:通过注册列表控制最小延迟、平均加权分布(默认值)和静态配置。 延迟是使用与流量管理器相同的方法确定的。
  • 监视和诊断日志记录,用于确保一切都正常工作。
  • 多中心支持,允许 DPS 将设备分配给多个 IoT 中心。 DPS 可以跨多个 Azure 订阅来与中心通信。
  • 跨区域支持使 DPS 能够将设备分配到其他区域的 IoT 中心。
  • 静态数据加密允许使用 256 位 AES 加密(可用的最强大的分组加密法之一,并且符合 FIPS 140-2)透明地加密和解密 DPS 中的数据。

可以通过查看 DPS 术语主题以及同一部分的其他概念性主题来详细了解设备预配中涉及的概念和功能。

跨平台支持

与所有 Azure IoT 服务一样,DPS 可以在各种操作系统上跨平台运行。 Azure 采用各种语言提供了开放源 SDK,以便于连接设备并管理服务。 DPS 支持使用以下协议来连接设备:

  • HTTPS
  • AMQP
  • 基于 Web 套接字的 AMQP
  • MQTT
  • 基于 Web 套接字的 MQTT

DPS 仅支持使用 HTTPS 连接来执行服务操作。

区域

DPS 已在许多区域中推出。 Azure 区域页面中提供了所有服务的现有区域和新宣布推出区域的更新列表。 可以在 Azure 状态页面上检查设备预配服务的可用性。

注意

DPS 是全局性的,而不局限于某个位置。 但是,必须指定与 DPS 配置文件关联的元数据将驻留在其中一个区域。

可用性

DPS 的服务级别协议为 99.9%。具体请阅读 SLA。 完整 Azure SLA 说明了 Azure 作为整体的保证可用性。

配额和限制

每个 Azure 订阅附带默认的配额限制,这些限制可能影响 IoT 解决方案的范围。 每个订阅的当前限制是每订阅 10 个设备预配服务。

有关配额限制的详细信息,请参阅 Azure 订阅服务限制

下表列出了适用于 Azure IoT 中心设备预配服务资源的限制。

资源 限制 可调?
每个 Azure 订阅的最大设备预配服务数 10
最大注册数 1,000,000
单个注册的最大数目 1,000,000
注册组的最大数目(X.509 证书) 100
注册组的最大数目(对称密钥) 100
最大 CA 数 25
链接的 IoT 中心的最大数量 50
消息的最大大小 96 KB

提示

如果对称密钥注册组的硬性限制是一个阻塞性问题,建议使用单个注册作为解决方法。

设备预配服务具有以下速率限制。

费率 每单位值 可调?
Operations 200/分钟/服务
设备注册数 200/分钟/服务
设备轮询操作 5/10 秒/设备

DPS 通过 Azure IoT 中心将设备预配自动化。 了解有关 IoT 中心的详细信息。

后续步骤

现已大致了解在 Azure 中配置 IoT 设备。 后续步骤是尝试端对端 IoT 方案。

使用 Azure 门户设置 IoT 中心设备预配服务

创建和预配模拟设备

设置设备以进行预配