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

将 Azure OpenAI 服务添加到网络安全外围(预览版)

重要

  • Azure OpenAI 服务对网络安全外围的支持在补充使用条款下处于公共预览状态。 它在提供该功能的区域可用。 此预览版在提供时没有附带服务级别协议,不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。
  • 在开始之前,请查看限制和注意事项部分。

概述

本文介绍如何将 Azure OpenAI 服务加入网络安全外围,以控制对 Azure OpenAI 帐户的网络访问。 加入网络安全外围后,你就可以:

  • 记录在同一外围内其他 Azure 资源的上下文中对帐户的所有访问。
  • 阻止帐户中的任何数据外泄到外围外部的其他服务。
  • 允许通过网络安全周界的入站和出站访问功能来访问您的账户。

可以在 Azure 门户中将 Azure OpenAI 服务添加到网络安全外围,如本文所述。 或者,可以使用 Azure 虚拟网络管理器 REST API 加入服务,并使用管理 REST API 查看和同步配置设置。

限制和注意事项

  • Azure OpenAI 客户管理的密钥可能无法按预期方式运行。 Azure 订阅中的 Azure OpenAI 资源可能无法使用微调 API 或助手 API。

  • 网络安全边界仅控制 Azure OpenAI 中的数据平面操作,而不控制控制平面操作。 例如,用户可以在其受外围保护的 Azure OpenAI 资源中部署模型,但不能使用微调的模型、上传文件或在聊天场中启动会话。 在这些数据层方案中,错误消息显示网络安全外围阻止了访问,这是预期的结果。

  • 对于网络安全外围内的 Azure OpenAI 服务,资源必须使用系统或用户分配的托管标识,并且具有允许对数据源进行读取访问的角色分配。

  • 在为 Azure OpenAI 配置 Azure Blob 存储时,请考虑使用网络安全外围进行保护。 Azure OpenAI 现在支持将 Azure Blob 存储用于 Azure OpenAI Batch 输入和输出文件。 通过将两个资源放置在同一外围,保护与 Blob 存储和 Azure OpenAI 的通信。 有关 Azure OpenAI Batch 和 Blob 存储方案的详细信息,请参阅 为 Azure OpenAI 配置 Azure Blob 存储

先决条件

谨慎

在注册预览功能之前,请确保完全了解上一部分中列出的 Azure 订阅的限制和影响。

从 Azure 门户预览功能注册网络安全外围功能。 功能名称如下:

  • OpenAI.NspPreview
  • AllowNSPInPublicPreview

或使用以下 CLI 命令注册两个预览版功能

  • az feature registration create --name OpenAI.NspPreview --namespace Microsoft.CognitiveServices
  • az feature registration create --name AllowNSPInPublicPreview --namespace Microsoft.Network

确保 Microsoft.CognitiveServicesMicrosoft.Network 提供程序已注册。 若要检查功能标志是否列入允许列表,请使用命令 az feature registration list

在 Azure OpenAI 帐户上配置托管标识

若要允许存储帐户通过 Microsoft Entra ID 身份验证识别 Azure OpenAI 服务,需要为 Azure OpenAI 服务启用托管标识。 最简单的方法是在 Azure 门户上切换系统分配的托管标识。 存储帐户所需的角色是“存储 Blob 数据参与者”。 确保从你的 Azure OpenAI 帐户向你的存储帐户分配该角色。

将 Azure OpenAI 帐户分配至网络安全边界

借助 Azure 网络安全外围,管理员能够为在虚拟网络外部部署的 PaaS 资源(例如 Azure 存储和 Azure SQL 数据库)定义逻辑网络隔离边界。 网络安全外围将通信限制为外围中的资源,并通过入站和出站访问规则来允许非外围公共流量。

可以将 Azure OpenAI 添加到网络安全外围,以便所有请求都在安全边界内发生。

  1. 在 Azure 门户中,为订阅查找网络安全外围服务。

  2. 从左侧菜单中选择 “关联资源 ”。

    显示左侧导航菜单中的关联资源选择的屏幕截图。

  3. 选择“添加”“将资源与现有配置文件关联”。>

    显示用于添加关联资源的按钮的屏幕截图。

  4. 对于配置文件,请选择你在创建网络安全外围时创建的配置文件。

  5. 选择 “关联”,然后选择创建的 Azure OpenAI 服务。

    显示将资源与配置文件相关联的屏幕的屏幕截图。

  6. 选择屏幕左下角的“关联”以创建关联。

网络安全外围访问模式

网络安全外围支持关联资源的两种不同的访问模式:

“模式” DESCRIPTION
学习模式 这是默认访问模式。 在学习模式下,网络安全外围将记录发往 Azure OpenAI 服务的所有流量,如果外围处于强制模式,这些流量将被拒绝。 这样,网络管理员就可以在实施访问规则之前了解 Azure OpenAI 服务的现有访问模式。
已强制执行模式 在强制模式下,网络安全边界会记录并拒绝所有未被访问规则显式允许的流量。

网络安全边界和 Azure OpenAI 服务网络设置

此设置 publicNetworkAccess 确定 Azure OpenAI 服务与网络安全外围的关联。

  • 在学习模式中,publicNetworkAccess 设置控制对资源的公共访问。
  • 在强制模式中,publicNetworkAccess 设置将被网络安全边界规则覆盖。 例如,设置为 publicNetworkAccessenabled Azure OpenAI 服务在强制模式下与网络安全外围相连接时,对 Azure OpenAI 服务的访问仍将由网络安全外围的访问规则所控制。

更改网络安全外围访问模式

  1. 在 Azure 门户中导航到你的网络安全外围资源。

  2. 在左侧菜单中,选择“资源”

    显示左侧导航菜单中的关联资源选择的屏幕截图。

  3. 在表中查找 Azure OpenAI 服务。

  4. 选择 Azure OpenAI 服务行最右侧的三个点。 在弹出窗口中选择“更改访问模式”

    显示用于更改访问模式的按钮的屏幕截图。

  5. 选择所需的访问模式,然后选择“应用”。

    显示应用访问模式的按钮的屏幕截图。

启用日志记录网络访问

  1. 在 Azure 门户中导航到你的网络安全外围资源。

  2. 在左侧菜单中选择“诊断设置”

    显示用于导航到诊断设置的按钮的屏幕截图。

  3. 选择“添加诊断设置”。

  4. 对于“诊断设置名称”,请输入任意名称,例如“诊断”。

  5. 在“日志”下,选择 allLogsallLogs 可确保记录对网络安全外围内资源的所有入站和出站网络访问。

  6. 在“目标详细信息”下,选择“存档到存储帐户”或“发送到 Log Analytics”工作区。 存储帐户必须与网络安全外围位于同一区域中。 可以使用现有存储帐户,也可以创建新的存储帐户。 Log Analytics 工作区可以位于不同于网络安全外围使用的区域。 你也可以选择其他任何适用的目的地。

    显示可用日志类别的屏幕截图。

  7. 选择“保存”以创建诊断设置并开始记录网络访问。

读取网络访问日志

Log Analytics 工作区

network-security-perimeterAccessLogs 表包含每个日志类别的所有日志(例如 network-security-perimeterPublicInboundResourceRulesAllowed)。 每个日志都包含与日志类别匹配的网络安全外围网络访问记录。

下面是 network-security-perimeterPublicInboundResourceRulesAllowed 日志格式的示例:

列名称 含义 示例值
个人资料 与 Azure OpenAI 服务关联的网络安全外围 defaultProfile
匹配的规则 日志匹配的规则的 JSON 说明 { "accessRule": "IP firewall" }
来源IP地址 入站网络访问的源 IP(如适用) 1.1.1.1
AccessRuleVersion 用于实施网络访问规则的网络安全外围访问规则的版本 0

为 Azure OpenAI 服务添加访问规则

网络安全外围配置文件指定允许或拒绝通过外围访问的规则。

在外围内,所有资源可在网络级别相互访问。 你仍需要设置身份验证和授权,但在网络级别,接受来自外围内的连接请求。

对于网络安全外围以外的资源,必须指定入站和出站访问规则。 入站规则指定允许哪些连接进入,出站规则指定允许哪些请求发出。

注释

在使用托管标识和角色分配对入站和出站访问进行身份验证时,与网络安全外围关联的任何服务都隐式地允许访问与同一网络安全外围关联的任何其他服务。 仅当允许在网络安全外围外部进行访问或使用 API 密钥进行身份验证的访问时,才需要创建访问规则。

添加入站访问规则

入站访问规则可以允许 Internet 和外围外部的资源连接到外围内部的资源。 网络安全外围支持两种类型的入站访问规则:

  • IP 地址范围。 IP 地址或范围必须采用无类别域际路由 (CIDR) 格式。 CIDR 表示法192.0.2.0/24的一个示例,表示从192.0.2.0192.0.2.255范围内的 IP。 这种类型的规则允许来自范围内任何 IP 地址的入站请求。
  • 订阅。 使用订阅中任何托管标识进行身份验证的入站访问受到此类规则的允许。

若要在 Azure 门户中添加入站访问规则,请执行以下操作:

  1. 在 Azure 门户中导航到你的网络安全外围资源。

  2. 在左侧菜单中,选择“配置文件”

    显示导航到个人资料界面按钮的屏幕截图。

  3. 选择与网络安全外围配合使用的配置文件。

    显示所选配置文件的屏幕截图。

  4. 在左侧菜单中选择“入站访问规则”

    显示用于导航到入站访问规则的按钮的屏幕截图。

  5. 选择 并添加

    显示规则按钮的屏幕截图。

  6. 输入或选择下列值:

    设置 价值
    规则名称 入站访问规则的名称(例如 MyInboundAccessRule)。
    源类型 有效值为 IP 地址范围或订阅。
    允许的源 如果选择了 IP 地址范围,请输入要允许入站访问的 CIDR 格式的 IP 地址范围。 此链接提供了 Azure IP 范围。 如果选择了 订阅,请使用您希望允许从中进行入站访问的订阅。
  7. 选择添加以创建入站访问规则。

    显示“添加”按钮的屏幕截图。

添加出站访问规则

回想一下,在公共预览版中,Azure OpenAI 只能连接到安全外围内的 Azure 存储或 Azure Cosmos DB。 如果要使用其他数据源,则需要一个出站访问规则来支持该连接。

网络安全外围支持基于目标完全限定域名 (FQDN) 的出站访问规则。 例如,可以允许与网络安全外围关联的任何服务对 FQDN(例如 mystorageaccount.blob.core.windows.net)进行出站访问。

若要在 Azure 门户中添加出站访问规则,请执行以下操作:

  1. 在 Azure 门户中导航到你的网络安全外围资源。

  2. 在左侧菜单中,选择“配置文件”

    显示个人资料导航按钮的屏幕截图。

  3. 选择与网络安全外围配合使用的配置文件。

    显示个人资料选择器的屏幕截图。

  4. 在左侧菜单中选择“出站访问规则”

    屏幕截图显示了用于导航到出站访问规则的按钮。

  5. 选择 并添加

    显示用于添加出站访问规则的按钮的屏幕截图。

  6. 输入或选择下列值:

    设置 价值
    规则名称 出站访问规则的名称(例如“MyOutboundAccessRule”)
    目标类型 保留为 FQDN
    允许的目的地 输入要允许出站访问的 FQDN 的逗号分隔列表
  7. 选择“添加”以创建出站访问规则。

    显示用于添加出站访问规则的屏幕的屏幕截图。

通过网络安全外围测试连接

若要通过网络安全外围测试连接,需要访问具有 Internet 连接的本地计算机或 Azure VM 上的 Web 浏览器。

  1. 将网络安全外围关联更改为 强制模式 ,开始强制实施对 Azure OpenAI 服务的网络访问的网络安全外围要求。

  2. 确定是要使用本地计算机还是 Azure VM。

  3. 使用 IP 地址时,可以为该 IP 地址创建入站访问规则以允许访问。 如果使用的是专用链接,则可以跳过此步骤。

  4. 最后,尝试在 Azure 门户中导航到 Azure OpenAI 服务。 在 Azure AI Foundry 中打开 Azure OpenAI 服务。 在聊天场中部署模型并与模型聊天。 如果收到响应,则网络安全边界配置正确。

查看和管理网络安全外围配置

可以使用网络安全外围配置 REST API 来查看和协调外围配置。 请务必使用预览 API 版本2024-10-01

另请参阅