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

创建一个具有用户管理身份的网络安全环境

Azure AI Foundry 代理服务通过专用网络环境设置提供标准设置,使你能够自带 (BYO) 专用虚拟网络。 此设置创建一个独立的网络环境,使你能够安全地访问数据并执行作,同时保持对网络基础结构的完全控制。 本指南提供设置过程的分步演练,并概述了所有必要的要求。

安全功能

默认情况下,使用专用网络隔离的标准设置可确保:

  • 没有公共出口:基础基础结构可确保代理和工具的正确身份验证和安全性,而无需绕过受信任的服务。

  • 容器注入:允许平台网络托管 API 并将子网注入网络,从而在同一虚拟网络中实现 Azure 资源的本地通信。

  • 专用资源访问:如果资源被标记为专用且无法从 Internet 进行发现,则平台网络仍可访问它们,前提是所需的凭据和授权已到位。

对于没有现有虚拟网络的客户,使用专用网络模板的标准设置可以通过自动预配必要的网络基础结构来简化部署。

体系结构图

显示虚拟网络架构的架构图。

已知的限制

  • 子网 IP 地址限制:两个子网必须具有 IP 范围,符合 172.16.0.0/12192.168.0.0/16,即为专用网络保留的 B 类或 C 类私有地址范围。 不支持公共类 A、B 或 C 地址范围。 专用类 A 地址范围具有有限的区域支持。 有关详细信息,请参阅 GitHub 上的专用网络安全代理部署模板
  • 代理子网排他性:代理子网不能由多个 Azure AI Foundry 资源共享。 每个 AI Foundry 都必须使用专用代理子网。
  • 代理子网大小:由于子网委派给 Microsoft.App/environment,委托的代理子网的建议大小为 /24(256 个地址)。 有关子网大小调整的详细信息,请参阅 为 Azure 容器应用配置虚拟网络
  • 代理子网出口防火墙允许列表:如果要将 Azure 防火墙与专用网络安全标准代理集成,请将与 Azure 防火墙集成文章在“托管标识”下列出的完全限定的域名 (FQDN) 加入允许列表,或者添加服务标记 AzureActiveDirectory。
    • 验证确认防火墙中未发生可能会添加自签名证书的 TLS 检查。 在出现故障期间,检查防火墙上是否有流量进入,以及防火墙阻止的流量种类。
  • 所有 Foundry 工作区资源都必须部署在虚拟网络(VNet)所在的同一区域中。 这包括 Cosmos DB、存储帐户、AI 搜索、Foundry 帐户、项目、托管标识、Azure OpenAI 或其他用于模型部署的 Foundry 资源。
    • 例外: 可以通过在 Project 的功能主机上配置适当的 AI Services 连接,将 Foundry 项目连接到部署在不同区域中的模型。
  • 区域可用性
  • Azure Blob 存储:不支持将 Azure Blob 存储文件与文件搜索工具配合使用。
  • 专用 MCP 服务器:不支持使用部署在同一虚拟网络中的专用 MCP 服务器,仅支持可公开访问的 MCP 服务器。

Prerequisites

  • Azure 订阅 - 免费创建订阅

  • 确保创建帐户和项目的个人在订阅范围内具有 Azure AI 帐户所有者 角色

  • 部署模板的人员还必须有权将角色分配给所需的资源(Cosmos DB、搜索、存储)。

    • 所需的内置角色是 基于角色的访问管理员
    • 或者,在订阅级别拥有 “所有者” 角色也满足此要求。
    • 所需的密钥权限为: Microsoft.Authorization/roleAssignments/write
  • Python 3.8 或更高版本

  • 配置代理环境后,请确保想要使用代理场或 SDK 创建或编辑代理的每个团队成员都已为项目分配内置的 Azure AI 用户RBAC 角色

    • 所需的最小权限集为: agents/*/readagents/*/actionagents/*/delete
  • 注册服务提供商。 必须注册以下提供程序:

    • Microsoft.KeyVault
    • Microsoft.CognitiveServices
    • Microsoft.Storage
    • Microsoft.MachineLearningServices
    • Microsoft.Search
    • Microsoft.Network
    • Microsoft.App
    • Microsoft.ContainerService
    • 使用必应搜索工具:Microsoft.Bing
       az provider register --namespace 'Microsoft.KeyVault'
       az provider register --namespace 'Microsoft.CognitiveServices'
       az provider register --namespace 'Microsoft.Storage'
       az provider register --namespace 'Microsoft.MachineLearningServices'
       az provider register --namespace 'Microsoft.Search'
       az provider register --namespace 'Microsoft.Network'
       az provider register --namespace 'Microsoft.App'
       az provider register --namespace 'Microsoft.ContainerService'
       # only to use Grounding with Bing Search tool
       az provider register --namespace 'Microsoft.Bing'
    

配置新的受网络保护的环境

Note

  • 为 Azure AI Foundry Agent 服务配置网络安全环境需要程序化部署。 目前不支持通过 Azure 门户进行部署。
  • 如果想要删除已设置安全网络的 Foundry 资源和标准智能体,请最后删除 AI Foundry 资源和虚拟网络。 在删除虚拟网络之前,请确保删除并 清除 AI Foundry 资源。
  • 在标准设置中,代理使用客户拥有的单租户资源。 你可以对这些资源进行完全控制和可见性,但会根据使用情况产生成本。

可以使用 Bicep 或 Terraform 部署和自定义带有专用网络的标准设置。 提供的示例允许你自带虚拟网络并自定义部署以满足特定要求:

  • 已创建 Foundry 帐户和 Foundry 项目。
  • 已部署 gpt-4o 模型。
  • 如果未提供现有资源,则会自动创建用于存储客户数据的 Azure 资源(Azure 存储、Azure Cosmos DB 和 Azure AI 搜索)。
  • 这些资源连接到项目以存储文件、线程和矢量数据。
  • 默认情况下使用存储帐户和认知帐户(AI Foundry)Microsoft管理的加密密钥。

选择一种可用的部署方法:

使用专用网络模板深入了解标准设置

当您使用标准设置和私有网络代理模板时,以下内容将自动进行配置,除非您自行提供:

网络基础结构

  • 创建虚拟网络(192.168.0.0/16)
  • 代理子网(192.168.0.0/24):用于托管代理客户端
  • 专用终结点子网 (192.168.1.0/24):托管专用终结点

专用 DNS 区域 配置了以下 DNS 区域:

  • privatelink.blob.core.windows.net
  • privatelink.cognitiveservices.azure.com
  • privatelink.documents.azure.com
  • privatelink.file.core.windows.net
  • privatelink.openai.azure.com
  • privatelink.search.windows.net
  • privatelink.services.ai.azure.com

虚拟网络(VNet)功能

虚拟网络允许你指定哪些终结点可以对资源进行 API 调用。 Azure 服务会自动拒绝来自已定义网络外部设备的 API 调用。 可以使用基于公式的定义或通过创建允许的终结点的详尽列表来建立允许的网络。 此安全层可以与其他安全措施相结合,以增强保护。

Note

如果将现有的虚拟网络和子网与 Microsoft.App/environments 委托相结合,则子网的最小大小应为 /27(32 个地址)。 我们建议子网大小为 /24(256 个地址),这是在网络安全模板中设置的默认子网大小。

网络规则

默认情况下,所有帐户及其相应的项目都受 公共网络访问禁用标志的保护,需要显式配置以允许通过专用终结点进行访问。

这些规则适用于所有 协议,包括 REST 和 WebSocket。 即使是 Azure 门户的测试控制台等内部测试工具也需要显式权限才能访问帐户及其子资源,从而确保所有代理项目的完整安全性。

专用终结点

对于代理,专用终结点可确保以下 Azure 资源的安全仅限内部的连接:

  • Azure AI Foundry
  • Azure AI 搜索
  • Azure 存储
  • Azure Cosmos DB

DNS 区域配置摘要

专用链接资源类型 子资源 专用 DNS 区域名称 公共 DNS 区域转发器
Azure AI Foundry 帐户 privatelink.cognitiveservices.azure.com
privatelink.openai.azure.com
privatelink.services.ai.azure.com
cognitiveservices.azure.com
openai.azure.com
services.ai.azure.com
Azure AI 搜索 searchService privatelink.search.windows.net search.windows.net
Azure Cosmos DB Sql privatelink.documents.azure.com documents.azure.com
Azure 存储 blob privatelink.blob.core.windows.net blob.core.windows.net

若要在 DNS 服务器中创建条件转发器到 Azure DNS 虚拟服务器,请使用上表中提到的区域列表。 Azure DNS 虚拟服务器 IP 地址为 168.63.129.16。

访问您的安全代理

模板部署完成后,可以使用以下方法之一访问虚拟网络后面的 Foundry 项目:

  • Azure VPN 网关:通过专用连接将本地网络连接到虚拟网络。 通过公共 Internet 建立连接。 可以使用两种类型的 VPN 网关:
    • 点到站点:每台客户端计算机使用 VPN 客户端连接到虚拟网络。
    • 站点到站点:VPN 设备将虚拟网络连接到本地网络。
  • ExpressRoute:通过专用连接将本地网络连接到云。 通过连接提供商建立连接。
  • Azure Bastion:在此方案中,会在虚拟网络中创建一个 Azure 虚拟机(有时称为跳转框)。 然后使用 Azure Bastion 连接到 VM。 Bastion 允许在本地 Web 浏览器中使用 RDP 或 SSH 会话连接到 VM。 然后使用 Jump Box 作为开发环境。 由于它位于虚拟网络内部,因此可以直接访问工作区。

Summary

标准代理设置的专用网络 提供企业级隔离和控制:

  • ✅ 所有入站和出站流量都与公共 Internet 保持隔离
  • ✅ 专用终结点保护所有客户数据
  • ✅ 自动专用 DNS 解析,确保流畅的内部访问
  • ✅ 为实现最大安全性,采用默认拒绝的严格网络规则

此设置使 AI 代理能够在专用隔离的虚拟网络中完全运行。 通过利用专用网络隔离(BYO VNet),组织可以强制实施自定义安全策略,确保 AI 代理在其受信任的基础结构中运行。

我们的目标是在不损害关键安全要求的情况下加快 AI 代理的开发与部署。 借助 bicep 和 ARM 模板,可以快速设置代理环境,同时仍保持对其网络和数据的全面控制。

接下来会发生什么?

现已成功配置网络安全帐户和项目,请使用 快速入门 创建第一个代理。