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
@@ -62,7 +62,7 @@ The following diagram shows a managed virtual network configured to __allow only
62
62
:::image type="content" source="./media/how-to-managed-network/only-approved-outbound.svg" alt-text="Diagram of managed virtual network isolation configured for allow only approved outbound." lightbox="./media/how-to-managed-network/only-approved-outbound.svg":::
63
63
64
64
> [!NOTE]
65
-
> Once a managed VNet workspace is configured to __allow internet outbound__, the workspace can't be reconfigured to __disabled__. Similarly, once a managed VNet workspace is configured to __allow only approved outbound__, the workspace can't be reconfigured to __allow internet outbound__. Keep this in mind when selecting the isolation mode for managed VNet in your workspace.
65
+
> Once a managed VNet workspace is configured to __allow internet outbound__, the workspace can't be reconfigured to __disabled__. Similarly, once a managed VNet workspace is configured to __allow only approved outbound__, the workspace can't be reconfigured to __allow internet outbound__.
66
66
67
67
68
68
### Azure Machine Learning studio
@@ -161,6 +161,7 @@ Before following the steps in this article, make sure you have the following pre
161
161
```
162
162
163
163
::: zone-end
164
+
164
165
::: zone pivot="azure-portal"
165
166
166
167
* 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/).
@@ -190,7 +191,7 @@ Microsoft recommends assigning the _Azure AI Enterprise Network Connection Appro
190
191
* Azure Machine Learning registry
191
192
* Azure AI Foundry
192
193
* Azure Key Vault
193
-
* Azure CosmosDB
194
+
* Azure Cosmos DB
194
195
* Azure Database for MySQL
195
196
* Azure Database for PostgreSQL
196
197
* Azure AI Services
@@ -200,9 +201,9 @@ Microsoft recommends assigning the _Azure AI Enterprise Network Connection Appro
200
201
201
202
If you would like to create a custom role instead, see [Azure AI Enterprise Network Connection Approver role](/azure/role-based-access-control/built-in-roles/ai-machine-learning#azure-ai-enterprise-network-connection-approver) to add the specific actions for each resource type.
202
203
203
-
For creating private endpoint outbound rules to target resource types not covered by the _Azure AI Enterprise Network Connection Approver_ role, such as Azure Data Factory, Azure Databricks, and Azure Function Apps, a custom scoped-down role is recommended, defined only by the actions necessary to approve private endpoint connections on the target resource types.
204
+
To create private endpoint outbound rules to target resource types not covered by the _Azure AI Enterprise Network Connection Approver_ role, a custom scoped-down role is recommended. The role should be defined with the actions necessary to approve private endpoint connections on the target resource types. , Examples of such resource types are Azure Data Factory, Azure Databricks, and Azure Function Apps.
204
205
205
-
For creating Private Endpoint outbound rules to default workspace resources, the required permissions are automatically covered by the role assignments granted during workspace creation, so no additional action is needed.
206
+
To create Private Endpoint outbound rules to default workspace resources, the required permissions are automatically covered by the role assignments granted during workspace creation, so no other action is needed.
206
207
207
208
## Configure a managed virtual network to allow internet outbound
208
209
@@ -294,6 +295,7 @@ managed_network:
294
295
---
295
296
296
297
::: zone-end
298
+
297
299
::: zone pivot="python-sdk"
298
300
299
301
To configure a managed virtual network that allows internet outbound communications, use the `ManagedNetwork` class to define a network with `IsolationMode.ALLOW_INTERNET_OUTBOUND`. You can then use the `ManagedNetwork` object to create a new workspace or update an existing one. To define _outbound rules_ to Azure services that the workspace relies on, use the `PrivateEndpointDestination` class to define a new private endpoint to the service.
To configure a managed virtual network that allows only approved outbound communications, use the `ManagedNetwork` class to define a network with `IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND`. You can then use the `ManagedNetwork` object to create a new workspace or update an existing one. To define _outbound rules_, use the following classes:
During workspace creation, select __Provision managed network proactively at creation__ to provision the managed network. Charges are incurred from network resources, such as private endpoints, once the virtual network is provisioned. This configuration option is only available during workspace creation.
@@ -953,6 +958,7 @@ az ml workspace update --name ws --resource-group rg --image-build-compute mycom
953
958
```
954
959
955
960
::: zone-end
961
+
956
962
::: zone pivot="python-sdk"
957
963
958
964
The following example demonstrates how to update a workspace to use a compute cluster to build images:
There isn't a way to set the image build compute from the Azure portal. Instead, use the [Azure CLI](how-to-managed-network.md?pivots=cli#configure-image-builds) or [Python SDK](how-to-managed-network.md?pivots=python-sdk#configure-image-builds).
@@ -1010,6 +1017,7 @@ az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --reso
1010
1017
```
1011
1018
1012
1019
::: zone-end
1020
+
1013
1021
::: zone pivot="python-sdk"
1014
1022
1015
1023
The following example demonstrates how to manage outbound rules for a workspace named `myworkspace`:
1. Sign in to the [Azure portal](https://portal.azure.com), and select the Azure Machine Learning workspace that you want to enable managed virtual network isolation for.
@@ -1065,7 +1074,7 @@ For Azure Machine Learning to run normally, there are a set of required service
1065
1074
| `AzureResourceManager` | Outbound | Creation of Azure resources with Azure Machine Learning, Azure CLI, and Azure Machine Learning SDK. |
| `MicrosoftContainerRegistry` | Outbound | Access docker images provided by Microsoft. Setup of the Azure Machine Learning router for Azure Kubernetes Service. |
1068
-
| `AzureMonitor` | Outbound | Used to log monitoring and metrics to Azure Monitor. Only needed if you haven't secured Azure Monitor for the workspace. This outbound is also used to log information for support incidents. |
1077
+
| `AzureMonitor` | Outbound | Used to log monitoring and metrics to Azure Monitor. Only needed if the Azure Monitor for the workspace isn't secured. This outbound is also used to log information for support incidents. |
1069
1078
| `VirtualNetwork` | Outbound | Required when private endpoints are present in the virtual network or peered virtual networks. |
1070
1079
1071
1080
> [!NOTE]
@@ -1087,7 +1096,7 @@ To allow installation of __Python packages for training and deployment__, add ou
1087
1096
If you plan to use __Visual Studio Code__ with Azure Machine Learning, add outbound _FQDN_ rules to allow traffic to the following hosts:
1088
1097
1089
1098
> [!NOTE]
1090
-
> This isn't a complete list of the hosts required for all Visual Studio Code resources on the internet, only the most commonly used. For example, if you need access to a GitHub repository or other host, you must identify and add the required hosts for that scenario. For a complete list of host names, see [Network Connections in Visual Studio Code](https://code.visualstudio.com/docs/setup/network).
1099
+
> The following list isn't a complete list of the hosts required for all Visual Studio Code resources on the internet, only the most commonly used. For example, if you need access to a GitHub repository or other host, you must identify and add the required hosts for that scenario. For a complete list of host names, see [Network Connections in Visual Studio Code](https://code.visualstudio.com/docs/setup/network).
1091
1100
1092
1101
| __Host name__ | __Purpose__ |
1093
1102
| ---- | ---- |
@@ -1167,13 +1176,15 @@ When you create a private endpoint, you provide the _resource type_ and _subreso
1167
1176
1168
1177
When you create a private endpoint for Azure Machine Learning dependency resources, such as Azure Storage, Azure Container Registry, and Azure Key Vault, the resource can be in a different Azure subscription. However, the resource must be in the same tenant as the Azure Machine Learning workspace.
1169
1178
1170
-
When configuring private endpoints for the workspace, they are only created when the first _compute is created_ or when managed virtual network provisioning is forced. For more information on forcing the managed virtual network provisioning, see [Manually provision the network](#manually-provision-a-managed-vnet).
1179
+
Private endpoints for the workspace aren't creeated automatically. They're only created when the first _compute is created_ or when managed virtual network provisioning is forced. For more information on forcing the managed virtual network provisioning, see [Manually provision the network](#manually-provision-a-managed-vnet).
1171
1180
1172
1181
### Approval of private endpoints
1173
1182
1174
-
To establish Private Endpoint connections in managed virtual networks using Azure Machine Learning, the workspace managed identity, whether system-assigned or user-assigned, must have permissions to approve the Private Endpoint connections on the target resources. Previously, this was done through automatic role assignments by the Azure Machine Learning service. However, there are security concerns about the automatic role assignment. To improve security, starting April 30th, 2025, we will discontinue this automatic permission grant logic. We recommend assigning the Azure AI Enterprise Network Connection Approver role or a custom role with the necessary Private Endpoint connection permissions on the target resource types and grant this role to the Azure Machine Learning workspace's managed identity to allow Azure Machine Learning services to approve Private Endpoint connections to the target Azure resources.
1183
+
To establish Private Endpoint connections in managed virtual networks using Azure Machine Learning, the workspace managed identity, whether system-assigned or user-assigned, must have permissions to approve the Private Endpoint connections on the target resources. Previously, this assignment was done through automatic role assignments by the Azure Machine Learning service. However, there are security concerns about the automatic role assignment. To improve security, starting April 30th, 2025, this role assignment isn't automatic.
1184
+
1185
+
We recommend assigning the Azure AI Enterprise Network Connection Approver role, or a custom role with the necessary Private Endpoint connection permissions, on the target resource types. To allow Azure Machine Learning services to approve Private Endpoint connections to the target Azure resources, grant this role to the Azure Machine Learning workspace's managed identity.
1175
1186
1176
-
Here's the list of private endpoint target resource types covered by covered by the Azure AI Enterprise Network Connection Approver role:
1187
+
Here's the list of private endpoint target resource types covered by the Azure AI Enterprise Network Connection Approver role:
1177
1188
* Azure Application Gateway
1178
1189
* Azure Monitor
1179
1190
* Azure AI Search
@@ -1184,25 +1195,25 @@ Here's the list of private endpoint target resource types covered by covered by
1184
1195
* Azure Machine Learning registry
1185
1196
* Azure AI Foundry
1186
1197
* Azure Key Vault
1187
-
* Azure CosmosDB
1198
+
* Azure Cosmos DB
1188
1199
* Azure Database for MySQL
1189
1200
* Azure Database for PostgreSQL
1190
1201
* Azure AI Services
1191
1202
* Azure Cache for Redis
1192
1203
* Container Registry
1193
1204
* API Management
1194
1205
1195
-
For creating Private Endpoint outbound rules to target resource types not covered by the Azure AI Enterprise Network Connection Approver role, such as Azure Data Factory, Azure Databricks, and Azure Function Apps, a custom scoped-down role is recommended, defined only by the actions necessary to approve private endpoint connections on the target resource types.
1206
+
To create Private Endpoint outbound rules to target resource types not covered by the Azure AI Enterprise Network Connection Approver role, a custom scoped-down role is recommended. The rule should define the actions necessary to approve private endpoint connections on the target resource types. Examples of such resource types are Azure Data Factory, Azure Databricks, and Azure Function Apps.
1196
1207
1197
-
For creating Private Endpoint outbound rules to default workspace resources, the required permissions are automatically covered by the role assignments granted during workspace creation, so no additional action is needed.
1208
+
To create Private Endpoint outbound rules to default workspace resources, the required permissions are automatically covered by the role assignments granted during workspace creation, so no other action is needed.
1198
1209
1199
1210
## Select an Azure Firewall version for allowed only approved outbound
1200
1211
1201
1212
An Azure Firewall is deployed if an FQDN outbound rule is created while in the _allow only approved outbound_ mode. Charges for the Azure Firewall are included in your billing. By default, a __Standard__ version of AzureFirewall is created. Optionally, you can select to use a __Basic__ version. You can change the firewall version used as needed. To figure out which version is best for you, visit [Choose the right Azure Firewall version](/azure/firewall/choose-firewall-sku).
1202
1213
1203
1214
> [!IMPORTANT]
1204
1215
> The firewall isn't created until you add an outbound FQDN rule. For more information on pricing, see [Azure Firewall pricing](https://azure.microsoft.com/pricing/details/azure-firewall/) and view prices for the _standard_ version.
1205
-
> URL-based filtering is only supported with Premium SKU Azure Firewall, not Basic or Standard SKU Azure Firewall. Managed virtual network does not support Premium SKU Azure Firewall.
1216
+
> URL-based filtering is only supported with Premium SKU Azure Firewall, not Basic or Standard SKU Azure Firewall. Managed virtual network doesn't support Premium SKU Azure Firewall.
1206
1217
1207
1218
::: zone pivot="azure-portal"
1208
1219
@@ -1229,6 +1240,7 @@ tags: {}
1229
1240
```
1230
1241
1231
1242
::: zone-end
1243
+
1232
1244
::: zone pivot="python-sdk"
1233
1245
1234
1246
To configure the firewall version from the Python SDK, set the `firewall_sku` property of the `ManagedNetwork` object. The following example demonstrates how to set the firewall SKU to `basic`:
0 commit comments