Azure 资源管理器上的新 API 平台的网络隔离更改
在本文中,你将了解 Azure 资源管理器 (ARM) 上的新 v2 API 平台对网络隔离所做的更改及其对网络隔离的影响。
Azure 资源管理器 (ARM) 上的新 API 平台简介
v1 和 v2 API 使用两种类型的操作,即使用 Azure 资源管理器 (ARM) 的操作和使用 Azure 机器学习工作区的操作。
使用 v1 API 时,大多数操作都使用了工作区。 对于 v2,我们移动了大多数操作以使用公共 ARM。
API 版本 | 公共 ARM | 在工作区虚拟网络内 |
---|---|---|
v1 | 工作区和计算的创建、更新和删除 (CRUD) 操作。 | 其他操作,如试验。 |
v2 | 大多数操作,例如工作区、计算、数据存储、数据集、作业、环境、代码、组件、终结点的操作。 | 其余操作。 |
v2 API 在一个位置提供一致的 API。 对于使用 v2 API 的资源,你可以更轻松地使用 Azure 基于角色的访问控制和 Azure Policy,因为它基于 Azure 资源管理器。
Azure 机器学习 CLI v2 使用新的 v2 API 平台。 新功能(如托管联机终结点)仅适用于 v2 API 平台。
V2 的网络隔离更改是什么
如上一部分所述,有两种类型的操作:使用 ARM 的操作和使用工作区的操作。 使用旧的 v1 API 时,大多数操作都使用了工作区。 使用 v1 API 时,向工作区添加专用终结点为工作区或计算资源上除 CRUD 操作以外的一切提供了网络隔离。
使用新的 v2 API 时,大多数操作都使用 ARM。 因此,在工作区上启用专用终结点不提供相同的网络隔离级别。 使用 ARM 的操作通过公共网络进行通信,包含操作使用的任何元数据(例如资源 ID)或参数。 例如参数。
重要
对于大多数人来说,可以使用公共 ARM 通信:
- 公共 ARM 通信是使用 Azure 服务执行管理操作的标准。 例如,创建 Azure 存储帐户或 Azure 虚拟网络使用 ARM。
- Azure 机器学习操作不会在公用网络上公开存储帐户(或 VNet 中的其他存储)中的数据。 例如,在 VNet 中的计算群集上运行并使用 VNet 中存储帐户中的数据的训练作业将使用 VNet 直接安全地访问数据。
- 与公共 ARM 的所有通信使用 TLS 1.2 进行加密。
如果你需要时间来评估新的 v2 API,然后再在企业解决方案中采用它,或者有一项禁止通过公用网络发送通信的公司策略,则可以启用 v1_legacy_mode 参数。 启用后,该参数会禁用工作区的 v2 API。
警告
启用 v1_legacy_mode 可能会阻止你使用 v2 API 提供的功能。 例如,Azure 机器学习工作室的某些功能可能不可用。
方案和所需操作
警告
v1_legacy_mode 参数现已可用,但从 2022 年 5 月 15 日所在的那一周开始,将强制实施 v2 API 阻止功能。
如果不打算将专用终结点与工作区配合使用,则无需启用参数。
如果决定使用与公共 ARM 通信的操作,则无需启用参数。
只有在要将专用终结点与工作区配合使用且不希望允许通过公用网络使用 ARM 进行操作的情况下,才需要启用参数。
实现该参数后,将使用以下逻辑以追溯方式将其应用到现有工作区:
如果使用有专用终结点的现有工作区,则标志为 true。
如果使用没有专用终结点的现有工作区(公共工作区),则标志为 false。
实现参数后,标志的默认值取决于(通过专用终结点)创建工作区时使用的基础 REST API 版本:
- 如果 API 版本早于
2022-05-01
,则默认情况下标志为 true。 - 如果 API 版本为
2022-05-01
或更高,则默认情况下标志为 false。
重要
如果要将 v2 API 与工作区配合使用,必须将 v1_legacy_mode 参数设置为 false。
如何更新 v1_legacy_mode 参数
警告
v1_legacy_mode 参数现已可用,但从 2022 年 5 月 15 日所在的那一周开始,将强制实施 v2 API 阻止功能。
若要更新 v1_legacy_mode,请使用以下步骤:
重要
如果要禁用 v2 API,请使用 Azure 机器学习 Python SDK v1。
若要禁用 v1_legacy_mode,请使用 Workspace.update 并设置 v1_legacy_mode=false
。
from azureml.core import Workspace
ws = Workspace.from_config()
ws.update(v1_legacy_mode=False)
重要
请注意,需要大约 30 分钟到 1 小时或更久,才能将 v1_legacy_mode 参数从 true 更改为 false 反映在工作区中。 因此,如果将参数设置为 false,但在后续操作中收到该参数为 true 的错误,请在几分钟后重试。