Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 92529eb

Browse files
committedApr 26, 2022
feedback
1 parent 857132e commit 92529eb

File tree

5 files changed

+23
-22
lines changed

5 files changed

+23
-22
lines changed
 

‎articles/machine-learning/concept-endpoints.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Traffic allocation can be used to do safe rollout blue/green deployments by bala
8888

8989
:::image type="content" source="media/concept-endpoints/endpoint-concept.png" alt-text="Diagram showing an endpoint splitting traffic to two deployments":::
9090

91-
Traffic to one deployment can also be mirrored (copied) to another deployment. Mirroring is useful when you want to test for things like response latency or error conditions without impacting live clients. For example, a blue/green deployment where 100% of the traffic is routed to blue and a 5% is mirrored to green. With mirroring, the results of the traffic to the green deployment aren't returned to the clients but metrics and logs are collected. Mirror traffic functionality is a __preview__ feature.
91+
Traffic to one deployment can also be mirrored (copied) to another deployment. Mirroring is useful when you want to test for things like response latency or error conditions without impacting live clients. For example, a blue/green deployment where 100% of the traffic is routed to blue and a 10% is mirrored to green. With mirroring, the results of the traffic to the green deployment aren't returned to the clients but metrics and logs are collected. Mirror traffic functionality is a __preview__ feature.
9292

9393
:::image type="content" source="media/concept-endpoints/endpoint-concept-mirror.png" alt-text="Diagram showing an endpoint mirroring traffic to a deployment":::
9494

‎articles/machine-learning/concept-secure-network-traffic-flow.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -137,21 +137,21 @@ Securing an online endpoint with a private endpoint is a preview feature.
137137

138138
__Inbound__ communication with the scoring URL of the online endpoint can be secured using the `public_network_access` flag on the endpoint. Setting the flag to `disabled` restricts the online endpoint to receiving traffic only from the virtual network. For secure inbound communications, the Azure Machine Learning workspace's private endpoint is used.
139139

140-
__Outbound__ communication from a deployment can be secured on a per-deployment basis by using the `private_network_connection` flag. Outbound communication in this case is from the deployment to Azure Container Registry, storage blob, and workspace. Setting the flag to `true` will restrict communication with these resources to the virtual network.
140+
__Outbound__ communication from a deployment can be secured on a per-deployment basis by using the `egress_public_network_access` flag. Outbound communication in this case is from the deployment to Azure Container Registry, storage blob, and workspace. Setting the flag to `true` will restrict communication with these resources to the virtual network.
141141

142142
> [!NOTE]
143-
> For secure outbound communication, a private endpoint is created for each deployment where `private_network_connection` is set to `true`.
143+
> For secure outbound communication, a private endpoint is created for each deployment where `egress_public_network_access` is set to `disabled`.
144144
145145
Visibility of the endpoint is also governed by the `public_network_access` flag of the Azure Machine Learning workspace. If this flag is `disabled`, then the scoring endpoints can only be accessed from virtual networks that contain a private endpoint for the workspace. If it is `enabled`, then the scoring endpoint can be accessed from the virtual network and public networks.
146146

147147
### Supported configurations
148148

149149
| Configuration | Inbound </br> (Endpoint property) | Outbound </br> (Deployment property) | Supported? |
150150
| -------- | -------------------------------- | --------------------------------- | --------- |
151-
| secure inbound with secure outbound | `public_network_access` is disabled | `private_network_connection` is true | Yes |
152-
| secure inbound with public outbound | `public_network_access` is disabled | `private_network_connection` is false | Yes |
153-
| public inbound with secure outbound | `public_network_access` is enabled | `private_network_connection` is true | Yes |
154-
| public inbound with public outbound | `public_network_access` is enabled | `private_network_connection` is false | Yes |
151+
| secure inbound with secure outbound | `public_network_access` is disabled | `egress_public_network_access` is disabled | Yes |
152+
| secure inbound with public outbound | `public_network_access` is disabled | `egress_public_network_access` is enabled | Yes |
153+
| public inbound with secure outbound | `public_network_access` is enabled | `egress_public_network_access` is disabled | Yes |
154+
| public inbound with public outbound | `public_network_access` is enabled | `egress_public_network_access` is enabled | Yes |
155155

156156
## Scenario: Use Azure Kubernetes Service
157157

‎articles/machine-learning/how-to-secure-online-endpoint.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Secure managed online endpoints with private endpoints
2+
title: Network isolation of managed online endpoints
33
titleSuffix: Azure Machine Learning
4-
description: Use private endpoints to secure your Azure Machine Learning online endpoints.
4+
description: Use private endpoints to provide network isolation for Azure Machine Learning managed online endpoints.
55
services: machine-learning
66
ms.service: machine-learning
77
ms.subservice: enterprise-readiness
@@ -20,7 +20,7 @@ When deploying a machine learning model to a managed online endpoint, you can se
2020

2121
[!INCLUDE [preview disclaimer](../../includes/machine-learning-preview-generic-disclaimer.md)]
2222

23-
You can secure the inbound scoring requests from clients to an _online endpoint_. You can also configure the outbound communications between a _deployment_ and the Azure resources used by the deployment. Security for inbound and outbound communication is configured separately. For more information on endpoints and deployments, see [What are endpoints and deployments](concept-endpoints.md#what-are-endpoints-and-deployments).
23+
You can secure the inbound scoring requests from clients to an _online endpoint_. You can also secure the outbound communications between a _deployment_ and the Azure resources used by the deployment. Security for inbound and outbound communication is configured separately. For more information on endpoints and deployments, see [What are endpoints and deployments](concept-endpoints.md#what-are-endpoints-and-deployments).
2424

2525
## Prerequisites
2626

@@ -44,9 +44,10 @@ You can secure the inbound scoring requests from clients to an _online endpoint_
4444
4545
* If your Azure Machine Learning workspace has a private endpoint that was created before May 24, 2022, you must recreate the workspace's private endpoint before configuring your online endpoints to use a private endpoint. For more information on creating a private endpoint for your workspace, see [How to configure a private endpoint for Azure Machine Learning workspace](how-to-configure-private-link.md).
4646
47-
* Secure inbound communication only secures scoring requests. Requests to get the authentication key or token for the online endpoint are resolved over the public network (secured with TLS) to Azure Resource Manager. For more information, see [TBD]
48-
4947
* Secure outbound communication creates three private endpoints per deployment. One to Azure Blob storage, one to Azure Container Registry, and one to your workspace.
48+
49+
> [!NOTE]
50+
> Requests to create, update, or retrieve the authentication keys are sent to the Azure Resource Manager over the public network. For information on configuring network isolation for this communication, see [TBD]
5051
5152
## Inbound (scoring)
5253
@@ -56,22 +57,22 @@ To secure scoring requests to the online endpoint to your virtual network, set t
5657
az ml online-endpoint create -f endpoint.yml --set public_network_access=disabled
5758
```
5859
59-
When `public_network_access` is `disabled`, inbound scoring requests are received using the [private endpoint of the Azure Machine Learning workspace](how-to-configure-private-link.md).
60+
When `public_network_access` is `disabled`, inbound scoring requests are received using the [private endpoint of the Azure Machine Learning workspace](how-to-configure-private-link.md) and the endpoint can't be reached from public networks.
6061

6162
## Outbound (resource access)
6263

63-
To restrict communication between a deployment and the Azure resources used to by the deployment, set the `private_network_connection` flag to `true`. Enable this flag to ensure that the download of the model, code, and images needed by your deployment are secured with a private endpoint.
64+
To restrict communication between a deployment and the Azure resources used to by the deployment, set the `egress_public_network_access` flag to `disabled`. Enable this flag to ensure that the download of the model, code, and images needed by your deployment are secured with a private endpoint.
6465

6566
The following are the resources that the deployment communicates with over the private endpoint:
6667

6768
* The Azure Machine Learning workspace.
6869
* The Azure Storage blob that is the default storage for the workspace.
6970
* The Azure Container Registry for the workspace.
7071

71-
When you configure the `private_network_connection` to `true`, a new private endpoint is created per deployment, per service. For example, if you set the flag to `true` for three deployments to an online endpoint, nine private endpoints are created. Each deployment would have three private endpoints that are used to communicate with the workspace, blob, and container registry.
72+
When you configure the `egress_public_network_access` to `disabled`, a new private endpoint is created per deployment, per service. For example, if you set the flag to `true` for three deployments to an online endpoint, nine private endpoints are created. Each deployment would have three private endpoints that are used to communicate with the workspace, blob, and container registry.
7273

7374
```azurecli
74-
az ml online-deployment create -f deployment.yml --set private_network_connection true
75+
az ml online-deployment create -f deployment.yml --set egress_public_network_access disabled
7576
```
7677

7778
## Scenarios
@@ -80,10 +81,10 @@ The following table lists the supported configurations when configuring inbound
8081

8182
| Configuration | Inbound </br> (Endpoint property) | Outbound </br> (Deployment property) | Supported? |
8283
| -------- | -------------------------------- | --------------------------------- | --------- |
83-
| secure inbound with secure outbound | `public_network_access` is disabled | `private_network_connection` is true | Yes |
84-
| secure inbound with public outbound | `public_network_access` is disabled | `private_network_connection` is false | Yes |
85-
| public inbound with secure outbound | `public_network_access` is enabled | `private_network_connection` is true | Yes |
86-
| public inbound with public outbound | `public_network_access` is enabled | `private_network_connection` is false | Yes |
84+
| secure inbound with secure outbound | `public_network_access` is disabled | `egress_public_network_access` is disabled | Yes |
85+
| secure inbound with public outbound | `public_network_access` is disabled | `egress_public_network_access` is enabled | Yes |
86+
| public inbound with secure outbound | `public_network_access` is enabled | `egress_public_network_access` is disabled | Yes |
87+
| public inbound with public outbound | `public_network_access` is enabled | `egress_public_network_access` is enabled | Yes |
8788

8889
## End-to-end example
8990

@@ -102,7 +103,7 @@ The steps in this section use an Azure Resource Manager template to create the f
102103
* Azure Key Vault
103104
* Azure Storage account (blob & file storage)
104105

105-
Public access is disabled for all the services. A scoring subnet is created, along with outbound rules that allow communication with the following Azure services:
106+
Public access is disabled for all the services. While the Azure Machine Learning workspace is secured behind a vnet, it is configured to allow public network access. For more information, see [CLI 2.0 secure communications](how-to-configure-cli.md#secure-communications). A scoring subnet is created, along with outbound rules that allow communication with the following Azure services:
106107

107108
* Azure Active Directory
108109
* Azure Resource Manager
@@ -194,7 +195,7 @@ When prompted, enter the password you used when creating the VM.
194195
:::code language="azurecli" source="~/azureml-examples-online-endpoint-vnet/cli/endpoints/online/managed/vnet/setup_vm/scripts/build_image.sh" id="build_image":::
195196
196197
> [!TIP]
197-
> In a production environment, when Azure Container Registry is behind the virtual network, you would use an Azure Machine Learning compute cluster and Azure Machine Learning environments. For more information, see [Secure Azure Machine Learning workspace](how-to-secure-workspace-vnet.md#enable-azure-container-registry-acr).
198+
> In this example, we build the Docker image before pushing it to Azure Container Registry. Alternatively, you can build the image in your vnet by using an Azure Machine Learning compute cluster and environments. For more information, see [Secure Azure Machine Learning workspace](how-to-secure-workspace-vnet.md#enable-azure-container-registry-acr).
198199
199200
### Create a secured managed online endpoint
200201
Loading

0 commit comments

Comments
 (0)
Please sign in to comment.