Skip to content

Commit 091a98a

Browse files
authored
Merge pull request #102194 from kgremban/jan23-bulkformatting
bulk formatting and acrolinx updates
2 parents 7d93d39 + a3e7251 commit 091a98a

File tree

8 files changed

+223
-218
lines changed

8 files changed

+223
-218
lines changed

articles/iot-edge/quickstart.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.custom: mvc
1414

1515
# Quickstart: Deploy your first IoT Edge module to a virtual Windows device
1616

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.
1818

1919
In this quickstart you learn how to:
2020

@@ -46,7 +46,7 @@ Cloud resources:
4646
* A resource group to manage all the resources you use in this quickstart.
4747

4848
```azurecli-interactive
49-
az group create --name IoTEdgeResources --location westus2
49+
az group create --name IoTEdgeResources --location westus2
5050
```
5151

5252
IoT Edge device:
@@ -154,7 +154,7 @@ Use PowerShell to download and install the IoT Edge runtime. Use the device conn
154154

155155
5. Run PowerShell as an administrator again.
156156

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.
158158

159159
```powershell
160160
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
@@ -241,7 +241,7 @@ az group delete --name IoTEdgeResources
241241

242242
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.
243243

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.
245245

246246
> [!div class="nextstepaction"]
247247
> [Start developing IoT Edge modules for Windows devices](tutorial-develop-for-windows.md)

articles/iot-edge/security.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,36 @@ services: iot-edge
1212

1313
# Security standards for Azure IoT Edge
1414

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
1625

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-
1926
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/).
2027

2128
## Standards
2229

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.
2431

2532
## Authentication
2633

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).
2835

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.
3037

3138
For more information, see [Azure IoT Edge certificate usage](iot-edge-certs.md).
3239

3340
## Authorization
3441

3542
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.
3643

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).
3845

3946
## Attestation
4047

@@ -46,27 +53,27 @@ Attestation ensures the integrity of software bits, which is important for detec
4653

4754
### Static attestation
4855

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.
5057

5158
### Runtime attestation
5259

5360
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.
5461

5562
### Software attestation
5663

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.
5865

5966
## Hardware root of trust
6067

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.
6269

6370
## Certification
6471

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.
6673

6774
## Extensibility
6875

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:
7077

7178
* First party security services like the Device Provisioning Service for Azure IoT Hub.
7279
* 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.

articles/iot-edge/support.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ services: iot-edge
1212

1313
# Azure IoT Edge supported systems
1414

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.
1616

1717
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:
1818

@@ -29,18 +29,20 @@ Azure IoT Edge modules are implemented as containers, so IoT Edge needs a contai
2929
<br>
3030
<center>
3131

32-
![Moby as container runtime](./media/support/only-moby-for-production.png)
32+
![The Moby engine as container runtime](./media/support/only-moby-for-production.png)
3333
</center>
3434

3535
## 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+
3739
* 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
4042
* 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+
4446
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.
4547

4648
<br>
@@ -63,7 +65,6 @@ The systems listed in the following table are supported by Microsoft, either gen
6365
| [Windows Server 2019](https://docs.microsoft.com/windows-server/get-started-19/rel-notes-19), build 17763 | ![Windows Server 2019 + AMD64](./media/tutorial-c-module/green-check.png) | | |
6466
| [Windows Server IoT 2019](https://docs.microsoft.com/windows/iot-core/windows-server), build 17763 | ![Windows Server IoT 2019 + AMD64](./media/tutorial-c-module/green-check.png) | | |
6567

66-
6768
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).
6869

6970
### Tier 2
@@ -85,13 +86,14 @@ The systems listed in the following table are considered compatible with Azure I
8586
| [Yocto](https://www.yoctoproject.org/) | ![Yocto + AMD64](./media/tutorial-c-module/green-check.png) | ![Yocto + ARM32v7](./media/tutorial-c-module/green-check.png) | ![Yocto + ARM64](./media/tutorial-c-module/green-check.png) |
8687
| Raspbian Buster <sup>1</sup> | | ![Raspbian Buster + ARM32v7](./media/tutorial-c-module/green-check.png) | ![Raspbian Buster + ARM64](./media/tutorial-c-module/green-check.png) |
8788

88-
<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:
8990

9091
```bash
9192
sudo apt-get install libssl1.0.2
9293
```
9394

9495
## Virtual Machines
96+
9597
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.
9698

9799
<br>
@@ -101,13 +103,14 @@ Azure IoT Edge can be run in virtual machines. Using a virtual machine as an IoT
101103
</center>
102104

103105
## Minimum system requirements
106+
104107
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.
105108

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:
107110

108111
* How many modules are in your workload?
109112
* How many layers do your modules’ containers share?
110-
* In what language are your modules written?
113+
* In what language are your modules written?
111114
* How much data will your modules be processing?
112115
* Do your modules need any specialized hardware for accelerating their workloads?
113116
* What are the desired performance characteristics of your solution?

0 commit comments

Comments
 (0)