|
| 1 | +--- |
| 2 | +title: Network isolation change with our new API platform on Azure Resource Manager |
| 3 | +titleSuffix: Azure Machine Learning |
| 4 | +description: 'Explain network isolation changes with our new API platform on Azure Resource Manager and how to maintain network isolation' |
| 5 | +services: machine-learning |
| 6 | +ms.service: machine-learning |
| 7 | +ms.subservice: enterprise-readiness |
| 8 | +ms.topic: how-to |
| 9 | +ms.author: jhirono |
| 10 | +author: jhirono |
| 11 | +ms.reviewer: larryfr |
| 12 | +ms.date: 05/13/2022 |
| 13 | +--- |
| 14 | + |
| 15 | +# Network Isolation Change with Our New API Platform on Azure Resource Manager |
| 16 | + |
| 17 | +In this article, you'll learn about network isolation changes with our new v2 API platform on Azure Resource Manager (ARM) and its effect on network isolation. |
| 18 | + |
| 19 | +## What is the new API platform on Azure Resource Manager (ARM) |
| 20 | + |
| 21 | +There are two types of operations used by the v1 and v2 APIs, __Azure Resource Manager (ARM)__ and __Azure Machine Learning workspace__. |
| 22 | + |
| 23 | +With the v1 API, most operations used the workspace. For v2, we've moved most operations to use public ARM. |
| 24 | + |
| 25 | +| API version | Public ARM | Workspace | |
| 26 | +| ----- | ----- | ----- | |
| 27 | +| v1 | Workspace and compute create, update, and delete (CRUD) operations. | Other operations such as experiments. | |
| 28 | +| v2 | Most operations such as workspace, compute, datastore, dataset, job, environment, code, component, endpoints. | Remaining operations. | |
| 29 | + |
| 30 | + |
| 31 | +The v2 API provides a consistent API in one place. You can more easily use Azure role-based access control and Azure Policy for resources with the v2 API because it's based on Azure Resource Manager. |
| 32 | + |
| 33 | +The Azure Machine Learning CLI v2 uses our new v2 API platform. New features such as [managed online endpoints](concept-endpoints.md) are only available using the v2 API platform. |
| 34 | + |
| 35 | +## What are the network isolation changes with V2 |
| 36 | + |
| 37 | +As mentioned in the previous section, there are two types of operations; with ARM and with the workspace. With the __legacy v1 API__, most operations used the workspace. With the v1 API, adding a private endpoint to the workspace provided network isolation for everything except CRUD operations on the workspace or compute resources. |
| 38 | + |
| 39 | +With the __new v2 API__, most operations use ARM. So enabling a private endpoint on your workspace doesn't provide the same level of network isolation. Operations that use ARM communicate over public networks, and include any metadata (such as your resource IDs) or parameters used by the operation. For example, the [create or update job](/rest/api/azureml/jobs/create-or-update) api sends metadata, and [parameters](/azure/machine-learning/reference-yaml-job-command). |
| 40 | + |
| 41 | +> [!TIP] |
| 42 | +> * Public ARM operations do not surface data in your storage account on public networks. |
| 43 | +> * Your communication with public ARM is encrypted using TLS 1.2. |
| 44 | +
|
| 45 | +If you need time to evaluate the new v2 API before adopting it in your enterprise solutions, or have a company policy that prohibits sending communication over public networks, we'll provide a *v1_legacy_mode* parameter. When enabled, this parameter disables the v2 API for your workspace. |
| 46 | + |
| 47 | +> [!IMPORTANT] |
| 48 | +> Enabling v1_legacy_mode may prevent you from using features provided by the v2 API. For example, some features of Azure Machine Learning studio may be unavailable. |
| 49 | +
|
| 50 | +## Scenarios and Required Actions |
| 51 | + |
| 52 | +>[!WARNING] |
| 53 | +>The *v1_legacy_mode* parameter is not implemented yet. It will be implemented the week of May 15th, 2022. |
| 54 | +
|
| 55 | +* If you don't plan on using a private endpoint with your workspace, you don't need to enable parameter. |
| 56 | + |
| 57 | +* If you're OK with operations communicating with public ARM, you don't need to enable the parameter. |
| 58 | + |
| 59 | +* You only need to enable the parameter if you're using a private endpoint with the workspace _and_ don't want to allow operations with ARM over public networks. |
| 60 | + |
| 61 | +Once we implement the parameter, it will be retroactively applied to existing workspaces using the following logic: |
| 62 | + |
| 63 | +* If you have __an existing workspace with a private endpoint__, the flag will be __true__. |
| 64 | + |
| 65 | +* If you have __an existing workspace without a private endpoint__ (public workspace), the flag will be __false__. |
| 66 | + |
| 67 | +After the parameter has been implemented, the default value of the flag depends on the underlying REST API version used when you create a workspace (with a private endpoint): |
| 68 | + |
| 69 | +* If the API version is __older__ than `2022-05-01`, then the flag is __true__ by default. |
| 70 | +* If the API version is `2022-05-01` or __newer__, then the flag is __false__ by default. |
| 71 | + |
| 72 | +> [!IMPORTANT] |
| 73 | +> If you want to use the v2 API with your workspace, you must set the v1_legacy_mode parameter to false. |
| 74 | +
|
| 75 | +## How to update v1_legacy_mode parameter |
| 76 | + |
| 77 | +>[!WARNING] |
| 78 | +>This parameter is not implemented yet. It will be implemented the week of May 15th, 2022. |
| 79 | +
|
| 80 | +To update v1_legacy_mode, use the following steps: |
| 81 | + |
| 82 | +# [Python](#tab/python) |
| 83 | + |
| 84 | +To disable v1_legacy_mode, use [Workspace.update](/python/api/azureml-core/azureml.core.workspace(class)#update-friendly-name-none--description-none--tags-none--image-build-compute-none--service-managed-resources-settings-none--primary-user-assigned-identity-none--allow-public-access-when-behind-vnet-none-) and set `v1_legacy_mode=false`. |
| 85 | + |
| 86 | +```python |
| 87 | +from azureml.core import Workspace |
| 88 | + |
| 89 | +ws = Workspace.from_config() |
| 90 | +ws.update(v1_legacy_mode=false) |
| 91 | +``` |
| 92 | + |
| 93 | +# [Azure CLI extension v1](#tab/azurecliextensionv1) |
| 94 | + |
| 95 | +The Azure CLI [extension v1 for machine learning](reference-azure-machine-learning-cli.md) provides the [az ml workspace update](/cli/azure/ml/workspace#az-ml-workspace-update) command. To enable the parameter for a workspace, add the parameter `--set v1-legacy-mode=true`. |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +## Next steps |
| 100 | + |
| 101 | +* [Use a private endpoint with Azure Machine Learning workspace](how-to-configure-private-link.md). |
| 102 | +* [Create private link for managing Azure resources](/azure/azure-resource-manager/management/create-private-link-access-portal). |
0 commit comments