Skip to content

Commit fba4fe9

Browse files
authored
Merge pull request #220836 from msakande/GA-updates-DLP-feature
initial updates for UDP doc changes
2 parents 17125ac + 6e81309 commit fba4fe9

File tree

4 files changed

+43
-47
lines changed

4 files changed

+43
-47
lines changed

articles/machine-learning/how-to-prevent-data-loss-exfiltration.md

Lines changed: 29 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.reviewer: larryfr
1212
ms.date: 08/26/2022
1313
---
1414

15-
# Azure Machine Learning data exfiltration prevention (Preview)
15+
# Azure Machine Learning data exfiltration prevention
1616

1717
<!-- 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. -->
1818

@@ -36,15 +36,32 @@ Azure Machine Learning has several inbound and outbound dependencies. Some of th
3636
* An Azure Machine Learning workspace with a private endpoint that connects to the VNet.
3737
* The storage account used by the workspace must also connect to the VNet using a private endpoint.
3838

39-
## 1. Opt in to the preview
39+
## 1. Create the service endpoint policy
4040

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. -->
4348

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.
4556

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__.
4865

4966
## 2. Allow inbound and outbound network traffic
5067

@@ -91,42 +108,20 @@ For more information, see [How to secure training environments](how-to-secure-tr
91108

92109
1. From the [Azure portal](https://portal.azure.com), select the __Azure Virtual Network__ for your Azure ML workspace.
93110
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.
119113

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":::
120115

121-
## 5. Curated environments
116+
## 4. Curated environments
122117

123118
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:
124119

125120
1. From [Azure ML studio](https://ml.azure.com), select your workspace and then select __Environments__.
126121
1. Verify that the __Azure container registry__ begins with a value of `mcr.microsoft.com`.
127122

128123
> [!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.
130125
131126
1. When using `mcr.microsoft.com`, you must also allow outbound configuration to the following resources. Select the configuration option that you're using:
132127

78.4 KB
Loading
69.8 KB
Loading

includes/machine-learning-public-internet-access.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,22 @@ ms.author: larryfr
1010
ms.custom: include file
1111
---
1212

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`:
1414

15-
| Direction | Ports | Service tag | Purpose |
15+
| Direction | Ports | Service tag | Protocol | Purpose |
1616
| ----- |:-----:| ----- | ----- |
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.|
19-
| Outbound | 80, 443 | AzureActiveDirectory | Authentication using Azure AD. |
20-
| Outbound | 443, 8787, 18881 | AzureMachineLearning | Using Azure Machine Learning services. |
21-
| 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.|
19+
| Outbound | 80, 443 | AzureActiveDirectory | TCP | Authentication using Azure AD. |
20+
| Outbound | 443, 8787, 18881 | AzureMachineLearning | TCP | Using Azure Machine Learning services. |
21+
| 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. |
2829

2930
> [!TIP]
3031
> If you need the IP addresses instead of service tags, use one of the following options:

0 commit comments

Comments
 (0)