你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何为 Azure AI Foundry 中心设置托管网络

注释

必须使用基本中心的项目来实现此功能。 不支持 Azure AI Foundry 项目 。 请参阅如何知道我拥有哪种类型的项目?创建基于中心的项目

基于中心的项目的网络隔离包含两部分:访问 Azure AI Foundry 中心,以及隔离中心和项目中的计算资源(如计算实例、无服务器和托管在线终结点)。 本文介绍后一部分内容。 该图表对此进行了强调说明。 使用中心内置网络隔离来保护计算资源。

展示 Azure AI Foundry 中心针对出站流量的网络隔离以及托管网络配置的图表。

设置以下网络隔离设置:

  • 选择网络隔离模式:允许 Internet 出站或仅允许经批准的出站。
  • 如果使用“仅允许经批准的出站”模式下的 Visual Studio Code 集成,请按照使用 Visual Studio Code部分所述创建 FQDN 出站规则。
  • 如果使用“仅允许经批准的出站”模式下的 Hugging Face 模型,请按照使用 Hugging Face 模型部分所述创建 FQDN 出站规则。
  • 如果使用“仅允许经批准的出站”模式下的某个开源模型,请按照 Azure 直接销售的模型部分所述创建 FQDN 出站规则。

网络隔离体系结构和隔离模式

启用托管虚拟网络隔离时,会为中心创建托管虚拟网络。 为中心创建的托管计算资源会自动使用此托管虚拟网络。 托管虚拟网络可以为中心使用的 Azure 资源(如 Azure 存储、Azure Key Vault 和 Azure 容器注册表)使用专用终结点。

为托管虚拟网络选择以下三种出站模式之一:

出站模式 DESCRIPTION 方案
允许 Internet 出站 允许来自托管虚拟网络的所有 Internet 出站流量。 你希望不受限制地访问 Internet 上的机器学习资源,例如 Python 包或预先训练的模型。1
仅允许已批准的出站 使用服务标记允许出站流量。 * 你希望最大程度地降低数据外泄风险,但需要在专用环境中准备所有必需的机器学习项目。
* 你希望配置对经批准的服务列表、服务标记或完全限定域名 (FQDN) 的出站访问权限。
已禁用 入站和出站流量不受限制。 需要从中心进行公共入站和出站。

1 可以使用“仅允许经批准的出站”模式下的出站规则,达到与使用“允许 Internet 出站”模式相同的效果。 不同之处在于:

  • 始终使用专用终结点访问 Azure 资源。
  • 必须为需要允许的每个出站连接添加规则。
  • 添加完全限定域名 (FQDN) 出站规则会增加成本,因为此规则类型使用 Azure 防火墙。 如果使用 FQDN 出站规则,Azure 防火墙费用将包含在你的账单中。 有关详细信息,请参阅定价
  • 仅允许批准的出站连接”的默认规则旨在最大程度地减少数据外泄的风险。 添加的任何出站规则都可能会增加风险。

托管虚拟网络预先配置了所需的默认规则。 当这些资源设置为专用或隔离模式设置为仅允许经批准的出站时,中心还会配置与中心、中心的默认存储帐户、容器注册表和密钥保管库之间的专用终结点连接。 选择隔离模式后,添加所需的其他出站规则。

下图显示了配置为“允许 Internet 出站”的托管虚拟网络:

此图表展示了配置为允许 Internet 出站流量的托管虚拟网络。

下图显示了配置为“仅允许已批准的出站”的托管虚拟网络

注释

在此配置中,中心使用的存储、密钥保管库和容器注册表均设置为专用。 由于它们是专用的,因此中心使用专用终结点来访问它们。

此图表展示了配置为仅允许经批准的出站流量的托管虚拟网络。

注释

若要从公共 AI Foundry 中心访问专用存储帐户,请在存储帐户的虚拟网络中使用 AI Foundry。 从虚拟网络内部访问 AI Foundry 可确保可以执行将文件上传到专用存储帐户之类的操作。 专用存储帐户独立于 AI Foundry 中心的网络设置。 请参阅配置 Azure 存储防火墙和虚拟网络

先决条件

开始之前,请确保你已满足以下先决条件:

  • 一份 Azure 订阅。 如果没有 Azure 订阅,请在开始操作前先创建一个免费帐户。

  • 为你的 Azure 订阅注册 Microsoft.Network 资源提供程序。 中心使用此提供程序为托管虚拟网络创建专用终结点。

    有关注册资源提供程序的信息,请参阅解决资源提供程序注册错误

  • 使用具有以下 Azure 基于角色的访问控制 (Azure RBAC) 操作的 Azure 标识来为托管虚拟网络创建专用终结点:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write

局限性

  • Azure AI Foundry 支持对计算资源进行托管虚拟网络隔离。 Azure AI Foundry 不支持使用你自己的虚拟网络进行计算隔离。 此方案与从本地网络访问 Azure AI Foundry 所需的 Azure 虚拟网络不同。
  • 启用托管虚拟网络隔离后,将无法禁用它。
  • 托管虚拟网络使用专用终结点连接到专用资源。 你无法在同一 Azure 资源(如存储帐户)上同时使用专用终结点和服务终结点。 在所有方案中都使用专用终结点。
  • 删除 Azure AI Foundry 时,服务会删除托管虚拟网络。
  • 在“仅允许经批准的出站”模式下,Azure AI Foundry 会自动启用数据外泄防护。 如果添加其他出站规则(如 FQDN),Microsoft 无法保证能防止数据外泄到这些目标。
  • FQDN 出站规则会增加托管虚拟网络的成本,因为它们使用 Azure 防火墙。 有关详细信息,请参阅定价
  • FQDN 出站规则仅支持端口 80 和 443。
  • 若要禁用计算实例的公共 IP 地址,请向中心添加专用终结点。
  • 对于托管网络中的计算实例,运行 az ml compute connect-ssh 以通过 SSH 连接。
  • 如果将托管网络配置为“仅允许已批准的出站”,则无法使用 FQDN 规则访问 Azure 存储帐户。 请改用专用终结点。

配置托管虚拟网络以允许 Internet 出站

小窍门

Azure AI Foundry 会延迟创建托管虚拟网络,直到创建计算资源或你手动开始预配。 通过自动创建,创建第一个计算资源可能需要约 30 分钟时间,因为这还会预配网络

  • 创建新的中心

    1. 登录 Azure 门户,然后从“创建资源”菜单中选择“Azure AI Foundry”。

    2. 选择“+ 新建 Azure AI”

    3. 在“基本信息”选项卡上输入所需信息。

    4. 在“网络”选项卡中,选择“Internet 出站专用”。

    5. 若要添加出站规则,请从“网络”选项卡中选择“添加用户定义的出站规则”。从“出站规则”边栏,输入以下信息

      • 规则名称:规则的名称。 该名称对于此中心来说必须是唯一的。
      • 目标类型:当网络隔离为“专用(带 Internet 出站)”时,唯一选项是“专用终结点”。 中心管理的虚拟网络不支持为所有 Azure 资源类型创建专用终结点。 请参阅 专用终结点 部分查看受支持资源的列表。
      • 订阅:包含要为其添加专用终结点的 Azure 资源的订阅。
      • 资源组:包含要为其添加专用终结点的 Azure 资源的资源组。
      • 资源类型:Azure 资源的类型。
      • 资源名称:Azure 资源的名称。
      • 子资源:Azure 资源类型的子资源。

      选择“保存”。 若要添加更多规则,请选择“添加用户定义的出站规则”

    6. 继续创建中心。

  • 更新现有中心

    1. 登录到 Azure 门户,然后选择要启用托管虚拟网络隔离的中心。

    2. 选择“网络”>“专用(带 Internet 出站)”

      • 若要添加出站规则,请从“网络”选项卡中选择“添加用户定义的出站规则”。在“出站规则”边栏中,提供在“创建新的中心”部分中创建中心时使用的相同信息

      • 若要 删除 出站规则,请为该规则选择“删除”。

    3. 选择页面顶部的“保存”,将更改应用到托管虚拟网络。

配置托管虚拟网络以仅允许已批准的出站

小窍门

创建计算资源时,Azure 会自动设置托管 VNet。 如果允许自动创建,由于网络也需要设置,因此创建第一个计算资源可能需要约 30 分钟。 如果配置了 FQDN 出站规则,第一个 FQDN 规则会使设置时间增加约 10 分钟。

  • 创建新的中心

    1. 登录到 Azure 门户,然后从“创建资源”菜单中选择“Azure AI Foundry”。

    2. 选择“+ 新建 Azure AI”

    3. 在“基本信息”选项卡中,提供必填的信息。

    4. 在“网络”选项卡中,选择“已批准出站专用”

    5. 若要添加出站规则,请从“网络”选项卡中选择“添加用户定义的出站规则”。从“出站规则”边栏,提供以下信息

      • 规则名称:规则的名称。 该名称对于此中心来说必须是唯一的。
      • 目标类型:专用终结点、服务标记或 FQDN。 服务标记和 FQDN 仅在网络隔离为专用且出站已批准时可用。

      如果目标类型为“专用终结点”,请输入以下信息:

      • 订阅:包含要为其添加专用终结点的 Azure 资源的订阅。
      • 资源组:包含要为其添加专用终结点的 Azure 资源的资源组。
      • 资源类型:Azure 资源的类型。
      • 资源名称:Azure 资源的名称。
    • 子资源:Azure 资源类型的子资源。

    小窍门

    中心的托管 VNet 不支持为所有 Azure 资源类型创建专用终结点。 请参阅 专用终结点 部分查看受支持资源的列表。

    如果目标类型为“服务标记”,请输入以下信息:

    • 服务标记:要添加到已批准的出站规则的服务标记。
    • 协议:允许服务标记的协议。
    • 端口范围:服务标记允许的端口范围。

    如果目标类型为“FQDN”,请输入以下信息:

    • FQDN 目标:要添加到已批准的出站规则的完全限定的域名。

      选择“保存”以保存规则。 若要添加更多规则,请再次选择“添加用户定义的出站规则”

    1. 继续像往常一样创建中心。
  • 更新现有中心

    1. 登录到 Azure 门户,然后选择要为其启用托管虚拟网络隔离的中心。

    2. 选择“网络”>“专用(带经批准的出站)”

      • 若要添加出站规则,请从“网络”选项卡中选择“添加用户定义的出站规则”。在“出站规则”边栏中,输入在前面的“创建新的中心”部分中创建中心时使用的相同信息

      • 若要 删除 出站规则,请为该规则选择“删除”。

    3. 选择页面顶部的“保存”,将更改保存到托管虚拟网络。

手动预配托管 VNet

创建计算实例时,会自动预配托管虚拟网络。 依赖于自动预配时,创建第一个计算实例可能需要大约 30 分钟,因为此过程还需要预配网络。 如果配置了 FQDN 出站规则(仅在“仅允许已批准模式”下可用),第一个 FQDN 规则将使预配时间大约增加 10 分钟。 如果在托管网络中有大量出站规则需要预配,则完成预配可能需要较长的时间。 预配时间增加可能会导致首次计算实例创建超时。

若要减少等待时间并避免超时,请手动设置托管网络。 在创建计算实例之前,请等待配置完成。

或者,使用 provision_network_now 标志在创建中心期间设置托管网络。

注释

要将模型部署到托管计算,必须手动预配托管网络,或先创建一个计算实例。 创建计算实例会自动对其进行预配。

在工作区创建期间,选择“在创建时主动预配托管网络”来设置托管网络。 设置虚拟网络后,将对网络资源(如专用终结点)开始计费。 此选项仅在工作区创建期间可用。

管理出站规则

  1. 登录到 Azure 门户,然后选择要为其启用托管虚拟网络隔离的中心。
  2. 选择“网络”。 可通过“Azure AI 出站访问”部分管理出站规则。
  • 若要添加出站规则,请从“网络”选项卡中选择“添加用户定义的出站规则”。在“Azure AI 出站规则”边栏中,输入所需的值。

  • 若要启用禁用规则,请使用“活动”列中的切换按钮。

  • 若要 删除 出站规则,请为该规则选择“删除”。

所需规则列表

小窍门

这些规则会自动添加到托管虚拟网络 (VNet)。

专用终结点

  • 当托管虚拟网络的隔离模式为 Allow internet outbound 时,Azure AI Foundry 会自动从托管虚拟网络为禁用公共网络访问的中心及相关资源(Azure Key Vault、存储帐户、Azure 容器注册表和中心)创建所需的专用终结点出站规则。
  • 当托管虚拟网络的隔离模式为 Allow only approved outbound 时,无论相关资源(Azure Key Vault、存储帐户、Azure 容器注册表和中心)的公共网络访问设置如何,Azure AI Foundry 都会从托管虚拟网络自动为中心及关联资源创建所需的专用终结点出站规则。

Azure AI Foundry 需要一组用于专用网络的服务标记。 请勿替换所需的服务标记。 下表描述了每个必需的服务标记及其在 Azure AI Foundry 中的目的。

服务标签规则 入站或出站 目的
AzureMachineLearning 入站 创建、更新和删除 Azure AI Foundry 计算实例和群集。
AzureMachineLearning 出站 使用 Azure 机器学习服务。 笔记本中的 Python IntelliSense 使用端口 18881。 创建、更新和删除 Azure 机器学习计算实例时使用端口 5831。
AzureActiveDirectory 出站 使用 Microsoft Entra ID 进行身份验证。
BatchNodeManagement.region 出站 与 Azure Batch 后端通信,用于 Azure AI Foundry 计算实例和群集。
AzureResourceManager 出站 使用 Azure AI Foundry、Azure CLI 和 Azure AI Foundry SDK 创建 Azure 资源。
AzureFrontDoor.FirstParty 出站 访问由 Microsoft 提供的 docker 映像。
MicrosoftContainerRegistry 出站 访问由 Microsoft 提供的 docker 映像。 为 Azure Kubernetes 服务设置 Azure AI Foundry 路由器。
AzureMonitor 出站 将日志和指标发送到 Azure Monitor。 仅当尚未保护工作区的 Azure Monitor 时,才需要。 此出站规则还会记录支持事件的信息。
VirtualNetwork 出站 当虚拟网络或对等虚拟网络中存在专用终结点时所需。

特定于方案的出站规则列表

场景:访问公共机器学习包

若要安装用于训练和部署的 Python 包,请添加出站 FQDN 规则以允许以下主机名的出站流量:

注释

此列表涵盖了 Internet 上 Python 资源的常见主机。 如果需要访问 GitHub 仓库或其他主机,请确定并添加你的方案所需的主机。

主机名 目的
anaconda.com
*.anaconda.com
用于安装默认包。
*.anaconda.org 用于获取存储库数据。
pypi.org 列出默认索引中的依赖项(如果用户设置未覆盖它)。 如果覆盖了索引,则还需允许 *.pythonhosted.org
pytorch.org
*.pytorch.org
一些基于 PyTorch 的示例使用了它。
*.tensorflow.org 一些基于 TensorFlow 的示例使用了它。

方案:使用 Visual Studio Code

Visual Studio Code 依赖于特定的主机和端口来建立远程连接。

主机

使用这些主机安装 Visual Studio Code 包,并建立与项目计算实例的远程连接。

注释

这不是 Internet 上所有 Visual Studio Code 资源所需的完整主机列表,这只是最常使用的主机列表。 例如,如果需要访问 GitHub 存储库或其他主机,则必须标识并添加该方案所需的主机。 有关主机名的完整列表,请参阅 Visual Studio Code 中的网络连接

主机名 目的
*.vscode.dev
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
需要访问 Web 版 VS Code (vscode.dev)。
code.visualstudio.com 是下载和安装 VS Code 桌面所必需的。 VS Code Web 不需要此主机。
update.code.visualstudio.com
*.vo.msecnd.net
在设置脚本期间将 VS Code Server 组件下载到计算实例。
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
是下载并安装 VS Code 扩展所必需的。 这些主机可实现与计算实例的远程连接。 在使用 VS Code 中的 Azure AI Foundry 项目入门中了解详细信息。
vscode.download.prss.microsoft.com 用作 Visual Studio Code 下载 CDN。

港口

允许流向端口 8704 到 8710 的网络流量。 VS Code Server 会在此范围内选择第一个可用端口。

场景:使用 Hugging Face 模型

要将 HuggingFace 模型与中心配合使用,请添加出站 FQDN 规则以允许流量流向以下主机:

  • docker.io
  • *.docker.io
  • *.docker.com
  • production.cloudflare.docker.com
  • cdn.auth0.com
  • huggingface.co
  • cas-bridge.xethub.hf.co
  • cdn-lfs.huggingface.co

场景:Azure 直接销售的模型

这些模型在运行时安装依赖项,需要出站 FQDN 规则以允许流向以下主机的流量:

  • *.anaconda.org
  • *.anaconda.com
  • anaconda.com
  • pypi.org
  • *.pythonhosted.org
  • *.pytorch.org
  • pytorch.org

专用终结点

以下 Azure 服务当前支持专用终结点:

  • Azure AI Foundry 中心
  • Azure AI 搜索
  • Azure AI 服务
  • Azure API 管理
    • 仅支持无 VNet 注入的经典层和具有虚拟网络集成的标准 V2 层。 有关 API 管理虚拟网络的详细信息,请参阅虚拟网络概念
  • Azure 容器注册表
  • Azure Cosmos DB(所有子资源类型)
  • Azure 数据工厂
  • Azure Database for MariaDB
  • Azure Database for MySQL
  • Azure Database for PostgreSQL 单一服务器
  • Azure Database for PostgreSQL 灵活服务器
  • Azure Databricks
  • Azure 事件中心
  • Azure Key Vault
  • Azure 机器学习
  • Azure 机器学习注册表
  • Azure Cache for Redis
  • Azure SQL Server
  • Azure 存储(所有子资源类型)
  • Application Insights(通过 PrivateLinkScopes

创建专用终结点时,需要提供终结点连接到的资源类型子资源。 某些资源有多个类型和子资源。 有关详细信息,请参阅什么是专用终结点

为中心依赖项资源(例如 Azure 存储、Azure 容器注册表和 Azure Key Vault)创建专用终结点时,该资源可以位于不同的 Azure 订阅中。 但是,资源必须与中心位于同一租户中。

如果目标资源是前面列出的 Azure 资源之一,服务会自动创建专用终结点进行连接。 为专用终结点提供有效的目标 ID。 对于连接,目标 ID 可以是父资源的 Azure 资源管理器 ID。 在连接的目标中或 metadata.resourceid 中包含目标 ID。 有关连接的详细信息,请参阅如何在 Azure AI Foundry 门户添加新连接

批准专用终结点

若要使用 Azure AI Foundry 在托管虚拟网络中建立专用终结点连接,工作区托管标识(系统分配或用户分配)以及创建专用终结点的用户标识必须对目标资源上的专用终结点连接具有审批权限。 以前,Azure AI Foundry 服务通过自动角色分配授予此权限。 由于自动角色分配存在安全隐患,从 2025 年 4 月 30 日开始,服务将停止使用此自动权限授予逻辑。 分配 Azure AI 企业网络连接批准者角色或对目标资源类型具有必要的专用终结点连接权限的自定义角色,并将此角色授予 Foundry 中心的托管标识,以允许 Azure AI Foundry 批准与目标 Azure 资源的专用终结点连接。

下面是 Azure AI 企业网络连接审批者角色涵盖的专用终结点目标资源类型列表:

  • Azure 应用程序网关
  • Azure Monitor
  • Azure AI 搜索
  • Azure 事件中心
  • Azure SQL 数据库
  • Azure 存储
  • Azure 机器学习工作区
  • Azure 机器学习注册表
  • Azure AI Foundry
  • Azure Key Vault
  • Azure Cosmos DB
  • Azure Database for MySQL
  • Azure Database for PostgreSQL
  • Azure AI 服务
  • Azure Cache for Redis
  • Azure 容器注册表
  • Azure API 管理

对于 Azure AI 企业网络连接审批者角色未涵盖的目标资源类型(如 Azure 数据工厂、Azure Databricks 和 Azure Function Apps),若要创建专用终结点出站规则,请使用仅由在目标资源类型上批准专用终结点连接所需的操作定义的自定义、范围缩小的角色。

若要为默认工作区资源创建专用终结点出站规则,工作区创建会通过角色分配授予所需权限,因此你无需执行任何额外操作。

为仅允许已批准的出站选择 Azure 防火墙版本

在以“仅允许经批准的出站”模式添加出站 FQDN 规则时,会部署 Azure 防火墙。 Azure 防火墙费用会添加到你的账单中。 默认情况下,会创建“标准”版的 Azure 防火墙。 或者选择“基本”版。 可以随时更改防火墙版本。 若要了解哪个版本适合你的需求,请转到选择正确的 Azure 防火墙版本

重要

在添加出站 FQDN 规则之前,不会创建 Azure 防火墙。 有关定价详细信息,请参阅 Azure 防火墙定价并查看标准版的价格。

使用以下选项卡了解如何为托管虚拟网络选择防火墙版本。

选择“仅允许已批准的出站”模式后,将显示一个用于选择 Azure 防火墙版本 (SKU) 的选项。 选择“标准”或“基本”。 选择“保存”

定价

中心托管虚拟网络功能是免费的,但会对托管虚拟网络使用的以下资源收费:

  • Azure 专用链接 - 用于保护托管虚拟网络与 Azure 资源之间的通信的专用终结点使用 Azure 专用链接。 有关定价,请参阅 Azure 专用链接定价

  • FQDN 出站规则 - Azure 防火墙会强制实施这些规则。 如果使用出站 FQDN 规则,Azure 防火墙费用会显示在你的账单中。 默认情况下会使用标准版本的 Azure 防火墙。 若要选择基本版,请参阅选择 Azure 防火墙版本。 Azure 防火墙是按中心预配的。

    重要

    在添加出站 FQDN 规则之前,不会创建 Azure 防火墙。 如果不使用 FQDN 规则,则无需支付 Azure 防火墙费用。 有关定价,请参阅 Azure 防火墙定价