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/concept-compute-instance.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ A compute instance is a fully managed cloud-based workstation optimized for your
39
39
|Preconfigured for ML|Save time on setup tasks with pre-configured and up-to-date ML packages, deep learning frameworks, GPU drivers.|
40
40
|Fully customizable|Broad support for Azure VM types including GPUs and persisted low-level customization such as installing packages and drivers makes advanced scenarios a breeze. You can also use setup scripts to automate customization |
41
41
42
-
* Secure your compute instance with **[No public IP (preview)](./how-to-secure-training-vnet.md#no-public-ip)**
42
+
* Secure your compute instance with **[No public IP (preview)](./how-to-secure-training-vnet.md)**.
43
43
* The compute instance is also a secure training compute target similar to [compute clusters](how-to-create-attach-compute-cluster.md), but it is single node.
44
44
* You can [create a compute instance](how-to-create-manage-compute-instance.md?tabs=python#create) yourself, or an administrator can **[create a compute instance on your behalf](how-to-create-manage-compute-instance.md?tabs=python#create-on-behalf-of-preview)**.
45
45
* You can also **[use a setup script (preview)](how-to-customize-compute-instance.md)** for an automated way to customize and configure the compute instance as per your needs.
Copy file name to clipboardExpand all lines: articles/machine-learning/how-to-prevent-data-loss-exfiltration.md
+10-11Lines changed: 10 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ ms.date: 08/26/2022
18
18
19
19
Azure Machine Learning has several inbound and outbound dependencies. Some of these dependencies can expose a data exfiltration risk by malicious agents within your organization. This document explains how to minimize data exfiltration risk by limiting inbound and outbound requirements.
20
20
21
-
*__Inbound__: Azure Machine Learning compute instance and compute cluster have two inbound requirements: the `batchnodemanagement` (ports 29876-29877) and `azuremachinelearning` (port 44224) service tags. You can control this inbound traffic by using a network security group. It's difficult to disguise Azure service IPs, so there's low data exfiltration risk. You can also configure the compute to not use a public IP, which removes inbound requirements.
21
+
*__Inbound__: Azure Machine Learning compute instance and compute cluster have two inbound requirements: the `batchnodemanagement` (ports 29876-29877) and `azuremachinelearning` (port 44224) service tags. You can control this inbound traffic by using a network security group (NSG) and service tags. It's difficult to disguise Azure service IPs, so there's low data exfiltration risk. You can also configure the compute to not use a public IP, which removes inbound requirements.
22
22
23
23
*__Outbound__: If malicious agents don't have write access to outbound destination resources, they can't use that outbound for data exfiltration. Azure Active Directory, Azure Resource Manager, Azure Machine Learning, and Microsoft Container Registry belong to this category. On the other hand, Storage and AzureFrontDoor.frontend can be used for data exfiltration.
24
24
@@ -36,10 +36,6 @@ 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
-
## Limitations
40
-
41
-
* Data exfiltration prevention isn't supported with an Azure Machine Learning compute cluster or compute instance configured for __no public IP__.
42
-
43
39
## 1. Opt in to the preview
44
40
45
41
> [!IMPORTANT]
@@ -50,27 +46,28 @@ Use the form at [https://forms.office.com/r/1TraBek7LV](https://forms.office.com
50
46
> [!TIP]
51
47
> It may take one to two weeks to allowlist your subscription.
52
48
53
-
## 2. Allow inbound & outbound network traffic
49
+
## 2. Allow inbound and outbound network traffic
54
50
55
51
### Inbound
56
52
57
53
> [!IMPORTANT]
58
54
> The following information __modifies__ the guidance provided in the [Inbound traffic](how-to-secure-training-vnet.md#inbound-traffic) section of the "Secure training environment with virtual networks" article.
59
55
60
-
__Inbound__traffic from the service tag `BatchNodeManagement.<region>` or equivalent IP addresses is __not required__.
56
+
When using Azure Machine Learning __compute instance___with a public IP address_, allow inbound traffic from Azure Batch management (service tag `BatchNodeManagement.<region>`). A compute instance _with no public IP_ (preview) __doesn't__ require this inbound communication.
61
57
62
-
### Outbound
58
+
### Outbound
63
59
64
60
> [!IMPORTANT]
65
61
> The following information is __in addition__ to the guidance provided in the [Secure training environment with virtual networks](how-to-secure-training-vnet.md) and [Configure inbound and outbound network traffic](how-to-access-azureml-behind-firewall.md) articles.
66
62
67
63
Select the configuration that you're using:
68
64
69
-
# [Network security group](#tab/nsg)
65
+
# [Service tag/NSG](#tab/servicetag)
70
66
71
-
__Allow__ outbound traffic over __TCP port 443__ to the following service tags. Replace `<region>` with the Azure region that contains your compute cluster or instance:
67
+
__Allow__ outbound traffic over __TCP port 443__ to the following __service tags__. Replace `<region>` with the Azure region that contains your compute cluster or instance:
72
68
73
69
*`BatchNodeManagement.<region>`
70
+
*`AzureMachineLearning`
74
71
*`Storage.<region>` - A Service Endpoint Policy will be applied in a later step to limit outbound traffic.
75
72
76
73
# [Firewall](#tab/firewall)
@@ -88,6 +85,8 @@ __Allow__ outbound traffic over __TCP port 443__ to the following FQDNs. Replace
88
85
89
86
---
90
87
88
+
For more information, see [How to secure training environments](how-to-secure-training-vnet.md) and [Configure inbound and outbound network traffic](how-to-access-azureml-behind-firewall.md).
89
+
91
90
## 3. Enable storage endpoint for the subnet
92
91
93
92
1. From the [Azure portal](https://portal.azure.com), select the __Azure Virtual Network__ for your Azure ML workspace.
@@ -131,7 +130,7 @@ When using Azure ML curated environments, make sure to use the latest environmen
131
130
132
131
1. When using `mcr.microsoft.com`, you must also allow outbound configuration to the following resources. Select the configuration option that you're using:
133
132
134
-
# [Network security group](#tab/nsg)
133
+
# [Service tag/NSG](#tab/servicetag)
135
134
136
135
__Allow__ outbound traffic over __TCP port 443__ to the following service tags. Replace `<region>` with the Azure region that contains your compute cluster or instance.
Copy file name to clipboardExpand all lines: articles/machine-learning/how-to-secure-training-vnet.md
+16-8Lines changed: 16 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ In this article you learn how to secure the following training compute resources
71
71
* A compute cluster can dynamically scale. If there aren't enough unassigned IP addresses, the cluster will be partially allocated.
72
72
* A compute instance only requires one IP address.
73
73
74
-
* To create a compute cluster or instance [without a public IP address](#no-public-ip) (a preview feature), your workspace must use a private endpoint to connect to the VNet. For more information, see [Configure a private endpoint for Azure Machine Learning workspace](how-to-configure-private-link.md).
74
+
* To create a compute cluster or instance without a public IP address (a preview feature), your workspace must use a private endpoint to connect to the VNet. For more information, see [Configure a private endpoint for Azure Machine Learning workspace](how-to-configure-private-link.md).
75
75
* If you plan to secure the virtual network by restricting traffic, see the [Required public internet access](#required-public-internet-access) section.
76
76
* The subnet used to deploy compute cluster/instance shouldn't be delegated to any other service. For example, it shouldn't be delegated to ACI.
77
77
@@ -119,6 +119,18 @@ In this article you learn how to secure the following training compute resources
119
119
120
120
* If you create a compute instance and plan to use the no public IP address configuration, your Azure Machine Learning workspace's managed identity must be assigned the __Reader__ role for the virtual network that contains the workspace. For more information on assigning roles, see [Steps to assign an Azure role](../role-based-access-control/role-assignments-steps.md).
121
121
122
+
> [!IMPORTANT]
123
+
> Using the __no public IP__ configuration requires you to opt-in to this preview. Before opting in, 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.
124
+
>
125
+
> Use the form at [https://forms.office.com/r/0Rw6mXTT07](https://forms.office.com/r/0Rw6mXTT07) to opt in to this Azure Machine Learning preview. Microsoft will contact you once your subscription has been allowlisted to the preview. It may take one to two weeks to allowlist your subscription. Opting-in provides the following benefits:
126
+
> - Additional regions are available for use with no public IP configuration
> - No networking costs from load balancer, public IP, or private link service.
129
+
>
130
+
> If you have been using compute instances configured for no public IP without opting-in to the preview using the form, you will need to delete and recreate them after your subscription has been allowlisted to take advantage of the new architecture and region availability. For existing compute clusters configured for no public IP, once the cluster has been reduced to 0 nodes (requires the minimum nodes to be configured as 0), it will take advantage of the new architecture the next time nodes are allocated after the subscription is allowlisted.
* If you have configured Azure Container Registry for your workspace behind the virtual network, you must use a compute cluster to build Docker images. If you use a compute cluster configured for no public IP address, you must provide some method for the cluster to access the public internet. Internet access is required when accessing images stored on the Microsoft Container Registry, packages installed on Pypi, Conda, etc. For more information, see [Enable Azure Container Registry](how-to-secure-workspace-vnet.md#enable-azure-container-registry-acr).
123
135
124
136
* If the Azure Storage Accounts for the workspace are also in the virtual network, use the following guidance on subnet limitations:
@@ -169,7 +181,7 @@ For more information on using Azure Databricks in a virtual network, see [Deploy
169
181
170
182
For information on using a firewall solution, see [Use a firewall with Azure Machine Learning](how-to-access-azureml-behind-firewall.md).
171
183
172
-
## <aname="compute-cluster"></a>Compute clusters
184
+
## Compute cluster
173
185
174
186
Use the following steps to create a compute cluster in the Azure Machine Learning studio:
175
187
@@ -197,7 +209,7 @@ When the creation process finishes, you train your model by using the cluster in
### <aname="no-public-ip-amlcompute"></a>No public IP for compute clusters (preview)
212
+
### No public IP for compute clusters (preview)
201
213
202
214
When you enable **No public IP**, your compute cluster doesn't use a public IP for communication with any dependencies. Instead, it communicates solely within the virtual network using Azure Private Link ecosystem and service/private endpoints, eliminating the need for a public IP entirely. No public IP removes access and discoverability of compute cluster nodes from the internet thus eliminating a significant threat vector. **No public IP** clusters help comply with no public IP policies many enterprises have.
203
215
@@ -216,8 +228,6 @@ You can use a service endpoint or private endpoint for your Azure container regi
216
228
To create a no public IP address compute cluster (a preview feature) in studio, set **No public IP** checkbox in the virtual network section.
217
229
You can also create no public IP compute cluster through an ARM template. In the ARM template set enableNodePublicIP parameter to false.
* If you get this error message during creation of cluster `The specified subnet has PrivateLinkServiceNetworkPolicies or PrivateEndpointNetworkEndpoints enabled`, follow the instructions from [Disable network policies for Private Link service](../private-link/disable-private-link-service-network-policy.md) and [Disable network policies for Private Endpoint](../private-link/disable-private-endpoint-network-policy.md).
@@ -230,7 +240,7 @@ You can also create no public IP compute cluster through an ARM template. In the
230
240
231
241
For steps on how to create a compute instance deployed in a virtual network, see [Create and manage an Azure Machine Learning compute instance](how-to-create-manage-compute-instance.md).
232
242
233
-
### <aname="no-public-ip"></a>No public IP for compute instances (preview)
243
+
### No public IP for compute instances (preview)
234
244
235
245
When you enable **No public IP**, your compute instance doesn't use a public IP for communication with any dependencies. Instead, it communicates solely within the virtual network using Azure Private Link ecosystem and service/private endpoints, eliminating the need for a public IP entirely. No public IP removes access and discoverability of compute instance node from the internet thus eliminating a significant threat vector. Compute instances will also do packet filtering to reject any traffic from outside virtual network. **No public IP** instances are dependent on [Azure Private Link](how-to-configure-private-link.md) for Azure Machine Learning workspace.
236
246
@@ -250,8 +260,6 @@ Next steps:
250
260
*[Use custom DNS](how-to-custom-dns.md)
251
261
*[Use a firewall](how-to-access-azureml-behind-firewall.md)
Copy file name to clipboardExpand all lines: includes/machine-learning-compute-user-defined-routes.md
+3-8Lines changed: 3 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,19 +2,14 @@
2
2
author: Blackmist
3
3
ms.service: machine-learning
4
4
ms.topic: include
5
-
ms.date: 04/12/2022
5
+
ms.date: 10/12/2022
6
6
ms.author: larryfr
7
7
---
8
8
9
-
When using Azure Machine Learning __compute instance__ (with a public IP) or __compute cluster__, allow inbound traffic from Azure Batch management and Azure Machine Learning services. Compute instance with no public IP (preview) does not require this inbound communication. A Network Security Group allowing this traffic is dynamically created for you, however you may need to also create user-defined routes (UDR) if you have a firewall. When creating a UDR for this traffic, you can use either **IP Addresses** or **service tags** to route the traffic.
10
-
11
9
> [!IMPORTANT]
12
-
> Using service tags with user-defined routes is now GA. For more information, see [Virtual Network routing](../articles/virtual-network/virtual-networks-udr-overview.md#service-tags-for-user-defined-routes).
13
-
14
-
15
-
> [!TIP]
16
-
> While a compute instance without a public IP (a preview feature) does not need a UDR for this inbound traffic, you will still need these UDRs if you also use a compute cluster or a compute instance with a public IP.
10
+
> A compute instance or compute cluster without a public IP (a preview feature) does not need inbound traffic from Azure Batch management and Azure Machine Learning services. However, if you have multiple computes and some of them use a public IP address, you will need to allow this traffic.
17
11
12
+
When using Azure Machine Learning __compute instance__ or __compute cluster__ (_with a public IP address_), allow inbound traffic from Azure Batch management and Azure Machine Learning services. A compute instance or compute cluster _with no public IP_ (preview) __doesn't__ require this inbound communication. A Network Security Group allowing this traffic is dynamically created for you, however you may need to also create user-defined routes (UDR) if you have a firewall. When creating a UDR for this traffic, you can use either **IP Addresses** or **service tags** to route the traffic.
Copy file name to clipboardExpand all lines: includes/machine-learning-no-public-ip-availibility.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,14 @@
2
2
author: sdgilley
3
3
ms.service: machine-learning
4
4
ms.topic: include
5
-
ms.date: 11/30/2021
5
+
ms.date: 10/12/2022
6
6
ms.author: sgilley
7
7
---
8
8
9
9
> [!NOTE]
10
-
> Support for compute instances without public IP addresses is currently available and in public preview for the following regions: France Central, East Asia, West Central US, South Central US, West US 2, East US, East US 2, North Europe, West Europe, Central US, North Central US, West US, Australia East, Japan East, Japan West.
11
-
>
12
-
> Support for compute clusters without public IP addresses is currently available and in public preview for the following regions: France Central, East Asia, West Central US, South Central US, West US 2, East US, North Europe, East US 2, Central US, West Europe, North Central US, West US, Australia East, Japan East, Japan West.
10
+
> Once your Azure subscription has been allowlisted for the no public IP preview, support for compute instances and compute clusters without public IP addresses is currently available and in public preview for the following regions:
11
+
> **Public**: France Central, East Asia, South East Asia, West Central US, South Central US, West US 2, West US 3, East US, East US 2, North Europe, West Europe, Central US, North Central US, West US, Australia East, Australia Southeast, Japan East, Japan West, Brazil Southeast, Brazil South, Canada Central, Canada East, Central India, South India, Korea Central, Korea South, Sweden Central, Sweden South, Switzerland North, Switzerland West, UK West, UK South, UAE North, Germany West Central, Norway East, South Africa North.
> If you have been using the no public IP preview without using the opt-in form, you can use the following regions: France Central, East Asia, West Central US, South Central US, West US 2, East US, North Europe, East US 2, Central US, West Europe, North Central US, West US, Australia East, Japan East, Japan West.
0 commit comments