提示流中的网络隔离

可以使用专用网络保护提示流。 本文介绍在受专用网络保护的环境中使用提示流的要求。

涉及的服务

使用提示流开发 AI 应用程序时,需要安全的环境。 可以为以下服务配置网络隔离:

核心 Azure 机器学习服务

  • 工作区:将 Azure 机器学习工作区配置为专用工作区,并限制其入站和出站流量。
  • 计算资源:应用入站和出站规则以限制工作区中的计算资源访问。
  • 存储帐户:限制特定虚拟网络的存储帐户可访问性。
  • 容器注册表:使用虚拟网络配置保护容器注册表。
  • 终结点:控制哪些 Azure 服务或 IP 地址可以访问已部署的终结点。

外部资源

  • 非 Azure 资源:对于 SerpAPI 等外部 API,请将 FQDN 规则添加到出站流量限制以维护访问。

不同网络设置中的选项

在 Azure 机器学习中,我们有两个选项来保护网络隔离:自带网络或使用工作区管理的虚拟网络。 详细了解如何保护工作区资源

下表展示了不同网络设置中的提示流选项。

流入量 流出量 创作中的计算类型 推理中的计算类型 工作区的网络选项
公用 公用 无服务器(建议),计算实例 托管在线端点(推荐) 托管(推荐)
公用 公用 无服务器(建议),计算实例 K8s 联机终结点 自带
私人 公用 无服务器(建议),计算实例 托管在线端点(推荐) 托管(推荐)
私人 公用 无服务器(建议),计算实例 K8s 联机终结点 自带
公用 私人 无服务器(建议),计算实例 托管联机终结点 托管
私人 私人 无服务器(建议),计算实例 托管联机终结点 托管
  • 在专用虚拟网络场景中,我们建议使用启用工作区的托管虚拟网络。 这是保护工作区和相关资源的最简单方法。
  • 不支持在单个工作区中使用托管 vNet 和自带虚拟网络的组合。 此外,由于托管联机终结点仅受托管虚拟网络支持,因此无法在启用了自带虚拟网络的工作区中将提示流部署到托管联机终结点。
  • 你可以有一个工作区用于使用你自己的虚拟网络进行提示流创作,另一个工作区用于使用具有工作区托管虚拟网络的托管联机终结点进行提示流部署。

使用工作区管理的虚拟网络来确保提示流的安全

建议使用工作区托管虚拟网络在提示流中支持网络隔离。 它提供了一种简单的配置来保护工作区。 在工作区级别启用托管 vNet 后,与同一虚拟网络中的工作区相关的资源将在工作区级别使用相同的网络设置。 还可以将工作区配置为使用专用终结点访问其他 Azure 资源,例如 Azure OpenAI、Azure 内容安全和 Azure AI 搜索。 还可以配置 FQDN 规则,以批准与提示流(例如 SerpAPI)使用的非 Azure 资源的出站连接。

  1. 按照工作区托管网络隔离来启用工作区托管虚拟网络。

    重要

    托管虚拟网络的创建将推迟到创建计算资源或手动启动预配后。 可以使用以下命令手动触发网络预配。

    az ml workspace provision-network --subscription <sub_id> -g <resource_group_name> -n <workspace_name>
    
  2. 将工作区 MSI 作为 Storage File Data Privileged Contributor 添加到与工作区关联的存储帐户。

    2.1 转到 Azure 门户并找到工作区。

    显示如何从 Azure 机器学习门户转到 Azure 门户的关系图。

    2.2 查找与工作区关联的存储帐户。

    显示如何在 Azure 门户中查找工作区链接存储帐户的关系图。

    2.3 导航到存储帐户的角色分配页。

    显示如何跳转到存储帐户角色分配的关系图。

    2.4 查找存储文件数据特权参与者角色。

    显示如何查找存储文件数据特权参与者角色的关系图。

    2.5 将存储文件数据特权参与者角色分配给工作区托管标识。

    显示如何将存储文件数据特权参与者角色分配给工作区托管标识的关系图。

    注意

    此操作可能需要几分钟才能生效。

  3. 若要与 专用 Azure AI 服务通信,需要向相关资源添加相关的用户定义的出站规则。 Azure 机器学习工作区使用自动批准在相关资源中创建专用终结点。 如果状态停滞在待处理状态,请转到相关资源手动批准专用终结点。

    Azure AI Services 用户定义的出站规则的屏幕截图。

    用户批准专用终结点的屏幕截图。

  4. 如果将出站流量限制为仅允许特定目标,则必须添加相应的用户定义的出站规则,以允许相关的 FQDN。

    用户定义的非 Azure 资源出站规则的屏幕截图。

  5. 在启用托管 VNet 的工作区中,只能将提示流部署到托管联机终结点。 可以遵循使用网络隔离保护托管的联机终结点中的说明来保护托管联机终结点。

使用你自己的虚拟网络保护提示流

已知限制

  • 具有选择性外发功能的托管在线端点需要一个具有托管 vNet 的工作区。 如果使用你自己的虚拟网络,请考虑使用此双工作区方法:- 将一个工作区与虚拟网络配合使用进行提示流创作 - 使用具有托管 vNet 的单独工作区通过托管联机终结点进行提示流部署

后续步骤