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-prevent-data-loss-exfiltration.md
+29-34Lines changed: 29 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ ms.reviewer: larryfr
12
12
ms.date: 08/26/2022
13
13
---
14
14
15
-
# Azure Machine Learning data exfiltration prevention (Preview)
15
+
# Azure Machine Learning data exfiltration prevention
16
16
17
17
<!-- Learn how to use a [Service Endpoint policy](../virtual-network/virtual-network-service-endpoint-policies-overview.md) to prevent data exfiltration from storage accounts in your Azure Virtual Network that are used by Azure Machine Learning. -->
18
18
@@ -36,15 +36,32 @@ Azure Machine Learning has several inbound and outbound dependencies. Some of th
36
36
* An Azure Machine Learning workspace with a private endpoint that connects to the VNet.
37
37
* The storage account used by the workspace must also connect to the VNet using a private endpoint.
38
38
39
-
## 1. Opt in to the preview
39
+
## 1. Create the service endpoint policy
40
40
41
-
> [!IMPORTANT]
42
-
> Before opting in to this preview, you must have created a workspace and a compute instance on the subscription you plan to use. You can delete the compute instance and/or workspace after creating them.
41
+
1. From the [Azure portal](https://portal.azure.com), add a new __Service Endpoint Policy__. On the __Basics__ tab, provide the required information and then select __Next__.
42
+
1. On the __Policy definitions__ tab, perform the following actions:
43
+
1. Select __+ Add a resource__, and then provide the following information:
44
+
45
+
<!-- > [!TIP]
46
+
> * At least one storage account resource must be listed in the policy.
47
+
> * If you are adding multiple storage accounts, and the _default storage account_ for your workspace is configured with a private endpoint, you do not need to include it in the policy. -->
43
48
44
-
Use the form at [https://forms.office.com/r/1TraBek7LV](https://forms.office.com/r/1TraBek7LV) to opt in to this Azure Machine Learning preview. Microsoft will contact you once your subscription has been allowlisted to the preview.
49
+
*__Service__: Microsoft.Storage
50
+
*__Scope__: Select the scope as __Single account__ to limit the network traffic to one storage account.
51
+
*__Subscription__: The Azure subscription that contains the storage account.
52
+
*__Resource group__: The resource group that contains the storage account.
53
+
*__Resource__: The default storage account of your workspace.
54
+
55
+
Select __Add__ to add the resource information.
45
56
46
-
> [!TIP]
47
-
> It may take one to two weeks to allowlist your subscription.
57
+
:::image type="content" source="media/how-to-data-exfiltration-prevention/create-service-endpoint-policy.png" alt-text="A screenshot showing how to create a service endpoint policy." lightbox="media/how-to-data-exfiltration-prevention/create-service-endpoint-policy.png":::
58
+
59
+
1. Select __+ Add an alias__, and then select `/services/Azure/MachineLearning` as the __Server Alias__ value. Select __Add__ to add the alias.
60
+
61
+
> [!NOTE]
62
+
> The Azure CLI and Azure PowerShell do not provide support for adding an alias to the policy.
63
+
64
+
1. Select __Review + Create__, and then select __Create__.
48
65
49
66
## 2. Allow inbound and outbound network traffic
50
67
@@ -91,42 +108,20 @@ For more information, see [How to secure training environments](how-to-secure-tr
91
108
92
109
1. From the [Azure portal](https://portal.azure.com), select the __Azure Virtual Network__ for your Azure ML workspace.
93
110
1. From the left of the page, select __Subnets__ and then select the subnet that contains your compute cluster/instance resources.
94
-
1. In the form that appears, expand the __Services__ dropdown and then __enable Microsoft.Storage__. Select __Save__ to save these changes.
95
-
96
-
## 4. Create the service endpoint policy
97
-
98
-
1. From the [Azure portal](https://portal.azure.com), add a new __Service Endpoint Policy__. On the __Basics__ tab, provide the required information and then select __Next__.
99
-
1. On the __Policy definitions__ tab, perform the following actions:
100
-
1. Select __+ Add a resource__, and then provide the following information:
101
-
102
-
> [!TIP]
103
-
> * At least one storage account resource must be listed in the policy.
104
-
> * If you are adding multiple storage accounts, and the _default storage account_ for your workspace is configured with a private endpoint, you do not need to include it in the policy.
105
-
106
-
*__Service__: Microsoft.Storage
107
-
*__Scope__: Select the scope. For example, select __Single account__ if you want to limit the network traffic to one storage account.
108
-
*__Subscription__: The Azure subscription that contains the storage account.
109
-
*__Resource group__: The resource group that contains the storage account.
110
-
*__Resource__: The storage account.
111
-
112
-
Select __Add__ to add the resource information.
113
-
1. Select __+ Add an alias__, and then select `/services/Azure/MachineLearning` as the __Server Alias__ value. Select __Add__ to add the alias.
114
-
115
-
> [!NOTE]
116
-
> The Azure CLI and Azure PowerShell do not provide support for adding an alias to the policy.
117
-
118
-
1. Select __Review + Create__, and then select __Create__.
111
+
1. In the form that appears, expand the __Services__ dropdown and then enable __Microsoft.Storage__. Select __Save__ to save these changes.
112
+
1. Apply the service endpoint policy to your workspace subnet.
119
113
114
+
:::image type="content" source="media/how-to-data-exfiltration-prevention/enable-storage-endpoint-for-subnet.png" alt-text="A screenshot of the Azure portal showing how to enable storage endpoint for the subnet." lightbox="media/how-to-data-exfiltration-prevention/enable-storage-endpoint-for-subnet.png":::
120
115
121
-
## 5. Curated environments
116
+
## 4. Curated environments
122
117
123
118
When using Azure ML curated environments, make sure to use the latest environment version. The container registry for the environment must also be `mcr.microsoft.com`. To check the container registry, use the following steps:
124
119
125
120
1. From [Azure ML studio](https://ml.azure.com), select your workspace and then select __Environments__.
126
121
1. Verify that the __Azure container registry__ begins with a value of `mcr.microsoft.com`.
127
122
128
123
> [!IMPORTANT]
129
-
> If the container registry is `viennaglobal.azurecr.io` you cannot use the curated environment with the data exfiltration preview. Try upgrading to the latest version of the curated environment.
124
+
> If the container registry is `viennaglobal.azurecr.io` you cannot use the curated environment with the data exfiltration. Try upgrading to the latest version of the curated environment.
130
125
131
126
1. When using `mcr.microsoft.com`, you must also allow outbound configuration to the following resources. Select the configuration option that you're using:
Copy file name to clipboardExpand all lines: includes/machine-learning-public-internet-access.md
+14-13Lines changed: 14 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,21 +10,22 @@ ms.author: larryfr
10
10
ms.custom: include file
11
11
---
12
12
13
-
Azure Machine Learning requires both inbound and outbound access to the public internet. The following tables provide an overview of what access is required and what it is for. The __protocol__ for all items is __TCP__. For service tags that end in `.region`, replace `region` with the Azure region that contains your workspace. For example, `Storage.westus`:
13
+
Azure Machine Learning requires both inbound and outbound access to the public internet. The following tables provide an overview of what access is required and what purpose it serves. For service tags that end in `.region`, replace `region` with the Azure region that contains your workspace. For example, `Storage.westus`:
14
14
15
-
| Direction | Ports | Service tag | Purpose |
15
+
| Direction | Ports | Service tag |Protocol |Purpose |
16
16
| ----- |:-----:| ----- | ----- |
17
-
| Inbound | 29876-29877 | BatchNodeManagement | Create, update, and delete of Azure Machine Learning compute instance and compute cluster. It isn't required if you use No Public IP option.|
18
-
| Inbound | 44224 | AzureMachineLearning | Create, update, and delete of Azure Machine Learning compute instance. It isn't required if you use No Public IP option.|
| Outbound | 443 | BatchNodeManagement.region | Communication with Azure Batch back-end for computes. Replace `region` with the Azure region of your workspace. |
22
-
| Outbound | 443 | AzureResourceManager | Creation of Azure resources with Azure Machine Learning. |
23
-
| Outbound | 443, 445 (*)| Storage.region | Access data stored in the Azure Storage Account for compute cluster and compute instance. This outbound can be used to exfiltrate data. For more information, see [Data exfiltration protection](../articles/machine-learning/how-to-prevent-data-loss-exfiltration.md).<br>(*) 445 is only required if you have a firewall between your virtual network for Azure ML and a private endpoint for your storage accounts.|
24
-
| Outbound | 443 | AzureFrontDoor.FrontEnd</br>* Not needed in Azure China. | Global entry point for [Azure Machine Learning studio](https://ml.azure.com). Store images and environments for AutoML. |
25
-
| Outbound | 443 | MicrosoftContainerRegistry.region</br>**Note** that this tag has a dependency on the **AzureFrontDoor.FirstParty** tag | Access docker images provided by Microsoft. Setup of the Azure Machine Learning router for Azure Kubernetes Service. |
26
-
| Outbound | 443 | AzureMonitor | Used to log monitoring and metrics to App Insights and Azure Monitor. |
27
-
| Outbound | 443 | Keyvault.region | Access the key vault for the Azure Batch service. Only needed if your workspace was created with the [hbi_workspace](/python/api/azureml-core/azureml.core.workspace%28class%29#create-name--auth-none--subscription-id-none--resource-group-none--location-none--create-resource-group-true--sku--basic---friendly-name-none--storage-account-none--key-vault-none--app-insights-none--container-registry-none--cmk-keyvault-none--resource-cmk-uri-none--hbi-workspace-false--default-cpu-compute-target-none--default-gpu-compute-target-none--exist-ok-false--show-output-true-) flag enabled. |
17
+
| Inbound | 29876-29877 | BatchNodeManagement | TCP | Create, update, and delete of Azure Machine Learning compute instance and compute cluster. It isn't required if you use No Public IP option.|
18
+
| Inbound | 44224 | AzureMachineLearning | TCP | Create, update, and delete of Azure Machine Learning compute instance. It isn't required if you use No Public IP option.|
| Outbound | 443 | BatchNodeManagement.region | TCP | Communication with Azure Batch back-end for computes. Replace `region` with the Azure region of your workspace. |
22
+
| Outbound | 443 | AzureResourceManager | TCP | Creation of Azure resources with Azure Machine Learning. |
23
+
| Outbound | 443, 445 (*)| Storage.region | TCP | Access data stored in the Azure Storage Account for compute cluster and compute instance. This outbound can be used to exfiltrate data. For more information, see [Data exfiltration protection](../articles/machine-learning/how-to-prevent-data-loss-exfiltration.md).<br>(*) 445 is only required if you have a firewall between your virtual network for Azure ML and a private endpoint for your storage accounts.|
24
+
| Outbound | 443 | AzureFrontDoor.FrontEnd</br>* Not needed in Azure China. | TCP | Global entry point for [Azure Machine Learning studio](https://ml.azure.com). Store images and environments for AutoML. |
25
+
| Outbound | 443 | MicrosoftContainerRegistry.region</br>**Note** that this tag has a dependency on the **AzureFrontDoor.FirstParty** tag | TCP | Access docker images provided by Microsoft. Setup of the Azure Machine Learning router for Azure Kubernetes Service. |
26
+
| Outbound | 443 | AzureMonitor | TCP | Used to log monitoring and metrics to App Insights and Azure Monitor. |
27
+
| Outbound | 443 | Keyvault.region | TCP | Access the key vault for the Azure Batch service. Only needed if your workspace was created with the [hbi_workspace](/python/api/azureml-core/azureml.core.workspace%28class%29#create-name--auth-none--subscription-id-none--resource-group-none--location-none--create-resource-group-true--sku--basic---friendly-name-none--storage-account-none--key-vault-none--app-insights-none--container-registry-none--cmk-keyvault-none--resource-cmk-uri-none--hbi-workspace-false--default-cpu-compute-target-none--default-gpu-compute-target-none--exist-ok-false--show-output-true-) flag enabled. |
28
+
| Outbound | 5831 | AzureMachineLearning | UDP | Communication with Azure Machine Learning for compute instances. |
28
29
29
30
> [!TIP]
30
31
> If you need the IP addresses instead of service tags, use one of the following options:
0 commit comments