Skip to content

Commit e97d61b

Browse files
committed
More
1 parent 46879fe commit e97d61b

3 files changed

Lines changed: 62 additions & 74 deletions

File tree

articles/iot-edge/how-to-create-iot-edge-device.md

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,14 @@ ms.author: sethm
66
ms.service: azure-iot-edge
77
services: iot-edge
88
ms.topic: concept-article
9-
ms.date: 05/05/2025
9+
ms.date: 03/04/2026
1010
---
1111

1212
# Create an IoT Edge device
1313

1414
[!INCLUDE [iot-edge-version-all-supported](includes/iot-edge-version-all-supported.md)]
1515

16-
This article provides an overview of the options available to you for installing and provisioning IoT Edge on your devices.
17-
18-
This article provides a look at all of the options for your IoT Edge solution and helps you:
16+
This article provides an overview of the options available for installing and provisioning IoT Edge on your devices. The article provides a look at all of the options for your IoT Edge solution and helps you:
1917

2018
* [Choose a platform](#choose-a-platform)
2119
* [Choose how to provision your devices](#choose-how-to-provision-your-devices)
@@ -29,7 +27,6 @@ If you know what type of platform, provisioning, and authentication options you
2927

3028
If you want more information about how to choose the right option for you, continue through this article to learn more.
3129

32-
3330
| | Linux containers on Linux hosts | Linux containers on Windows hosts |
3431
|--| ----- | ---------------- |
3532
| **Manual provisioning (single device)** | [X.509 certificates](how-to-provision-single-device-linux-x509.md)<br><br>[Symmetric keys](how-to-provision-single-device-linux-symmetric.md) | [X.509 certificates](how-to-provision-single-device-linux-on-windows-x509.md)<br><br>[Symmetric keys](how-to-provision-single-device-linux-on-windows-symmetric.md) |
@@ -41,39 +38,39 @@ If you're not already familiar with IoT Edge terminology, review some key concep
4138

4239
**IoT Edge runtime**: The [IoT Edge runtime](iot-edge-runtime.md) is a collection of programs that turn a device into an IoT Edge device. Collectively, the IoT Edge runtime components enable IoT Edge devices to run your IoT Edge modules.
4340

44-
**Provisioning**: Each IoT Edge device must be provisioned. Provisioning is a two-step process. The first step is registering the device in an IoT hub, which creates a cloud identity that the device uses to establish the connection to its hub. The second step is configuring the device with its cloud identity. Provisioning can be done manually on a per-device basis, or it can be done at scale using the [IoT Hub Device Provisioning Service](../iot-dps/about-iot-dps.md).
41+
**Provisioning**: You must provision each IoT Edge device. Provisioning is a two-step process. The first step is registering the device in an IoT hub, which creates a cloud identity that the device uses to establish the connection to its hub. The second step is configuring the device with its cloud identity. You can manually provision a device or use the [IoT Hub Device Provisioning Service](../iot-dps/about-iot-dps.md) to provision devices at scale.
4542

46-
**Authentication**: Your IoT Edge devices need to verify its identity when it connects to IoT Hub. You can choose which authentication method to use, like symmetric key passwords, certificate thumbprints, or trusted platform modules (TPMs).
43+
**Authentication**: Your IoT Edge devices need to verify their identity when they connect to IoT Hub. Choose an authentication method, such as symmetric key passwords, certificate thumbprints, or trusted platform modules (TPMs).
4744

4845
## Choose a platform
4946

50-
Platform options are referred to by the container operating system and the host operating system. The container operating system is the operating system used inside your IoT Edge runtime and module containers. The host operating system is the operating system of the device the IoT Edge runtime containers and modules are running on.
47+
Platform options are referred to by the container operating system and the host operating system. The container operating system is the operating system used inside your IoT Edge runtime and module containers. The host operating system is the operating system of the device the IoT Edge runtime containers and modules run on.
5148

52-
There are three platform options for your IoT Edge devices.
49+
Your IoT Edge devices have three platform options.
5350

54-
* **Linux containers on Linux hosts**: Run Linux-based IoT Edge containers directly on a Linux host. Throughout the IoT Edge docs, you also see this option referred to as **Linux** and **Linux containers** for simplicity.
51+
* **Linux containers on Linux hosts**: Run Linux-based IoT Edge containers directly on a Linux host. Throughout the IoT Edge documentation, you see this option referred to as **Linux** and **Linux containers** for simplicity.
5552

56-
* **Linux containers on Windows hosts**: Run Linux-based IoT Edge containers in a Linux virtual machine on a Windows host. Throughout the IoT Edge docs, you also see this option referred to as **Linux on Windows**, **IoT Edge for Linux on Windows**, and **EFLOW**.
53+
* **Linux containers on Windows hosts**: Run Linux-based IoT Edge containers in a Linux virtual machine on a Windows host. Throughout the IoT Edge documentation, you see this option referred to as **Linux on Windows**, **IoT Edge for Linux on Windows**, and **EFLOW**.
5754

58-
* **Windows containers on Windows hosts**: Run Windows-based IoT Edge containers directly on a Windows host. Throughout the IoT Edge docs, you also see this option referred to as **Windows** and **Windows containers** for simplicity.
55+
* **Windows containers on Windows hosts**: Run Windows-based IoT Edge containers directly on a Windows host. Throughout the IoT Edge documentation, you see this option referred to as **Windows** and **Windows containers** for simplicity.
5956

60-
For the latest information about which operating systems are currently supported for production scenarios, see the [Operating systems](support.md#operating-systems) section of [Azure IoT Edge supported platforms](support.md).
57+
For the latest information about which operating systems support production scenarios, see the [Operating systems](support.md#operating-systems) section of [Azure IoT Edge supported platforms](support.md).
6158

6259
### Linux containers on Linux
6360

64-
For Linux devices, the IoT Edge runtime is installed directly on the host device.
61+
For Linux devices, you install the IoT Edge runtime directly on the host device.
6562

66-
IoT Edge supports X64, ARM32, and ARM64 Linux devices. Microsoft provides official installation packages for various operating systems.
63+
IoT Edge supports x64, ARM32, and ARM64 Linux devices. Microsoft provides official installation packages for various operating systems.
6764

6865
### Linux containers on Windows
6966

70-
IoT Edge for Linux on Windows hosts a Linux virtual machine on your Windows device. The virtual machine comes prebuilt with the IoT Edge runtime and updates are managed through Microsoft Update.
67+
IoT Edge for Linux on Windows hosts a Linux virtual machine on your Windows device. The virtual machine comes prebuilt with the IoT Edge runtime, and Microsoft Update manages updates.
7168

7269
IoT Edge for Linux on Windows is the recommended way to run IoT Edge on Windows devices. To learn more, see [What is Azure IoT Edge for Linux on Windows](iot-edge-for-linux-on-windows.md).
7370

7471
### Windows containers on Windows
7572

76-
IoT Edge version 1.2 or later doesn't support Windows containers. Windows containers aren't supported beyond version 1.1.
73+
IoT Edge version 1.2 and later doesn't support Windows containers. Windows containers support ends with version 1.1.
7774

7875
## Choose how to provision your devices
7976

@@ -91,45 +88,45 @@ Using single device provisioning, you need to manually enter provisioning inform
9188

9289
### Devices at scale
9390

94-
Provisioning devices at scale refers to provisioning one or more IoT Edge devices with the assistance of the [IoT Hub Device Provisioning Service](../iot-dps/about-iot-dps.md). You see provisioning at scale also referred to as **autoprovisioning**.
91+
Provisioning devices at scale means provisioning one or more IoT Edge devices using the [IoT Hub Device Provisioning Service](../iot-dps/about-iot-dps.md). You can also call this process **autoprovisioning**.
9592

96-
If your IoT Edge solution requires more than one device, autoprovisioning using DPS saves you the effort of manually entering provisioning information into the configuration files of each device. This automated model can be scaled to millions of IoT Edge devices.
93+
If your IoT Edge solution needs more than one device, autoprovisioning using DPS saves you from manually entering provisioning information into the configuration files of each device. You can use this automated model to scale to millions of IoT Edge devices.
9794

98-
You can secure your IoT Edge solution with the authentication method of your choice. **Symmetric key**, **X.509 certificates**, and **trusted platform module (TPM) attestation** authentication methods are available for provisioning devices at scale. You can read more about those options in the [Choose an authentication method](#choose-an-authentication-method) section.
95+
You can secure your IoT Edge solution using the authentication method that best fits your needs. For provisioning devices at scale, you can use the **symmetric key**, **X.509 certificates**, or **trusted platform module (TPM) attestation** authentication methods. For more information about these options, see the [Choose an authentication method](#choose-an-authentication-method) section.
9996

100-
To learn more about the features of DPS, see the [Features of the Device Provisioning Service](../iot-dps/about-iot-dps.md#features-of-the-device-provisioning-service) section of [What is Azure IoT Hub Device Provisioning Service?](../iot-dps/about-iot-dps.md)
97+
To learn more about the features of DPS, see the [Features of the Device Provisioning Service](../iot-dps/about-iot-dps.md#features-of-the-device-provisioning-service) section of [What is Azure IoT Hub Device Provisioning Service?](../iot-dps/about-iot-dps.md).
10198

10299
## Choose an authentication method
103100

104101
### X.509 certificate attestation
105102

106-
Using X.509 certificates as an attestation mechanism is the recommended way to scale production and simplify device provisioning. Typically, X.509 certificates are arranged in a certificate chain of trust. Starting with a self-signed or trusted root certificate, each certificate in the chain signs the next lower certificate. This pattern creates a delegated chain of trust from the root certificate down through each intermediate certificate to the final downstream device certificate installed on a device.
103+
Use X.509 certificates as an attestation mechanism to scale production and simplify device provisioning. Typically, X.509 certificates are arranged in a certificate chain of trust. Starting with a self-signed or trusted root certificate, each certificate in the chain signs the next lower certificate. This pattern creates a delegated chain of trust from the root certificate down through each intermediate certificate to the final downstream device certificate installed on a device.
107104

108-
You create two X.509 identity certificates and place them on the device. When you create a new device identity in IoT Hub, you provide thumbprints from both certificates. When the device authenticates to IoT Hub, it presents one certificate and IoT Hub verifies that the certificate matches its thumbprint. The X.509 keys on the device should be stored in a Hardware Security Module (HSM). For example, PKCS#11 modules, ATECC, dTPM, etc.
105+
You create two X.509 identity certificates and place them on the device. When you create a new device identity in IoT Hub, you provide thumbprints from both certificates. When the device authenticates to IoT Hub, it presents one certificate and IoT Hub verifies that the certificate matches its thumbprint. The X.509 keys on the device should be stored in a Hardware Security Module (HSM). For example, PKCS#11 modules, ATECC, dTPM, and similar technologies.
109106

110-
This authentication method is more secure than symmetric keys and supports group enrollments that provide a simplified management experience for a high number of devices. This authentication method is recommended for production scenarios.
107+
This authentication method is more secure than symmetric keys and supports group enrollments that provide a simplified management experience for a high number of devices. Use this authentication method for production scenarios.
111108

112109
### Trusted platform module (TPM) attestation
113110

114-
Using TPM attestation is a method for device provisioning that uses authentication features in both software and hardware. Each TPM chip uses a unique endorsement key to verify its authenticity.
111+
Use TPM attestation as a method for device provisioning that uses authentication features in both software and hardware. Each TPM chip uses a unique endorsement key to verify its authenticity.
115112

116-
TPM attestation is only available for provisioning at scale with DPS, and only supports individual enrollments not group enrollments. Group enrollments aren't available because of the device-specific nature of TPM.
113+
TPM attestation is only available for provisioning at scale with DPS, and it only supports individual enrollments, not group enrollments. Group enrollments aren't available because of the device-specific nature of TPM.
117114

118115
TPM 2.0 is required when you use TPM attestation with the device provisioning service.
119116

120117
This authentication method is more secure than symmetric keys and is recommended for production scenarios.
121118

122-
### Symmetric keys attestation
119+
### Symmetric key attestation
123120

124-
Symmetric key attestation is a simple approach to authenticating a device. This attestation method represents a "Hello world" experience for developers who are new to device provisioning, or don't have strict security requirements.
121+
Symmetric key attestation is a simple approach to authenticating a device. This attestation method provides a "Hello world" experience for developers who are new to device provisioning or don't have strict security requirements.
125122

126-
When you create a new device identity in IoT Hub, the service creates two keys. You place one of the keys on the device, and it presents the key to IoT Hub when authenticating.
123+
When you create a new device identity in IoT Hub, the service creates two keys. You place one of the keys on the device, and the device presents the key to IoT Hub when authenticating.
127124

128125
This authentication method is faster to get started but not as secure. Device provisioning using a TPM or X.509 certificates is more secure and should be used for solutions with more stringent security requirements.
129126

130127
## Next steps
131128

132-
You can use the table of contents to navigate to the appropriate end-to-end guide for creating an IoT Edge device for your IoT Edge solution's platform, provisioning, and authentication requirements.
129+
Use the table of contents to navigate to the appropriate end-to-end guide for creating an IoT Edge device for your IoT Edge solution's platform, provisioning, and authentication requirements.
133130

134131
You can also use the following links to go to the relevant article.
135132

@@ -158,4 +155,3 @@ You can also use the following links to go to the relevant article.
158155
* [Create and provision IoT Edge for Linux on Windows devices at scale using X.509 certificates](how-to-provision-devices-at-scale-linux-on-windows-x509.md)
159156
* [Create and provision an IoT Edge for Linux on Windows device at scale by using a TPM](how-to-provision-devices-at-scale-linux-on-windows-tpm.md)
160157
* [Create and provision IoT Edge for Linux on Windows devices at scale using symmetric keys](how-to-provision-devices-at-scale-linux-on-windows-symmetric.md)
161-

articles/iot-edge/module-edgeagent-edgehub.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ The following table doesn't include the information that's copied from the desir
8686
| `runtime.platform.OS` | Reports the OS running on the device. |
8787
| `runtime.platform.architecture` | Reports the CPU architecture on the device. |
8888
| `schemaVersion` | Schema version of reported properties. |
89-
| `systemModules.edgeAgent.runtimeStatus` | The reported status of IoT Edge agent: {**running** \| **unhealthy**}. |
89+
| `systemModules.edgeAgent.runtimeStatus` | The reported status of IoT Edge agent: { **running** \| **unhealthy** }. |
9090
| `systemModules.edgeAgent.statusDescription` | Text description of the reported status of the IoT Edge agent. |
9191
| `systemModules.edgeAgent.exitCode` | The exit code reported by the IoT Edge agent container if the container exits. |
9292
| `systemModules.edgeAgent.lastStartTimeUtc` | Time when IoT Edge agent was last started. |

0 commit comments

Comments
 (0)