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/machine-learning/how-to-secure-online-endpoint.md
+36-17Lines changed: 36 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,8 @@ ms.service: machine-learning
7
7
ms.subservice: enterprise-readiness
8
8
ms.topic: how-to
9
9
ms.reviewer: mopeakande
10
-
author: jhirono
11
-
ms.author: jhirono
10
+
author: dem108
11
+
ms.author: sehan
12
12
ms.date: 10/04/2022
13
13
ms.custom: event-tier1-build-2022
14
14
---
@@ -31,16 +31,16 @@ The following diagram shows how communications flow through private endpoints to
31
31
32
32
* To use Azure machine learning, you must have an Azure subscription. If you don't have an Azure subscription, create a free account before you begin. Try the [free or paid version of Azure Machine Learning](https://azure.microsoft.com/free/) today.
33
33
34
-
* You must install and configure the Azure CLI and ML extension or the AzureML Python SDK v2. For more information, see the following articles:
34
+
* You must install and configure the Azure CLI and `ml` extension or the AzureML Python SDK v2. For more information, see the following articles:
35
35
36
-
*[Install, set up, and use the CLI (v2)](how-to-configure-cli.md).
36
+
*[Install, set up, and use the CLI (v2)](how-to-configure-cli.md).
37
37
*[Install the Python SDK v2](https://aka.ms/sdk-v2-install).
38
38
39
-
* You must have an Azure Resource Group, in which you (or the service principal you use) need to have `Contributor` access. You'll have such a resource group if you configured your ML extension per the above article.
39
+
* You must have an Azure Resource Group, in which you (or the service principal you use) need to have `Contributor` access. You'll have such a resource group if you configured your `ml` extension per the above article.
40
40
41
41
* You must have an Azure Machine Learning workspace, and the workspace must use a private endpoint. If you don't have one, the steps in this article create an example workspace, VNet, and VM. For more information, see [Configure a private endpoint for Azure Machine Learning workspace](./how-to-configure-private-link.md).
42
42
43
-
The workspace can be configured to allow or disallow public network access. If you plan on using managed online endpoint deployments that use __public outbound__, then you must also [configure the workspace to allow public access](how-to-configure-private-link.md#enable-public-access).
43
+
The workspace configuration can either allow or disallow public network access. If you plan on using managed online endpoint deployments that use __public outbound__, then you must also [configure the workspace to allow public access](how-to-configure-private-link.md#enable-public-access).
44
44
45
45
Outbound communication from managed online endpoint deployment is to the _workspace API_. When the endpoint is configured to use __public outbound__, then the workspace must be able to accept that public communication (allow public access).
46
46
@@ -83,7 +83,7 @@ To secure scoring requests to the online endpoint to your virtual network, set t
83
83
az ml online-endpoint create -f endpoint.yml --set public_network_access=disabled
84
84
```
85
85
86
-
# [Python SDK](#tab/python)
86
+
# [Python](#tab/python)
87
87
88
88
```python
89
89
from azure.ai.ml.entities import ManagedOnlineEndpoint
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.
100
+
# [Studio](#tab/azure-studio)
102
101
103
-
## Outbound (resource access)
102
+
1. Go to the [Azure Machine Learning studio](https://ml.azure.com).
103
+
1. Select the **Workspaces** page from the left navigation bar.
104
+
1. Enter a workspace by clicking its name.
105
+
1. Select the **Endpoints** page from the left navigation bar.
106
+
1. Select **+ Create** to open the **Create deployment** setup wizard.
107
+
1. Disable the **Public network access** flag at the **Create endpoint** step.
108
+
109
+
:::image type="content" source="media/how-to-secure-online-endpoint/endpoint-disable-public-network-access.png" alt-text="A screenshot of how to disable public network access for an endpoint." lightbox="media/how-to-secure-online-endpoint/endpoint-disable-public-network-access.png":::
104
110
105
-
To restrict communication between a deployment and the Azure resources used to by the deployment, set the `egress_public_network_access` flag to `disabled`. Use this flag to ensure that the download of the model, code, and images needed by your deployment are secured with a private endpoint.
111
+
---
106
112
107
-
The following are the resources that the deployment communicates with over the private endpoint:
113
+
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.
108
114
109
-
* The Azure Machine Learning workspace.
110
-
* The Azure Storage blob that is the default storage for the workspace.
111
-
* The Azure Container Registry for the workspace.
115
+
## Outbound (resource access)
112
116
113
-
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 `disabled` 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.
117
+
To restrict communication between a deployment and the Azure resources it uses, set the `egress_public_network_access`flag to `disabled`. Use this flag to ensure that the download of the model, code, and images needed by your deployment are secured with a private endpoint.
114
118
115
119
# [Azure CLI](#tab/cli)
116
120
117
121
```azurecli
118
122
az ml online-deployment create -f deployment.yml --set egress_public_network_access=disabled
1. Follow the steps in the **Create deployment** setup wizard to the **Deployment** step.
146
+
1. Disable the **Egress public network access** flag.
147
+
148
+
:::image type="content" source="media/how-to-secure-online-endpoint/deployment-disable-egress-public-network-access.png" alt-text="A screenshot of how to disable the egress public network access for a deployment." lightbox="media/how-to-secure-online-endpoint/deployment-disable-egress-public-network-access.png":::
149
+
139
150
---
140
151
152
+
The deployment communicates with these resources over the private endpoint:
153
+
154
+
* The Azure Machine Learning workspace
155
+
* The Azure Storage blob that is the default storage for the workspace
156
+
* The Azure Container Registry for the workspace
157
+
158
+
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 `disabled` for three deployments to an online endpoint, nine private endpoints are created. Each deployment would have three private endpoints to communicate with the workspace, blob, and container registry.
159
+
141
160
## Scenarios
142
161
143
162
The following table lists the supported configurations when configuring inbound and outbound communications for an online endpoint:
0 commit comments