适用范围:IoT Edge 1.5 checkmark IoT Edge 1.5
重要
IoT Edge 1.5 LTS 是受支持的版本。 IoT Edge 1.4 LTS 于 2024 年 11 月 12 日终止。 如果使用的是早期版本,请参阅 Update IoT Edge。
本文概述了可用于在设备上安装和预配IoT Edge的选项。 本文介绍IoT Edge解决方案的所有选项,并帮助你:
本文结束时,你清楚地了解了要用于IoT Edge解决方案的平台、预配和身份验证选项。
开始
如果您知道要用于创建 IoT Edge 设备的类型,例如平台、预配和身份验证选项,请使用下表中的链接开始。
如果想要详细了解如何选择合适的选择,请继续阅读本文以了解更多信息。
| Linux 主机上的 Linux 容器 | Windows 主机上的 Linux 容器 | |
|---|---|---|
| 手动预配(单个设备) |
X.509 证书 对称密钥 |
X.509 证书 对称密钥 |
| 自动预配(大规模设备) |
X.509 证书 TPM 对称密钥 |
X.509 证书 TPM 对称密钥 |
术语和概念
如果不熟悉IoT Edge术语,请查看一些关键概念:
IoT Edge runtime:IoT Edge运行时是将设备转换为IoT Edge设备的程序集合。 IoT Edge运行时组件共同使IoT Edge设备能够运行IoT Edge模块。
预配:必须预配每个IoT Edge设备。 预配过程分为两个步骤。 第一步是在IoT hub中注册设备,这会创建设备用于建立与中心连接的云标识。 第二步是使用其云标识配置设备。 可以手动预配设备或使用 IoT Hub 设备预配服务大规模预配设备。
Authentication:IoT Edge设备在连接到IoT Hub时需要验证其身份。 选择身份验证方法,例如对称密钥密码、证书指纹或受信任的平台模块(TPM)。
选择平台
平台选项由容器操作系统和主机操作系统引用。 容器作系统是IoT Edge运行时和模块容器中使用的作系统。 主机操作系统是 IoT Edge 运行时容器和模块在其上运行的设备的操作系统。
IoT Edge设备有三个平台选项。
linux 主机上的 Linux 容器:直接在 Linux 主机上运行基于 Linux 的IoT Edge容器。 在整个 IoT Edge 文档中,你将看到此选项被称为 Linux 和 Linux 容器,为简单起见。
Windows 主机上的 Linux 容器:在 Windows 主机上的 Linux 虚拟机中运行基于 Linux 的IoT Edge容器。 在整个 IoT Edge 文档中,你会看到此选项被称为 Windows 上的 Linux、IoT Edge for Linux on Windows 和 EFLOW。
Windows 主机上的 Windows 容器:直接在 Windows 主机上运行基于 Windows 的IoT Edge容器。 在整个IoT Edge文档中,你会看到此选项称为 Windows 和 Windows 容器,为简单起见。
有关哪些操作系统支持生产环境的最新信息,请参阅 操作系统 部分,位于 Azure IoT Edge 支持的平台中。
Linux 上的 Linux 容器
对于 Linux 设备,可以直接在主机设备上安装IoT Edge运行时。
IoT Edge支持 x64、ARM32 和 ARM64 Linux 设备。 Microsoft为各种作系统提供正式安装包。
Windows 上的 Linux 容器
适用于 Windows 上的 Linux IoT Edge托管 Windows 设备上的 Linux 虚拟机。 虚拟机预装IoT Edge运行时,微软更新负责管理更新。
建议在 Windows 设备上使用 Windows 上的 Linux IoT Edge 来运行 IoT Edge。 若要了解详细信息,请参阅 Windows 上的 Linux Azure IoT Edge。
Windows 上的 Windows 容器
IoT Edge版本 1.2 及更高版本不支持Windows容器。 Windows容器支持以版本 1.1 结束。
选择如何配置设备
可以根据IoT Edge解决方案的需求大规模预配单个设备或多台设备。
可用于验证IoT Edge设备和 IoT 中心之间的通信的选项取决于所选的预配方法。 可以在 “选择身份验证方法 ”部分阅读有关这些选项的详细信息。
单个设备
单个设备预配是指在没有 IoT Hub 设备预配服务(DPS)的帮助下预配IoT Edge设备。 你会看到单个设备预配也称为 手动预配。
使用单个设备配置时,需要在设备上手动输入配置信息,例如连接字符串。 手动预配可以快速且轻松地为少数设备进行设置,但工作负载会随着设备数量的增加而增加。 在考虑解决方案的可伸缩性时,预配会有所帮助。
对称密钥和 X.509 自签名身份验证方法可用于手动预配 。 可以在 “选择身份验证方法 ”部分阅读有关这些选项的详细信息。
大规模设备
大规模预配设备意味着使用
如果IoT Edge解决方案需要多个设备,则使用 DPS 自动预配可节省将预配信息手动输入到每个设备的配置文件中。 可以使用此自动化模型扩展到数百万个IoT Edge设备。
可以使用最符合需求的身份验证方法保护IoT Edge解决方案。 若要大规模预配设备,可以使用 对称密钥、 X.509 证书或 受信任的平台模块(TPM)证明 身份验证方法。 有关这些选项的详细信息,请参阅 “选择身份验证方法 ”部分。
若要了解有关 DPS 功能的详细信息,请参阅 什么是 Azure IoT Hub 设备预配服务? 的 设备预配服务功能 部分。
选择身份验证方法
X.509 证书证明
使用 X.509 证书作为证明机制来缩放生产并简化设备预配。 X.509 证书通常排列在证书信任链中。 从自签名证书或受信任的根证书开始,证书链中的每个证书依次为下一级证书进行签名。 此模式创建了从设备上安装的根证书到每个中间证书,再到最终的下游设备证书的委托信任链。
创建两个 X.509 标识证书并将其放在设备上。 在 IoT Hub 中创建新的设备标识时,可以从这两个证书提供指纹。 当设备向IoT Hub进行身份验证时,它会显示一个证书,并IoT Hub验证证书是否与其指纹匹配。 设备上的 X.509 密钥应存储在硬件安全模块 (HSM) 中。 例如,PKCS#11 模块、ATECC、dTPM 和类似的技术。
此身份验证方法比对称密钥更安全并支持组注册,从而为大量设备提供简化的管理体验。 将此身份验证方法用于生产方案。
受信任的平台模块 (TPM) 证明
使用 TPM 证明作为设备预配的方法,该方法使用软件和硬件中的身份验证功能。 每个 TPM 芯片都使用唯一的认可密钥来验证其真实性。
TPM 证明仅适用于使用 DPS 批量预配,并且仅支持单个注册,不支持群组注册。 由于 TPM 的设备特定性质,无法进行组注册。
将 TPM 证明与设备预配服务结合使用时,需要 TPM 2.0。
此身份验证方法比对称密钥更加安全,建议用于生产场景。
对称密钥证明
对称密钥证明是一种简单方法,用于对设备进行身份验证。 此证明方法为不熟悉设备预配或没有严格安全要求的开发人员提供了“Hello world”体验。
在 IoT Hub 中创建新的设备标识时,该服务将创建两个密钥。 在设备上放置其中一个密钥,设备在进行身份验证时向IoT Hub提供密钥。
此身份验证方法更快启动,但不如其他方法安全。 使用 TPM 或 X.509 证书进行设备预配更加安全,应用于安全性要求更高的解决方案。
后续步骤
使用目录导航到合适的端到端指南,以满足您IoT Edge解决方案的设备创建、平台、预配和身份验证要求。
还可以通过以下链接阅读相关文章。
Linux 主机上的 Linux 容器
手动预配单个设备:
大规模预配多个设备:
- 使用 X.509 证书大规模在 Linux 上创建和预配IoT Edge设备
- 使用 Linux 上的 TPM 大规模创建和预配IoT Edge设备
- 使用对称密钥在 Linux 上大规模创建和预配IoT Edge设备
Windows 主机上的 Linux 容器
手动预配单个设备:
大规模预配多个设备: