你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
创建 IoT Edge 设备
适用于: IoT Edge 1.5 IoT Edge 1.4
重要
IoT Edge 1.5 LTS 是受支持的版本。 IoT Edge 1.4 LTS 的生命周期结束日期为 2024 年 11 月 12 日。 如果你使用的是早期版本,请参阅更新 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 运行时:IoT Edge 运行时是将某个设备转换为 IoT Edge 设备的程序集合。 总的来说,IoT Edge 运行时组件使 IoT Edge 设备能够运行 IoT Edge 模块。
预配:必须预配每个 IoT Edge 设备。 预配过程分为两个步骤。 第一步是在 IoT 中心注册设备,这将创建一个云标识,设备使用该标识建立与其中心的连接。 第二步是使用其云标识配置设备。 可以基于每台设备手动进行预配,也可使用 IoT 中心设备预配服务大规模进行预配。
身份验证:IoT Edge 设备在连接到 IoT 中心时需要验证其标识。 可以选择要使用的身份验证方法,例如对称密钥密码、证书指纹或受信任的平台模块 (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 文档中,你还会看到此选项被称为“Linux on Windows”、“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 容器
IoT Edge for Linux on Windows 在 Windows 设备上托管 Linux 虚拟机。 虚拟机预构建了 IoT Edge 运行时,更新通过 Microsoft 更新进行管理。
建议使用 IoT Edge for Linux on Windows 在 Windows 设备上运行 IoT Edge。 若要了解详细信息,请参阅什么是 Azure IoT Edge for Linux on Windows。
Windows 上的 Windows 容器
IoT Edge 版本 1.2 或更高版本不支持 Windows 容器。 高于 1.1 的版本不支持 Windows 容器。
选择如何预配设备
可以根据 IoT Edge 解决方案的需求大规模预配单个设备或多个设备。
可用于验证 IoT Edge 设备和 IoT 中心之间的通信的选项取决于所选的预配方法。 可在选择身份验证方法部分中详细了解这些选项。
单个设备
单个设备预配是指在不借助 IoT 中心设备预配服务 (DPS) 的情况下预配 IoT Edge 设备。 你会看到单个设备预配也称为“手动预配”。
使用单个设备预配时,需要在设备上手动输入预配信息,如连接字符串。 手动预配可以快速且轻松地为少数设备进行设置,但工作量会随着设备数量的增加而增加。 在考虑解决方案的可伸缩性时,预配会有所帮助。
对称密钥和 X.509 自签名身份验证方法可用于手动预配 。 可在选择身份验证方法部分中详细了解这些选项。
大规模设备
大规模预配设备是指利用 IoT 中心设备预配服务配置一台或多台 IoT Edge 设备。 你会看到大规模预配也称为“自动预配”。
如果 IoT Edge 解决方案需要多个设备,使用 DPS 进行自动预配可节省将预配信息手动输入到每个设备的配置文件中的工作量。 此自动化模型可缩放到数百万个 IoT Edge 设备。
可以使用所选的身份验证方法保护 IoT Edge 解决方案。 对称密钥、X.509 证书和受信任的平台模块 (TPM) 证明身份验证方法可用于大规模预配设备 。 可在选择身份验证方法部分中详细了解这些选项。
若要了解 DPS 的更多功能,请参阅“概述”页的“功能”部分。
选择身份验证方法
X.509 证书证明
将 X.509 证书用作一种证明机制是扩大生产规模和简化设备预配的建议方法。 X.509 证书通常排列在证书信任链中。 从自签名证书或受信任的根证书开始,证书链中的每个证书为下一级证书签名。 此模式创建了从设备上安装的根证书到每个中间证书,再到最终的下游设备证书的委托信任链。
创建两个 X.509 标识证书并将其放在设备上。 在 IoT 中心创建新的设备标识时,需要提供两个证书的指纹。 设备在向 IoT 中心进行身份验证时会提供一个证书,IoT 中心会验证该证书是否与其指纹匹配。 设备上的 X.509 密钥应存储在硬件安全模块 (HSM) 中。 例如,PKCS#11 模块、ATECC、dTPM 等。
此身份验证方法比对称密钥更安全并支持组注册,从而为大量设备提供简化的管理体验。 对于生产方案,建议使用此身份验证方法。
受信任的平台模块 (TPM) 证明
使用 TPM 证明是一种在软件和硬件中使用身份验证功能的设备预配方法。 每个 TPM 芯片都使用唯一的认可密钥来验证其真实性。
TPM 证明仅可用于使用 DPS 进行大规模预配,并且仅支持个人注册而不支持组注册。 由于 TPM 的设备特定性质,组注册不可用。
将 TPM 证明与设备预配服务结合使用时,需要 TPM 2.0。
此身份验证方法比对称密钥更加安全,建议用于生产场景。
对称密钥证明
对称密钥证明是一种简单方法,用于对设备进行身份验证。 此证明方法表示不熟悉设备预配或不具备严格安全要求的开发人员的“Hello world”体验。
你在 IoT 中心创建新设备标识时,服务将创建两个密钥。 将其中一个密钥置于设备上,并在进行身份验证时将该密钥提供给 IoT 中心。
此身份验证方法上手速度更快,但安全性更低。 使用 TPM 或 X.509 证书进行设备预配更加安全,应用于安全性要求更高的解决方案。
后续步骤
关于针对 IoT Edge 解决方案的平台、预配和身份验证要求创建 IoT Edge 设备,你可以使用目录导航到相应的端到端指南。
还可以通过以下链接阅读相关文章。
Linux 主机上的 Linux 容器
手动预配单个设备:
大规模预配多个设备:
Windows 主机上的 Linux 容器
手动预配单个设备:
大规模预配多个设备: