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

在 Azure AI 搜索 中将 Azure API 管理 与 Azure OpenAI 技能和向量器配合使用

注释

Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。

可以将 Azure API 管理 置于 Microsoft Foundry Models 中的 Azure OpenAI 和 Microsoft Foundry 部署之前,以便为使用 Foundry 模型的 Azure AI 搜索 工作负载集中实现路由、负载均衡、限流和可观测性。 本文介绍支持的场景、建议的身份验证和基于角色的访问控制(RBAC)模式,以及如何选择性地将来自 Azure AI 搜索 的连接设为专用连接。

支持的方案

你可以通过 API 管理,借助以下 Azure AI 搜索 功能调用 Microsoft Foundry 模型部署:

对于每一项,请将技能或向量化器终结点设置为 API Management 网关 URL,即 https://<resource-name>.azure-api.net 或 API Management 自定义域名 之一。

不支持的方案

API 管理不支持用作以下项的网关:

Architecture

有两个常见流。 两者在后端使用相同的 API 管理配置。

公共路径

Azure AI 搜索 通过其公共端点调用 API 管理网关。 API 管理对 Microsoft Foundry 资源进行身份验证,并转发请求。

Azure AI Search (skill or vectorizer)
   └─▶ API Management gateway (azure-api.net or custom domain)
          [API Management policies authenticate the caller]
          [API Management's managed identity authenticates to Foundry]
          └─▶ Azure OpenAI in Foundry Models / Microsoft Foundry resource

从Azure AI 搜索到 API 管理的专用路径

当搜索服务必须私下访问 API 管理时,请创建从搜索服务到 API 管理实例的 共享专用链接 ,并在 专用执行环境中运行索引器。

Azure AI Search (private indexer execution)
   └─▶ Shared private link (Microsoft.ApiManagement/service, group "Gateway")
          └─▶ API Management private endpoint
                 └─▶ Microsoft Foundry resource (public or private endpoint)

对 Foundry 的 API 管理是标准后端模式。 有关更深入的拓扑指导(包括多区域、多实例以及主动-主动或主动-被动拓扑),请参阅 在多个 Azure OpenAI 部署或实例前使用网关 和 Azure API 管理 中生成式 AI 网关功能概述。

在技能或向量器中配置终结点

将技能或向量器终结点设置为 API 管理网关 URL:

功能 财产 价值
Azure OpenAI 集成技能 resourceUri https://<apim-name>.azure-api.net 或 API Management 自定义域
Azure OpenAI 向量器 resourceUri https://<apim-name>.azure-api.net 或 API Management 自定义域
GenAI 提示技能 uri https://<apim-name>.azure-api.net 或 API Management 自定义域

身份验证和 RBAC

涉及两个身份。 他们有不同的职责和不同的角色分配。

身份 其中提供了凭据 角色或机制
Azure AI 搜索托管标识 在 API 管理网关中 由 API 管理策略授权。 使用下面的凭据终止模式时,不需要在 Microsoft Foundry 资源上分配角色。
API Management 托管标识 在 Microsoft Foundry 资源中 Microsoft Foundry 资源上的认知服务 OpenAI 用户。

建议的模式是凭据终止并重新建立:调用方向 API 管理进行身份验证,API 管理使用自己的托管标识向 Microsoft Foundry 资源进行身份验证。 有关详细信息,请参阅 AOAI 网关体系结构指南中的 Azure OpenAI 授权。

API 管理网关上的身份验证选项

选择以下选项之一,以确定 Azure AI 搜索向 API 管理进行身份验证的方式。 有关详细信息和策略示例,请参阅 使用 API 管理对 LLM API 进行身份验证和授权访问。

  • 订阅密钥:API 管理将 Microsoft Foundry 资源 API 密钥存储在命名值中,策略会将其传递给后端请求。 这是配置的最简单选项。 它使用带有 set-header 标头的 api-key 策略。 由于搜索服务仅发送 API Management 订阅密钥,因此不需要在搜索服务托管标识上分配 Microsoft Entra ID 角色。

  • 网关处带有 OAuth 验证的托管标识:API Management 使用 validate-azure-ad-token 策略来验证搜索服务托管标识提供的 Microsoft Entra ID 令牌。 使用此选项进行深度防御。

  • (建议模式必需)API 管理托管标识到后端:在 API 管理实例上启用系统分配的或用户分配的托管标识,然后在 Microsoft Foundry 资源上为其分配认知服务 OpenAI 用户角色。 请参阅使用托管标识进行身份验证和Azure OpenAI 的基于角色的访问控制。

Tip

从 Azure AI 搜索 到 API 管理的专用连接

如果Azure AI 搜索在其公共终结点上调用 API 管理,请跳过本部分。

若要将来自搜索服务的出站流量限制为专用通道,

  1. 创建从搜索服务到 API 管理实例的共享专用链接。 使用 Microsoft.ApiManagement/service 资源类型和 Gateway 组 ID。 有关步骤,请参阅 通过共享专用链接建立出站连接。

  2. 批准 API 管理实例上的专用终结点连接。

  3. 配置使用该技能或向量化器的索引器以在私有执行环境中运行。

共享专用链接根据搜索服务层级的 共享专用链接限制 进行计数。

从 API 管理到 Microsoft Foundry 资源的私有连接

从 API 管理到 Microsoft Foundry 资源的专用通道独立于搜索到 API 管理连接,并在 API 管理端配置。 有关选项,请参阅: