Skip to content

Commit 10a29d8

Browse files
committed
Regional availability for DPS Private Links
1 parent 8eebbd4 commit 10a29d8

File tree

3 files changed

+49
-51
lines changed

3 files changed

+49
-51
lines changed

articles/iot-dps/public-network-access.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ To turn on public network access:
3535

3636
Note the following limitations when public network access is disabled:
3737

38-
- The DPS instance is accessible only through [its VNET private endpoint using Azure private link](virtual-network-support.md).
38+
- The DPS instance is accessible only through [its VNET private endpoint using Azure Private Link](virtual-network-support.md).
3939

4040
- You can no longer use the Azure portal to manage enrollments for the DPS instance. Instead you can manage enrollments using the Azure CLI, PowerShell, or service APIs from machines inside the virtual network(s) configured on the DPS instance. To learn more, see [Private endpoint limitations](virtual-network-support.md#private-endpoint-limitations).
4141

4242
## DPS endpoint, IP address, and ports after disabling public network access
4343

44-
DPS is a multi-tenant Platform-as-a-Service (PaaS), where different customers share the same pool of compute, networking, and storage hardware resources. DPS's hostnames map to a public endpoint with a publicly routable IP address over the internet. Different customers share this DPS public endpoint, and IoT devices in wide-area networks and on-premises networks can all access it.
44+
DPS is a multi-tenant Platform-as-a-Service (PaaS), where different customers share the same pool of compute, networking, and storage hardware resources. DPS's hostnames map to a public endpoint with a publicly routable IP address over the internet. Different customers share this DPS public endpoint, and IoT devices in wide-area networks and on-premises networks can all access it.
4545

4646
Disabling public network access is enforced on a specific DPS resource, ensuring isolation. To keep the service active for other customer resources using the public path, its public endpoint remains resolvable, IP addresses discoverable, and ports remain open. This is not a cause for concern as Microsoft integrates multiple layers of security to ensure complete isolation between tenants. To learn more, see [Isolation in the Azure Public Cloud](../security/fundamentals/isolation-choices.md#tenant-level-isolation).
4747

articles/iot-dps/virtual-network-support.md

Lines changed: 46 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
---
2-
title: Azure IoT Device Provisioning Service (DPS) support for virtual networks
3-
description: How to use virtual networks connectivity pattern with Azure IoT Device Provisioning Service (DPS)
4-
services: iot-dps
5-
author: kgremban
6-
ms.service: iot-dps
7-
manager: lizross
8-
ms.topic: conceptual
9-
ms.date: 03/21/2022
10-
ms.author: kgremban
2+
title: Virtual network connections for DPS
3+
titleSuffix: Azure IoT Device Provisioning Service
4+
description: How to use the virtual networks connectivity pattern with Azure IoT Device Provisioning Service (DPS)
5+
services: iot-dps
6+
author: kgremban
7+
ms.service: iot-dps
8+
manager: lizross
9+
ms.topic: conceptual
10+
ms.date: 03/21/2022
11+
ms.author: kgremban
1112
---
1213

1314
# Azure IoT Hub Device Provisioning Service (DPS) support for virtual networks
1415

15-
This article introduces the virtual network (VNET) connectivity pattern for IoT devices provisioning with IoT hubs using DPS. This pattern provides private connectivity between the devices, DPS, and the IoT hub inside a customer-owned Azure VNET.
16+
This article introduces the virtual network (VNET) connectivity pattern for IoT devices provisioning with IoT hubs using DPS. This pattern provides private connectivity between the devices, DPS, and the IoT hub inside a customer-owned Azure VNET.
1617

17-
In most scenarios where DPS is configured with a VNET, your IoT Hub will also be configured in the same VNET. For more specific information on VNET support and configuration for IoT Hubs, see, [IoT Hub virtual network support](../iot-hub/virtual-network-support.md).
18+
In most scenarios where DPS is configured with a VNET, your IoT Hub is also configured in the same VNET. For more specific information on VNET support and configuration for IoT Hubs, see, [IoT Hub virtual network support](../iot-hub/virtual-network-support.md).
1819

1920
## Introduction
2021

21-
By default, DPS hostnames map to a public endpoint with a publicly routable IP address over the Internet. This public endpoint is visible to all customers. Access to the public endpoint can be attempted by IoT devices over wide-area networks and on-premises networks.
22+
By default, DPS hostnames map to a public endpoint with a publicly routable IP address over the Internet. This public endpoint is visible to all customers. IoT devices over wide-area networks and on-premises networks can try to access the public endpoint.
2223

2324
For several reasons, customers may wish to restrict connectivity to Azure resources, like DPS. These reasons include:
2425

2526
* Prevent connection exposure over the public Internet. Exposure can be reduced by introducing more layers of security via network level isolation for your IoT hub and DPS resources
2627

27-
* Enabling a private connectivity experience from your on-premises network assets ensuring that your data and traffic
28-
is transmitted directly to Azure backbone network.
28+
* Enabling a private connectivity experience from your on-premises network assets ensuring that your data and traffic is transmitted directly to Azure backbone network.
2929

3030
* Preventing exfiltration attacks from sensitive on-premises networks.
3131

3232
* Following established Azure-wide connectivity patterns using [private endpoints](../private-link/private-endpoint-overview.md).
3333

34-
Common approaches to restricting connectivity include [DPS IP filter rules](./iot-dps-ip-filtering.md) and Virtual networking (VNET) with [private endpoints](../private-link/private-endpoint-overview.md). The goal of this article is to describe the VNET approach for DPS using private endpoints.
34+
Common approaches to restricting connectivity include [DPS IP filter rules](./iot-dps-ip-filtering.md) and Virtual networking (VNET) with [private endpoints](../private-link/private-endpoint-overview.md). The goal of this article is to describe the VNET approach for DPS using private endpoints.
3535

36-
Devices that operate in on-premises networks can use [Virtual Private Network (VPN)](../vpn-gateway/vpn-gateway-about-vpngateways.md) or [ExpressRoute](https://azure.microsoft.com/services/expressroute/) private peering to connect to a VNET in Azure and access DPS resources through private endpoints.
36+
Devices that operate in on-premises networks can use [Virtual Private Network (VPN)](../vpn-gateway/vpn-gateway-about-vpngateways.md) or [ExpressRoute](https://azure.microsoft.com/services/expressroute/) private peering to connect to a VNET in Azure and access DPS resources through private endpoints.
3737

38-
A private endpoint is a private IP address allocated inside a customer-owned VNET by which an Azure resource is accessible. By having a private endpoint for your DPS resource, you will be able to allow devices operating inside your VNET to request provisioning by your DPS resource without allowing traffic to the public endpoint. Each DPS resource can support multiple private endpoints, each of which may be located in a VNET in a different region.
38+
A private endpoint is a private IP address allocated inside a customer-owned VNET by which an Azure resource is accessible. By having a private endpoint for your DPS resource, you can allow devices operating inside your VNET to request provisioning by your DPS resource without allowing traffic to the public endpoint. Each DPS resource can support multiple private endpoints, each of which may be located in a VNET in a different region.
3939

4040
## Prerequisites
4141

@@ -51,15 +51,17 @@ Before proceeding ensure that the following prerequisites are met:
5151

5252
Note the following current limitations for DPS when using private endpoints:
5353

54-
* Private endpoints will not work with DPS when the DPS resource and the linked Hub are in different clouds. For example, [Azure Government and global Azure](../azure-government/documentation-government-welcome.md).
54+
* Private endpoints don't work when the DPS resource and the linked IoT hub are in different clouds. For example, [Azure Government and global Azure](../azure-government/documentation-government-welcome.md).
5555

56-
* Currently, [custom allocation policies with Azure Functions](concepts-custom-allocation.md) for DPS will not work when the Azure function is locked down to a VNET and private endpoints.
56+
* Private endpoints in DPS use Azure Private Link, which are only supported in public regions. For more information, see [Azure Private Link availability](../private-link/availability.md).
5757

58-
* Current DPS VNET support is for data ingress into DPS only. Data egress, which is the traffic from DPS to IoT Hub, uses an internal service-to-service mechanism rather than a dedicated VNET. Support for full VNET-based egress lockdown between DPS and IoT Hub is not currently available.
58+
* Currently, [custom allocation policies with Azure Functions](concepts-custom-allocation.md) for DPS doesn't work when the Azure function is locked down to a VNET and private endpoints.
59+
60+
* Current DPS VNET support is for data ingress into DPS only. Data egress, which is the traffic from DPS to IoT Hub, uses an internal service-to-service mechanism rather than a dedicated VNET. Support for full VNET-based egress lockdown between DPS and IoT Hub isn't currently available.
5961

6062
* The lowest latency allocation policy is used to assign a device to the IoT hub with the lowest latency. This allocation policy is not reliable in a virtual network environment.
6163

62-
* Enabling one or more private endpoints typically involves [disabling public access](public-network-access.md) to your DPS instance. This means that you can no longer use the Azure portal to manage enrollments. Instead you can manage enrollments using the Azure CLI, PowerShell, or service APIs from machines inside the VNET(s)/private endpoint(s) configured on the DPS instance.
64+
* Enabling one or more private endpoints typically involves [disabling public access](public-network-access.md) to your DPS instance. Once public access is disabled, you can no longer use the Azure portal to manage enrollments. Instead you can manage enrollments using the Azure CLI, PowerShell, or service APIs from machines inside the VNET(s)/private endpoint(s) configured on the DPS instance.
6365

6466
* When using private endpoints, we recommend deploying DPS in one of the regions that support [Availability Zones](iot-dps-ha-dr.md). Otherwise, DPS instances with private endpoints enabled may see reduced availability in the event of outages.
6567

@@ -72,47 +74,46 @@ Note the following current limitations for DPS when using private endpoints:
7274

7375
To set up a private endpoint, follow these steps:
7476

75-
1. In the [Azure portal](https://portal.azure.com/), open your DPS resource and click the **Networking** tab. Click **Private endpoint connections** and **+ Private endpoint**.
77+
1. In the [Azure portal](https://portal.azure.com/), open your DPS resource and select the **Networking** tab. Select **Private endpoint connections** and **+ Private endpoint**.
7678

77-
![Add a new private endpoint for DPS](./media/virtual-network-support/networking-tab-add-private-endpoint.png)
79+
![Screenshot that shows adding a new private endpoint for DPS.](./media/virtual-network-support/networking-tab-add-private-endpoint.png)
7880

79-
2. On the _Create a private endpoint_ Basics page, enter the information mentioned in the table below.
81+
2. On the _Create a private endpoint_ Basics page, enter the information mentioned in the following table.
8082

81-
![Create private endpoints basics](./media/virtual-network-support/create-private-endpoint-basics.png)
83+
![Screenshot that shows the private endpoints basics page.](./media/virtual-network-support/create-private-endpoint-basics.png)
8284

8385
| Field | Value |
8486
| :---- | :-----|
8587
| **Subscription** | Choose the desired Azure subscription to contain the private endpoint. |
8688
| **Resource group** | Choose or create a resource group to contain the private endpoint |
8789
| **Name** | Enter a name for your private endpoint |
88-
| **Region** | The region chosen must be the same as the region that contains the VNET, but it does not have to be the same as the DPS resource. |
90+
| **Region** | The region chosen must be the same as the region that contains the VNET, but it doesn't have to be the same as the DPS resource. |
8991

90-
Click **Next : Resource** to configure the resource that the private endpoint will point to.
92+
Select **Next : Resource** to configure the resource that the private endpoint points to.
9193

92-
3. On the _Create a private endpoint Resource_ page, enter the information mentioned in the table below.
94+
3. On the _Create a private endpoint Resource_ page, enter the information mentioned in the following table.
9395

94-
![Create private endpoint resource](./media/virtual-network-support/create-private-endpoint-resource.png)
96+
![Screenshot that shows the private endpoint resource page.](./media/virtual-network-support/create-private-endpoint-resource.png)
9597

9698
| Field | Value |
9799
| :---- | :-----|
98-
| **Subscription** | Choose the Azure subscription that contains the DPS resource that your private endpoint will point to. |
100+
| **Subscription** | Choose the Azure subscription that contains the DPS resource that your private endpoint points to. |
99101
| **Resource type** | Choose **Microsoft.Devices/ProvisioningServices**. |
100-
| **Resource** | Select the DPS resource that the private endpoint will map to. |
102+
| **Resource** | Select the DPS resource that the private endpoint maps to. |
101103
| **Target sub-resource** | Select **iotDps**. |
102104

103105
> [!TIP]
104106
> Information on the **Connect to an Azure resource by resource ID or alias** setting is provided in the [Request a private endpoint](#request-a-private-endpoint) section in this article.
105107
106-
107-
Click **Next : Configuration** to configure the VNET for the private endpoint.
108+
Select **Next : Configuration** to configure the VNET for the private endpoint.
108109

109110
4. On the _Create a private endpoint Configuration_ page, choose your virtual network and subnet to create the private endpoint in.
110111

111-
Click **Next : Tags**, and optionally provide any tags for your resource.
112+
Select **Next : Tags**, and optionally provide any tags for your resource.
112113

113-
![Configure private endpoint](./media/virtual-network-support/create-private-endpoint-configuration.png)
114+
![Screenshot that shows the private endpoint configuration page.](./media/virtual-network-support/create-private-endpoint-configuration.png)
114115

115-
5. Click **Review + create** and then **Create** to create your private endpoint resource.
116+
5. Select **Review + create** and then **Create** to create your private endpoint resource.
116117

117118
## Use private endpoints with devices
118119

@@ -145,45 +146,41 @@ static const char* id_scope = "[ID Scope]";
145146
}
146147
```
147148
148-
149149
## Request a private endpoint
150150
151-
You can request a private endpoint to a DPS instance by resource ID. In order to make this request, you need the resource owner to supply you with the resource ID.
151+
You can request a private endpoint to a DPS instance by resource ID. In order to make this request, you need the resource owner to supply you with the resource ID.
152152
153153
1. The resource ID is provided on to the properties tab for DPS resource as shown below.
154154
155-
![DPS Properties tab](./media/virtual-network-support/dps-properties.png)
155+
![Screenshot that shows the DPS Properties tab.](./media/virtual-network-support/dps-properties.png)
156156
157157
> [!CAUTION]
158-
> Be aware that the resource ID does contain the subscription ID.
158+
> Be aware that the resource ID does contain the subscription ID.
159159
160-
2. Once you have the resource ID, follow the steps above in [Set up a private endpoint](#set-up-a-private-endpoint) to step 3 on the _Create a private endpoint Resource_ page. Click **Connect to an Azure resource by resource ID or alias** and enter the information in the following table.
160+
2. Once you have the resource ID, follow the steps above in [Set up a private endpoint](#set-up-a-private-endpoint) to step 3 on the _Create a private endpoint Resource_ page. Select **Connect to an Azure resource by resource ID or alias** and enter the information in the following table.
161161
162162
| Field | Value |
163163
| :---- | :-----|
164164
| **Resource ID or alias** | Enter the resource ID for the DPS resource. |
165165
| **Target sub-resource** | Enter **iotDps** |
166166
| **Request message** | Enter a request message for the DPS resource owner.<br>For example, <br>`Please approve this new private endpoint`<br>`for IoT devices in site 23 to access this DPS instance` |
167167
168-
Click **Next : Configuration** to configure the VNET for the private endpoint.
168+
Select **Next : Configuration** to configure the VNET for the private endpoint.
169169
170170
3. On the _Create a private endpoint Configuration_ page, choose the virtual network and subnet to create the private endpoint in.
171-
172-
Click **Next : Tags**, and optionally provide any tags for your resource.
173171
174-
4. Click **Review + create** and then **Create** to create your private endpoint request.
172+
Select **Next : Tags**, and optionally provide any tags for your resource.
175173
176-
5. The DPS owner will see the private endpoint request in the **Private endpoint connections** list on DPS networking tab. On that page, the owner can **Approve** or **Reject** the private endpoint request as shown below.
174+
4. Select **Review + create** and then **Create** to create your private endpoint request.
177175
178-
![DPS approval](./media/virtual-network-support/approve-dps-private-endpoint.png)
176+
5. The DPS owner sees the private endpoint request in the **Private endpoint connections** list on DPS networking tab. On that page, the owner can **Approve** or **Reject** the private endpoint request.
179177
178+
![Screenshot that shows the private endpoint request approval.](./media/virtual-network-support/approve-dps-private-endpoint.png)
180179
181180
## Pricing private endpoints
182181
183182
For pricing details, see [Azure Private Link pricing](https://azure.microsoft.com/pricing/details/private-link).
184183
185-
186-
187184
## Next steps
188185
189186
Use the links below to learn more about DPS security features:

articles/private-link/availability.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ The following tables list the Private Link services and the regions where they'r
8282
|Supported services |Available regions | Other considerations | Status |
8383
|:-------------------|:-----------------|:----------------|:--------|
8484
| Azure IoT Hub | All public regions | | GA <br/> [Learn how to create a private endpoint for Azure IoT Hub.](../iot-hub/virtual-network-support.md) |
85+
| Azure IoT Device Provisioning Service | All public regions | | GA <br/> [Learn how to create a private endpoint for Azure IoT Device Provisioning Service.](../iot-dps/virtual-network-support.md) |
8586
| Azure Digital Twins | All public regions supported by Azure Digital Twins | | Preview <br/> [Learn how to create a private endpoint for Azure Digital Twins.](../api-management/private-endpoint.md) |
8687

8788
### Management and Governance

0 commit comments

Comments
 (0)