You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-edge/quickstart.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ ms.custom: mvc
14
14
15
15
# Quickstart: Deploy your first IoT Edge module to a virtual Windows device
16
16
17
-
Test out Azure IoT Edge in this quickstart by deploying containerized code to a virtual IoT Edge device. IoT Edge allows you to remotely manage code on your devices so that you can send more of your workloads to the edge. For this quickstart, we recommend using an Azure virtual machine for your IoT Edge device, which allows you to quickly create a test machine, install the prerequisites, and then delete it when you're finished.
17
+
Try out Azure IoT Edge by deploying containerized code to a virtual IoT Edge device. IoT Edge allows you to remotely manage code on your devices so that you can send more of your workloads to the edge. For this quickstart, we recommend using an Azure virtual machine for your IoT Edge device. Using a virtual machine allows you to quickly create a test machine, install the prerequisites, and then delete it when you're finished.
18
18
19
19
In this quickstart you learn how to:
20
20
@@ -46,7 +46,7 @@ Cloud resources:
46
46
* A resource group to manage all the resources you use in this quickstart.
47
47
48
48
```azurecli-interactive
49
-
az group create --name IoTEdgeResources --location westus2
49
+
az group create --name IoTEdgeResources --location westus2
50
50
```
51
51
52
52
IoT Edge device:
@@ -154,7 +154,7 @@ Use PowerShell to download and install the IoT Edge runtime. Use the device conn
154
154
155
155
5. Run PowerShell as an administrator again.
156
156
157
-
6. The **Initialize-IoTEdge** command configures the IoT Edge runtime on your machine. The command defaults to manual provisioning with Windows containers.
157
+
6. The **Initialize-IoTEdge** command configures the IoT Edge runtime on your machine. The command defaults to manual provisioning with Windows containers.
@@ -241,7 +241,7 @@ az group delete --name IoTEdgeResources
241
241
242
242
In this quickstart, you created an IoT Edge device and used the Azure IoT Edge cloud interface to deploy code onto the device. Now, you have a test device generating raw data about its environment.
243
243
244
-
The next step is to set up your local development environment so that you can start creating IoT Edge modules that run your business logic.
244
+
The next step is to set up your local development environment so that you can start creating IoT Edge modules that run your business logic.
245
245
246
246
> [!div class="nextstepaction"]
247
247
> [Start developing IoT Edge modules for Windows devices](tutorial-develop-for-windows.md)
Copy file name to clipboardExpand all lines: articles/iot-edge/security.md
+19-12Lines changed: 19 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,29 +12,36 @@ services: iot-edge
12
12
13
13
# Security standards for Azure IoT Edge
14
14
15
-
Azure IoT Edge addresses the risks that are inherent when moving your data and analytics to the intelligent edge. The IoT Edge security standards balance flexibility for different deployment scenarios with the protection that you expect from all Azure services.
15
+
Azure IoT Edge addresses the risks that are inherent when moving your data and analytics to the intelligent edge. The IoT Edge security standards balance flexibility for different deployment scenarios with the protection that you expect from all Azure services.
16
+
17
+
IoT Edge runs on various makes and models of hardware, supports several operating systems, and applies to diverse deployment scenarios. Rather than offering concrete solutions for specific scenarios, IoT Edge is an extensible security framework based on well-grounded principles that are designed for scale. The risk of a deployment scenario depends on many factors, including:
18
+
19
+
* Solution ownership
20
+
* Deployment geography
21
+
* Data sensitivity
22
+
* Privacy
23
+
* Application vertical
24
+
* Regulatory requirements
16
25
17
-
IoT Edge runs on various makes and models of hardware, supports several operating systems, and applies to diverse deployment scenarios. The risk of a deployment scenario depends on factors that include solution ownership, deployment geography, data sensitivity, privacy, application vertical, and regulatory requirements. Rather than offering concrete solutions for specific scenarios, IoT Edge is an extensible security framework based on well-grounded principles that are designed for scale.
18
-
19
26
This article provides an overview of the IoT Edge security framework. For more information, see [Securing the intelligent edge](https://azure.microsoft.com/blog/securing-the-intelligent-edge/).
20
27
21
28
## Standards
22
29
23
-
Standards promote ease of scrutiny and ease of implementation, both of which are hallmarks of security. A security solution should lend itself to scrutiny under evaluation to build trust and shouldn't be a hurdle to deployment. The design of the framework to secure Azure IoT Edge is based on time-tested and industry proven security protocols for familiarity and reuse.
30
+
Standards promote ease of scrutiny and ease of implementation, both of which are hallmarks of security. A security solution should lend itself to scrutiny under evaluation to build trust and shouldn't be a hurdle to deployment. The design of the framework to secure Azure IoT Edge is based on time-tested and industry proven security protocols for familiarity and reuse.
24
31
25
32
## Authentication
26
33
27
-
When you deploy an IoT solution, you need to know that only trusted actors, devices, and modules have access to your solution. Certificate-based authentication is the primary mechanism for authentication for the Azure IoT Edge platform. This mechanism is derived from a set of standards governing Public Key Infrastructure (PKiX) by the Internet Engineering Task Force (IETF).
34
+
When you deploy an IoT solution, you need to know that only trusted actors, devices, and modules have access to your solution. Certificate-based authentication is the primary mechanism for authentication for the Azure IoT Edge platform. This mechanism is derived from a set of standards governing Public Key Infrastructure (PKiX) by the Internet Engineering Task Force (IETF).
28
35
29
-
All devices, modules, and actors interacting with the Azure IoT Edge device, whether physically or through a network connection, should have unique certificate identities. Not every scenario or component may lend itself to certificate-based authentication, so the extensibility of the security framework offers secure alternatives.
36
+
All devices, modules, and actors that interact with the Azure IoT Edge device should have unique certificate identities. This guidance applies whether the interactions are physical or through a network connection. Not every scenario or component may lend itself to certificate-based authentication, so the extensibility of the security framework offers secure alternatives.
30
37
31
38
For more information, see [Azure IoT Edge certificate usage](iot-edge-certs.md).
32
39
33
40
## Authorization
34
41
35
42
The principle of least privilege says that users and components of a system should have access only to the minimum set of resources and data needed to perform their roles. Devices, modules, and actors should access only the resources and data within their permission scope, and only when it is architecturally allowable. Some permissions are configurable with sufficient privileges and others are architecturally enforced. For example, some modules may be authorized to connect to Azure IoT Hub. However, there is no reason why a module in one IoT Edge device should access the twin of a module in another IoT Edge device.
36
43
37
-
Other authorization schemes include certificate signing rights and role-based access control (RBAC).
44
+
Other authorization schemes include certificate signing rights and role-based access control (RBAC).
38
45
39
46
## Attestation
40
47
@@ -46,27 +53,27 @@ Attestation ensures the integrity of software bits, which is important for detec
46
53
47
54
### Static attestation
48
55
49
-
Static attestation verifies the integrity of all software on a device during power-up, including the operating system, all runtimes, and configuration information. Because static attestation occurs during power-up, it's often referred to as secure boot. The security framework for IoT Edge devices extends to manufacturers and incorporates secure hardware capabilities that assure static attestation processes. These processes include secure boot and secure firmware upgrade. Working in close collaboration with silicon vendors eliminates superfluous firmware layers, so minimizes the threat surface.
56
+
Static attestation verifies the integrity of all software on a device during power-up, including the operating system, all runtimes, and configuration information. Because static attestation occurs during power-up, it's often referred to as secure boot. The security framework for IoT Edge devices extends to manufacturers and incorporates secure hardware capabilities that assure static attestation processes. These processes include secure boot and secure firmware upgrade. Working in close collaboration with silicon vendors eliminates superfluous firmware layers, so minimizes the threat surface.
50
57
51
58
### Runtime attestation
52
59
53
60
Once a system has completed a secure boot process, well-designed systems should detect attempts to inject malware and take proper countermeasures. Malware attacks may target the system's ports and interfaces. If malicious actors have physical access to a device, they may tamper with the device itself or use side-channel attacks to gain access. Such malcontent, whether malware or unauthorized configuration changes, can't be detected by static attestation because it is injected after the boot process. Countermeasures offered or enforced by the device’s hardware help to ward off such threats. The security framework for IoT Edge explicitly calls for extensions that combat runtime threats.
54
61
55
62
### Software attestation
56
63
57
-
All healthy systems, including intelligent edge systems, need patches and upgrades. Security is important for update processes, otherwise they can be potential threat vectors. The security framework for IoT Edge calls for updates through measured and signed packages to assure the integrity of and authenticate the source of the packages. This standard applies to all operating systems and application software bits.
64
+
All healthy systems, including intelligent edge systems, need patches and upgrades. Security is important for update processes, otherwise they can be potential threat vectors. The security framework for IoT Edge calls for updates through measured and signed packages to assure the integrity of and authenticate the source of the packages. This standard applies to all operating systems and application software bits.
58
65
59
66
## Hardware root of trust
60
67
61
-
For many intelligent edge devices, especially devices that can be physically accessed by potential malicious actors, hardware security is the last defense for protection. Tamper resistant hardware is crucial for such deployments. Azure IoT Edge encourages secure silicon hardware vendors to offer different flavors of hardware root of trust to accommodate various risk profiles and deployment scenarios. Hardware trust may come from common security protocol standards like Trusted Platform Module (ISO/IEC 11889) and Trusted Computing Group’s Device Identifier Composition Engine (DICE). Secure enclave technologies like TrustZones and Software Guard Extensions (SGX) also provide hardware trust.
68
+
For many intelligent edge devices, especially devices that can be physically accessed by potential malicious actors, hardware security is the last defense for protection. Tamper resistant hardware is crucial for such deployments. Azure IoT Edge encourages secure silicon hardware vendors to offer different flavors of hardware root of trust to accommodate various risk profiles and deployment scenarios. Hardware trust may come from common security protocol standards like Trusted Platform Module (ISO/IEC 11889) and Trusted Computing Group’s Device Identifier Composition Engine (DICE). Secure enclave technologies like TrustZones and Software Guard Extensions (SGX) also provide hardware trust.
62
69
63
70
## Certification
64
71
65
-
To help customers make informed decisions when procuring Azure IoT Edge devices for their deployment, the IoT Edge framework includes certification requirements. Foundational to these requirements are certifications pertaining to security claims and certifications pertaining to validation of the security implementation. For example, a security claim certification means that the IoT Edge device uses secure hardware known to resist boot attacks. A validation certification means that the secure hardware was properly implemented to offer this value in the device. In keeping with the principle of simplicity, the framework tries to keep the burden of certification minimal.
72
+
To help customers make informed decisions when procuring Azure IoT Edge devices for their deployment, the IoT Edge framework includes certification requirements. Foundational to these requirements are certifications pertaining to security claims and certifications pertaining to validation of the security implementation. For example, a security claim certification means that the IoT Edge device uses secure hardware known to resist boot attacks. A validation certification means that the secure hardware was properly implemented to offer this value in the device. In keeping with the principle of simplicity, the framework tries to keep the burden of certification minimal.
66
73
67
74
## Extensibility
68
75
69
-
With IoT technology driving different types of business transformations, security should evolve in parallel to address emerging scenarios. The Azure IoT Edge security framework starts with a solid foundation on which it builds in extensibility into different dimensions to include:
76
+
With IoT technology driving different types of business transformations, security should evolve in parallel to address emerging scenarios. The Azure IoT Edge security framework starts with a solid foundation on which it builds in extensibility into different dimensions to include:
70
77
71
78
* First party security services like the Device Provisioning Service for Azure IoT Hub.
72
79
* Third-party services like managed security services for different application verticals (like industrial or healthcare) or technology focus (like security monitoring in mesh networks, or silicon hardware attestation services) through a rich network of partners.
Copy file name to clipboardExpand all lines: articles/iot-edge/support.md
+15-12Lines changed: 15 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ services: iot-edge
12
12
13
13
# Azure IoT Edge supported systems
14
14
15
-
This article provides details about which systems and components are supported by IoT Edge, whether officially or in preview.
15
+
This article provides details about which systems and components are supported by IoT Edge, whether officially or in preview.
16
16
17
17
If you experience problems while using the Azure IoT Edge service, there are several ways to seek support. Try one of the following channels for support:
18
18
@@ -29,18 +29,20 @@ Azure IoT Edge modules are implemented as containers, so IoT Edge needs a contai
29
29
<br>
30
30
<center>
31
31
32
-

32
+

33
33
</center>
34
34
35
35
## Operating systems
36
-
Azure IoT Edge runs on most operating systems that can run containers; however, all of these systems are not equally supported. Operating systems are grouped into tiers that represent the level of support users can expect.
36
+
37
+
Azure IoT Edge runs on most operating systems that can run containers; however, not all of these systems are equally supported. Operating systems are grouped into tiers that represent the level of support users can expect.
38
+
37
39
* Tier 1 systems are supported. For tier 1 systems, Microsoft:
38
-
* has this operating system in automated tests
39
-
* provides installation packages for them
40
+
* has this operating system in automated tests
41
+
* provides installation packages for them
40
42
* Tier 2 systems are compatible with Azure IoT Edge and can be used relatively easily. For tier 2 systems:
41
-
* Microsoft has done ad hoc testing on the platforms or knows of a partner successfully running Azure IoT Edge on the platform
42
-
* Installation packages for other platforms may work on these platforms
43
-
43
+
* Microsoft has done informal testing on the platforms or knows of a partner successfully running Azure IoT Edge on the platform
44
+
* Installation packages for other platforms may work on these platforms
45
+
44
46
The family of the host OS must always match the family of the guest OS used inside a module's container. In other words, you can only use Linux containers on Linux and Windows containers on Windows. When using Windows, only process isolated containers are supported, not Hyper-V isolated containers.
45
47
46
48
<br>
@@ -63,7 +65,6 @@ The systems listed in the following table are supported by Microsoft, either gen
63
65
|[Windows Server 2019](https://docs.microsoft.com/windows-server/get-started-19/rel-notes-19), build 17763 ||||
64
66
|[Windows Server IoT 2019](https://docs.microsoft.com/windows/iot-core/windows-server), build 17763 ||||
65
67
66
-
67
68
The Windows operating systems listed above are the requirements for devices that run Windows containers on Windows, which is the only supported configuration for production. The Azure IoT Edge installation packages for Windows allow the use of Linux containers on Windows; however, this configuration is for development and testing only. For more information, see [Use IoT Edge on Windows to run Linux containers](how-to-install-iot-edge-windows-with-linux.md).
68
69
69
70
### Tier 2
@@ -85,13 +86,14 @@ The systems listed in the following table are considered compatible with Azure I
<sup>1</sup> Debian 10 systems, including Raspian Buster, use a version of OpenSSL that IoT Edge doesn't support. Use the following command to install an earlier version before installing IoT Edge:
89
+
<sup>1</sup> Debian 10 systems, including Raspian Buster, use a version of OpenSSL that IoT Edge doesn't support. Use the following command to install an earlier version before installing IoT Edge:
89
90
90
91
```bash
91
92
sudo apt-get install libssl1.0.2
92
93
```
93
94
94
95
## Virtual Machines
96
+
95
97
Azure IoT Edge can be run in virtual machines. Using a virtual machine as an IoT Edge device is common when customers want to augment existing infrastructure with edge intelligence. The family of the host VM OS must match the family of the guest OS used inside a module's container. This requirement is the same as when Azure IoT Edge is run directly on a device. Azure IoT Edge is agnostic of the underlying virtualization technology and works in VMs powered by platforms like Hyper-V and vSphere.
96
98
97
99
<br>
@@ -101,13 +103,14 @@ Azure IoT Edge can be run in virtual machines. Using a virtual machine as an IoT
101
103
</center>
102
104
103
105
## Minimum system requirements
106
+
104
107
Azure IoT Edge runs great on devices as small as a Raspberry Pi3 to server grade hardware. Choosing the right hardware for your scenario depends on the workloads that you want to run. Making the final device decision can be complicated; however, you can easily start prototyping a solution on traditional laptops or desktops.
105
108
106
-
Experience while prototyping will help guide your final device selection. Questions you should consider include:
109
+
Experience while prototyping will help guide your final device selection. Questions you should consider include:
107
110
108
111
* How many modules are in your workload?
109
112
* How many layers do your modules’ containers share?
110
-
* In what language are your modules written?
113
+
* In what language are your modules written?
111
114
* How much data will your modules be processing?
112
115
* Do your modules need any specialized hardware for accelerating their workloads?
113
116
* What are the desired performance characteristics of your solution?
0 commit comments