Skip to content

Commit 14aa373

Browse files
committed
Acrolinx
1 parent 97465ab commit 14aa373

8 files changed

+51
-50
lines changed

articles/iot-dps/how-to-legacy-device-symm-key.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ If you can easily install a [hardware security module (HSM)](concepts-service.md
2121

2222
This tutorial also assumes that the device update takes place in a secure environment to prevent unauthorized access to the master group key or the derived device key.
2323

24-
This tutorial is oriented toward a Windows-based workstation. However, you can perform the procedures on Linux. For a Linux example, see [Tutorial: Provision for geolatency](how-to-provision-multitenant.md).
24+
This tutorial is oriented toward a Windows-based workstation. However, you can perform the procedures on Linux. For a Linux example, see [Tutorial: Provision for geo latency](how-to-provision-multitenant.md).
2525

2626
>[!NOTE]
2727
> If you've previously completed [Quickstart: Provision a simulated symmetric key device](quick-create-simulated-device-symm-key.md) and still have your Azure resources and development environment set up, you can proceed to [Create a symmetric key enrollment group](#create-a-symmetric-key-enrollment-group) in this tutorial.
@@ -211,7 +211,7 @@ In this section, you'll prepare a development environment that's used to build t
211211

212212
:::image type="content" source="./media/how-to-legacy-device-symm-key/add-symmetric-key-enrollment-group.png" alt-text="Screenshot that shows adding a symmetric key enrollment group to DPS.":::
213213

214-
1. Select **Save**. When you save the enrollment, IoT Hub generates the **Primary Key** and **Secondary Key** and adds them to the enrollment entry. Your symmetric key enrollment group appears as **mylegacydevices** under the *Group Name* column in the *Enrollment Groups* tab.
214+
1. Select **Save**. When you save the enrollment, IoT Hub generates a **Primary Key** and **Secondary Key**, then adds them to the enrollment entry. Your symmetric key enrollment group appears as **mylegacydevices** under the *Group Name* column in the *Enrollment Groups* tab.
215215

216216
1. Open the enrollment and copy the value of the **Primary Key**. This key is your master group key.
217217

articles/iot-dps/how-to-provision-multitenant.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Tutorial - Provision devices for geolatency in Azure IoT Hub Device Provisioning Service
2+
title: Tutorial - Provision devices for geo latency in Azure IoT Hub Device Provisioning Service
33
description: This tutorial shows how to provision devices for geolocation/geolatency with your Device Provisioning Service (DPS) instance
44
author: kgremban
55
ms.author: kgremban
@@ -9,11 +9,11 @@ ms.service: iot-dps
99
services: iot-dps
1010
---
1111

12-
# Tutorial: Provision for geolatency
12+
# Tutorial: Provision for geo latency
1313

14-
This tutorial shows how to securely provision multiple simulated symmetric key devices to a group of IoT Hubs using an [allocation policy](concepts-service.md#allocation-policy). IoT Hub Device Provisioning Service (DPS) supports a variety of allocation scenarios through its built-in allocation policies and its support for custom allocation policies.
14+
This tutorial shows how to securely provision multiple simulated symmetric key devices to a group of IoT Hubs using an [allocation policy](concepts-service.md#allocation-policy). IoT Hub Device Provisioning Service (DPS) supports various allocation scenarios through its built-in allocation policies and its support for custom allocation policies.
1515

16-
Provisioning for **Geolocation/ GeoLatency** is a common allocation scenario. As a device moves between locations, network latency is improved by having the device provisioned to the IoT hub that's closest to each location. In this scenario, a group of IoT hubs, which span across regions, are selected for enrollments. The built-in **Lowest latency** allocation policy is selected for these enrollments. This policy causes the Device Provisioning Service to evaluate device latency and determine the closet IoT hub out of the group of IoT hubs.
16+
Provisioning for *Geolocation/Geo latency* is a common allocation scenario. As a device moves between locations, network latency is improved by having the device provisioned to the IoT hub that's closest to each location. In this scenario, a group of IoT hubs, which span across regions, are selected for enrollments. The built-in **Lowest latency** allocation policy is selected for these enrollments. This policy causes the Device Provisioning Service to evaluate device latency and determine the closet IoT hub out of the group of IoT hubs.
1717

1818
This tutorial uses a simulated device sample from the [Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c) to demonstrate how to provision devices across regions. You'll perform the following steps in this tutorial:
1919

@@ -64,9 +64,9 @@ In this section, you'll create an Azure resource group, and two new regional IoT
6464
6565
This command may take a few minutes to complete.
6666
67-
## Create an enrollment for geolatency
67+
## Create an enrollment for geo latency
6868
69-
In this section, you'll create a new enrollment group for the your devices.
69+
In this section, you'll create a new enrollment group for your devices.
7070
7171
For simplicity, this tutorial uses [Symmetric key attestation](concepts-symmetric-key-attestation.md) with the enrollment. For a more secure solution, consider using [X.509 certificate attestation](concepts-x509-attestation.md) with a chain of trust.
7272
@@ -252,7 +252,7 @@ For each VM:
252252
253253
When using symmetric key attestation with group enrollments, you don't use the enrollment group keys directly. Instead, you derive a unique key from the enrollment group key for each device. For more information, see [Group Enrollments with symmetric keys](concepts-symmetric-key-attestation.md#group-enrollments).
254254
255-
In this part of the tutorial, you'll generate a device key from the you group master key to compute an [HMAC-SHA256](https://wikipedia.org/wiki/HMAC) of the unique registration ID for the device. The result will then be converted into Base64 format.
255+
In this part of the tutorial, you'll generate a device key from the group master key to compute an [HMAC-SHA256](https://wikipedia.org/wiki/HMAC) of the unique registration ID for the device. The result will then be converted into Base64 format.
256256
257257
>[!IMPORTANT]
258258
>Don't include your group master key in your device code.
@@ -317,7 +317,7 @@ The sample code simulates a device boot sequence that sends the provisioning req
317317
//prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
318318
```
319319
320-
Uncomment the function calls, and replace the placeholder values (including the angle brackets) with the unique registration IDs and derived device keys for each device that you derived in the previous section. The keys shown below are for example purposes only. Use the keys you generated earlier.
320+
Uncomment the function calls, and replace the placeholder values (including the angle brackets) with the unique registration IDs and derived device keys for each device that you derived in the previous section. The keys shown below are examples. Use the keys you generated earlier.
321321
322322
East US:
323323
```c

articles/iot-dps/quick-create-simulated-device-tpm.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ In this section, you'll prepare a development environment used to build the [Azu
157157

158158
## Build and run the TPM device simulator
159159

160-
In this section, you'll build and run the TPM simulator. This simulator listens over a socket on ports 2321 and 2322. Do not close the command window. You'll need to keep this simulator running until the end of this quickstart.
160+
In this section, you'll build and run the TPM simulator. This simulator listens over a socket on ports 2321 and 2322. Don't close the command window. You'll need to keep this simulator running until the end of this quickstart.
161161
162162
::: zone-end
163163
@@ -299,7 +299,7 @@ In this section, you'll build and run the TPM simulator. This simulator listens
299299
300300
1. Run the [TPM](/windows/device-security/tpm/trusted-platform-module-overview) simulator to be the [HSM](https://azure.microsoft.com/blog/azure-iot-supports-new-security-hardware-to-strengthen-iot-security/) for the simulated device.
301301
302-
2. Select **Allow Access**. The simulator listens over a socket on ports 2321 and 2322. Do not close this command window; you will need to keep this simulator running until the end of this quickstart guide.
302+
2. Select **Allow Access**. The simulator listens over a socket on ports 2321 and 2322. Don't close this command window; you need to keep this simulator running until the end of this quickstart guide.
303303
304304
```cmd/sh
305305
.\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
@@ -449,7 +449,7 @@ In this section, you'll build and execute a sample that reads the endorsement ke
449449
450450
* Select **TPM** as the identity attestation *Mechanism*.
451451
* Enter the *Endorsement key* you retrieved earlier from your HSM.
452-
* Enter a unique *Registration ID* for your device. You will also use this registration ID when registering your device, so make a note of it for later.
452+
* Enter a unique *Registration ID* for your device. You'll also use this registration ID when registering your device, so make a note of it for later.
453453
* Select an IoT hub linked with your provisioning service.
454454
* Optionally, you may provide the following information:
455455
* Enter a unique *Device ID* (you can use the suggested **test-docs-device** or provide your own). Make sure to avoid sensitive data while naming your device. If you choose not to provide one, the registration ID will be used to identify the device instead.
@@ -481,7 +481,7 @@ In this section, you'll configure sample code to use the [Advanced Message Queui
481481
482482
4. Near the top of the file, find the `#define` statements for each device protocol as shown below. Make sure only `SAMPLE_AMQP` is uncommented.
483483
484-
Currently, the [MQTT protocol is not supported for TPM Individual Enrollment](https://github.com/Azure/azure-iot-sdk-c#provisioning-client-sdk).
484+
Currently, the [MQTT protocol isn't supported for TPM Individual Enrollment](https://github.com/Azure/azure-iot-sdk-c#provisioning-client-sdk).
485485
486486
```c
487487
//
@@ -544,7 +544,7 @@ In this section, you'll configure sample code to use the [Advanced Message Queui
544544
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\How To\TpmSample\'
545545
```
546546
547-
4. Run the following command to register your device. Replace `<IdScope>` with the value for the DPS you just copied and `<RegistrationId>` with the value you used when creating the device enrollment.
547+
4. Run the following command to register your device. Replace `<IdScope>` with the value for the DPS you copied and `<RegistrationId>` with the value you used when creating the device enrollment.
548548
549549
```cmd
550550
dotnet run -- -s <IdScope> -r <RegistrationId>

articles/iot-dps/quick-setup-auto-provision-bicep.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Save a copy of the Bicep file locally as **main.bicep**.
4747

4848
Sign in to your Azure account and select your subscription.
4949

50-
1. To log in Azure at the command prompt:
50+
1. Sign in to Azure at the command prompt:
5151

5252
# [CLI](#tab/CLI)
5353

@@ -167,9 +167,9 @@ Sign in to your Azure account and select your subscription.
167167
168168
## Clean up resources
169169
170-
Other quickstarts in this collection build upon this quickstart. If you plan to continue on to work with subsequent quickstarts or with the tutorials, do not clean up the resources created in this quickstart. If you do not plan to continue, you can use the Azure PowerShell or Azure CLI to delete the resource group and all of its resources.
170+
Other quickstarts in this collection build upon this quickstart. If you plan to continue on to work with subsequent quickstarts or with the tutorials, don't clean up the resources created in this quickstart. If you don't plan to continue, you can use Azure PowerShell or Azure CLI to delete the resource group and all of its resources.
171171
172-
To delete a resource group and all its resources from the Azure portal, just open the resource group and click **Delete resource group** and the top.
172+
To delete a resource group and all its resources from the Azure portal, just open the resource group and select **Delete resource group** and the top.
173173
174174
To delete the resource group deployed:
175175
@@ -186,7 +186,7 @@ Remove-AzResourceGroup -name exampleRG
186186
```
187187

188188
---
189-
You can also delete resource groups and individual resources using the Azure portal, PowerShell, or REST APIs, as well as with supported platform SDKs published for Azure Resource Manager or IoT Hub Device Provisioning Service.
189+
You can also delete resource groups and individual resources using the Azure portal, PowerShell, or REST APIs, or with supported platform SDKs.
190190

191191
## Next steps
192192

articles/iot-dps/quick-setup-auto-provision-cli.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ az iot hub create --name my-sample-hub --resource-group my-sample-resource-group
5151

5252
Create a Device Provisioning Service with the [az iot dps create](/cli/azure/iot/dps#az-iot-dps-create) command.
5353

54-
The following example creates a provisioning service named *my-sample-dps* in the *westus* location. You will also need to choose a globally unique name for your own provisioning service. Make sure it follows proper naming conventions for an IoT Hub Device Provisioning Service: it should be 3-64 characters in length and can contain only upper or lower case alphanumeric characters or hyphens ('-').
54+
The following example creates a provisioning service named *my-sample-dps* in the *westus* location. You'll also choose a globally unique name for your own provisioning service. Make sure it follows proper naming conventions for an IoT Hub Device Provisioning Service: it should be 3-64 characters in length and can contain only upper or lower case alphanumeric characters or hyphens ('-').
5555

5656
```azurecli-interactive
5757
az iot dps create --name my-sample-dps --resource-group my-sample-resource-group --location westus
@@ -64,17 +64,17 @@ az iot dps create --name my-sample-dps --resource-group my-sample-resource-group
6464
6565
## Get the connection string for the IoT hub
6666

67-
You need your IoT hub's connection string to link it with the Device Provisioning Service. Use the [az iot hub show-connection-string](/cli/azure/iot/hub#az-iot-hub-show-connection-string) command to get the connection string and use its output to set a variable that you will use when you link the two resources.
67+
You need your IoT hub's connection string to link it with the Device Provisioning Service. Use the [az iot hub show-connection-string](/cli/azure/iot/hub#az-iot-hub-show-connection-string) command to get the connection string and use its output to set a variable that you'll use when you link the two resources.
6868

6969
The following example sets the *hubConnectionString* variable to the value of the connection string for the primary key of the hub's *iothubowner* policy (the `--policy-name` parameter can be used to specify a different policy). Trade out *my-sample-hub* for the unique IoT hub name you chose earlier. The command uses the Azure CLI [query](/cli/azure/query-azure-cli) and [output](/cli/azure/format-output-azure-cli#tsv-output-format) options to extract the connection string from the command output.
7070

71-
```azurecli-interactive
71+
```azurecli-interactive
7272
hubConnectionString=$(az iot hub show-connection-string --name my-sample-hub --key primary --query connectionString -o tsv)
7373
```
7474

7575
You can use the `echo` command to see the connection string.
7676

77-
```azurecli-interactive
77+
```azurecli-interactive
7878
echo $hubConnectionString
7979
```
8080

@@ -88,7 +88,7 @@ echo $hubConnectionString
8888
8989
## Link the IoT hub and the provisioning service
9090

91-
Link the IoT hub and your provisioning service with the [az iot dps linked-hub create](/cli/azure/iot/dps/linked-hub#az-iot-dps-linked-hub-create) command.
91+
Link the IoT hub and your provisioning service with the [az iot dps linked-hub create](/cli/azure/iot/dps/linked-hub#az-iot-dps-linked-hub-create) command.
9292

9393
The following example links an IoT hub named *my-sample-hub* in the *westus* location and a Device Provisioning Service named *my-sample-dps*. Trade out these names for the unique IoT hub and Device Provisioning Service names you chose earlier. The command uses the connection string for your IoT hub that was stored in the *hubConnectionString* variable in the previous step.
9494

@@ -107,13 +107,14 @@ The following example gets the details of a provisioning service named *my-sampl
107107
```azurecli-interactive
108108
az iot dps show --name my-sample-dps
109109
```
110+
110111
The linked IoT hub is shown in the *properties.iotHubs* collection.
111112

112113
![Verify Provisioning Service](./media/quick-setup-auto-provision-cli/verify-provisioning-service.png)
113114

114115
## Clean up resources
115116

116-
Other quickstarts in this collection build upon this quickstart. If you plan to continue on to work with subsequent quickstarts or with the tutorials, do not clean up the resources created in this quickstart. If you do not plan to continue, you can use the following commands to delete the provisioning service, the IoT hub or the resource group and all of its resources. Replace the names of the resources written below with the names of your own resources.
117+
Other quickstarts in this collection build upon this quickstart. If you plan to continue on to work with subsequent quickstarts or with the tutorials, don't clean up the resources created in this quickstart. If you don't plan to continue, you can use the following commands to delete the provisioning service, the IoT hub or the resource group and all of its resources. Replace the names of the resources written below with the names of your own resources.
117118

118119
To delete the provisioning service, run the [az iot dps delete](/cli/azure/iot/dps#az-iot-dps-delete) command:
119120

0 commit comments

Comments
 (0)