你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
本文内容
我们提供了两个网络隔离特性。 一种是用于访问 Azure AI Foundry 中心的网络隔离。 另一个是中心和项目(如计算实例、无服务器和托管在线终结点)中计算资源的网络隔离。 本文介绍关系图中突出显示的前者。 可以使用专用链接建立与中心及其默认资源的专用连接。 本文适用于 Azure AI Foundry(中心和项目)。 有关 Azure AI 服务的信息,请参阅 Azure AI 服务文档 。
在资源组中获得几个中心默认资源。 需要配置以下网络隔离配置。
禁用中心默认资源(例如 Azure 存储、Azure Key Vault、Azure 容器注册表)的公用网络访问。
建立与中心默认资源的专用终结点连接。 需要有用于默认存储帐户的 blob 和文件专用终结点。
如果存储帐户是专用的,则分配角色 以允许访问。
先决条件
创建使用专用终结点的中心
使用以下方法之一创建具有专用终结点的中心。 上述每种方法都需要一个现有的虚拟网络:
从 Azure 门户 中转到 Azure AI Foundry,然后选择“+ 新建 Azure AI” 。
在“网络 ”选项卡中选择网络隔离模式。
向下滚动到“工作区入站访问 ”,然后选择“+ 添加 ”。
输入必填字段。 选择“区域”时,请选择与虚拟网络相同的区域。
创建中心后,使用 Azure 网络 CLI 命令 为中心创建专用链接终结点。
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <vnet-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
若要为工作区创建专用 DNS 区域条目,请使用以下命令:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name privatelink.api.azureml.ms
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name privatelink.api.azureml.ms \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone privatelink.api.azureml.ms \
--zone-name privatelink.api.azureml.ms
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name privatelink.notebooks.azure.net
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name privatelink.notebooks.azure.net \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone privatelink.notebooks.azure.net \
--zone-name privatelink.notebooks.azure.net
将专用终结点添加到中心
使用以下方法之一将专用终结点添加到现有中心:
从 Azure 门户 中,选择中心。
从页面左侧,选择“网络”,然后选择“专用终结点连接”选项卡。
选择“区域”时,请选择与虚拟网络相同的区域。
选择“资源类型 ”时,请使用 azuremlworkspace
。
将“资源”设置为工作区名称。
最后,选择“创建”以创建专用终结点。
使用 Azure 网络 CLI 命令 为中心创建专用链接终结点。
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <vnet-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
若要为工作区创建专用 DNS 区域条目,请使用以下命令:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.api.azureml.ms'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.api.azureml.ms' \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone 'privatelink.api.azureml.ms' \
--zone-name 'privatelink.api.azureml.ms'
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.notebooks.azure.net'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.notebooks.azure.net' \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone 'privatelink.notebooks.azure.net' \
--zone-name 'privatelink.notebooks.azure.net'
删除专用终结点
可以移除中心的一个或所有专用终结点。 移除专用终结点将从与该终结点关联的 Azure 虚拟网络中移除中心。 移除专用终结点可能会防止中心访问该虚拟网络中的资源,或防止虚拟网络中的资源访问工作区。 例如,虚拟网络不允许访问公共 Internet 或从公共 Internet 进行访问。
警告
移除中心的专用终结点不会使其可公开访问 。 若要使中心可供公开访问,请使用启用公共访问 部分中的步骤。
若要删除专用终结点,请使用以下信息:
从 Azure 门户 中,选择中心。
从页面左侧,选择“网络”,然后选择“专用终结点连接”选项卡。
选择要删除的终结点,然后选择“删除”。
使用 Azure CLI 时,请使用以下命令删除专用终结点:
az network private-endpoint delete \
--name <private-endpoint-name> \
--resource-group <resource-group-name> \
启用公共访问
在某些情况下,可能希望允许某人通过公共终结点(而不是通过虚拟网络)连接到受保护的中心。 或者,你可能想要从虚拟网络中删除工作区,并重新启用公共访问。
重要
启用公共访问不会删除任何存在的专用终结点。 专用终结点连接到的虚拟网络后面的组件之间的所有通信仍然是安全的。 除了通过任何专用终结点进行专用访问以外,还可实现仅对中心的公共访问。
若要启用公共访问,请使用以下步骤:
从 Azure 门户 中,选择中心。
从页面左侧,选择“网络”,然后选择“公共访问”选项卡。
选择“已从所有网络启用”,然后选择“保存” 。
使用以下 Azure CLI 命令启用公共访问:
az ml workspace update --set public_network_access=Enabled -n <workspace-name> -g <resource-group-name>
如果收到找不到 ml
命令的错误,请使用以下命令安装 Azure 机器学习 CLI 扩展:
az extension add --name ml
专用存储配置
如果存储帐户是专用的(使用专用终结点与项目通信),请执行以下步骤:
我们的服务需要使用“允许受信任服务列表中的 Azure 服务访问此存储帐户 ”和以下托管标识配置来在专用存储帐户中读取/写入数据。 启用 Azure AI 服务和 Azure AI 搜索的系统分配托管标识,然后为每个托管标识配置基于角色的访问控制。
角色
托管标识
资源
目的
参考
Reader
Azure AI Foundry 项目
存储帐户的专用终结点
从专用存储帐户读取数据。
Storage File Data Privileged Contributor
Azure AI Foundry 项目
存储帐户
读取/写入提示流数据。
提示流文档
Storage Blob Data Contributor
Azure AI 服务
存储帐户
从输入容器读取,将预处理结果写入到输出容器。
Azure OpenAI 文档
Storage Blob Data Contributor
Azure AI 搜索
存储帐户
读取 Blob 和写入知识存储
搜索文档 。
提示
存储帐户可以有多个专用终结点。 需要将 Reader
角色分配给每个专用终结点。
将 Storage Blob Data reader
角色分配给开发人员。 此角色允许他们从存储帐户中读取数据。
验证项目与存储帐户的连接是否使用 Microsoft Entra ID 进行身份验证。 要查看连接信息,请转到“管理中心”,选择“连接资源”,然后选择存储帐户连接 。 如果凭据类型不是 Entra ID,请选择铅笔图标以更新连接,并将“身份验证方法”设置为“Microsoft Entra ID” 。
有关保护操场聊天的信息,请参阅安全地使用操场聊天 。
自定义 DNS 配置
有关 DNS 转发配置,请参阅 Azure 机器学习自定义 DNS 一文。
如果需要配置没有 DNS 转发的自定义 DNS 服务器,请为所需的 A 记录使用以下模式。
<AI-STUDIO-GUID>.workspace.<region>.cert.api.azureml.ms
<AI-PROJECT-GUID>.workspace.<region>.cert.api.azureml.ms
<AI-STUDIO-GUID>.workspace.<region>.api.azureml.ms
<AI-PROJECT-GUID>.workspace.<region>.api.azureml.ms
ml-<workspace-name, truncated>-<region>-<AI-STUDIO-GUID>.<region>.notebooks.azure.net
ml-<workspace-name, truncated>-<region>-<AI-PROJECT-GUID>.<region>.notebooks.azure.net
注意
可能会截断此 FQDN 的工作区名称。 截断是为了使 ml-<workspace-name, truncated>-<region>-<workspace-guid>
的字符小于或等于 63 个。
<instance-name>.<region>.instances.azureml.ms
注意
只能从虚拟网络内访问计算实例。
此 FQDN 的 IP 地址不是计算实例的 IP 地址。 请改用工作区专用终结点的专用 IP 地址(*.api.azureml.ms
条目的 IP。)
<instance-name>.<region>.instances.azureml.ms
- 仅供 az ml compute connect-ssh
命令用于连接到托管虚拟网络中的计算。 如果不使用托管网络或 SSH 连接,则不需要。
<managed online endpoint name>.<region>.inference.ml.azure.com
- 由托管联机终结点使用
若要查找 A 记录的专用 IP 地址,请参阅 Azure 机器学习自定义 DNS 一文。
若要检查 AI-PROJECT-GUID,请转到 Azure 门户,选择项目、设置、属性,然后就会显示工作区 ID。
限制
如果使用的是 Mozilla Firefox,则在尝试访问中心的专用终结点时可能会遇到问题。 此问题可能与 Mozilla Firefox 中基于 HTTPS 的 DNS 有关。 建议使用 Microsoft Edge 或 Google Chrome。
后续步骤