搭配 Azure AI 搜尋服務中的 Azure OpenAI 技能和向量化工具使用 Azure API 管理

Note

Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。

你可以將 Azure API 管理 置於 Microsoft Foundry Models 中的 Azure OpenAI 和 Microsoft Foundry 部署之前,以集中管理使用 Foundry 模型之 Azure AI 搜尋服務 工作負載的路由、負載平衡、節流與可觀察性。 本文說明支援的情境、推薦的認證與基於角色的存取控制(RBAC)模式,以及如何選擇性地將 Azure AI 搜尋服務 的連線設為私人。

支援劇本

您可以透過以下 Azure AI 搜尋服務 功能,經由 API Management 呼叫 Microsoft Foundry 模型部署:

針對每個項目,將技能或向量化工具端點設定為 API Management 閘道 URL、 https://<resource-name>.azure-api.net 或 API Management 自訂網域。

不支援的場景

API Management 不支援作為下列項目的閘道:

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 Management 的私有路徑

當搜尋服務必須私有地存取 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)

API 管理到 Foundry 是標準的後端模式。 如需更深入的拓撲指引,包括多區域、多實例,以及主動主動或主動被動變體,請參見 在多個 Azure OpenAI 部署或實例前使用閘道器 以及 Azure API 管理 中生成式 AI 閘道功能的 概述。

在你的技能或向量化器中設定端點

將技能或向量化器端點設定為 API 管理閘道網址:

Feature 屬性 價值
Azure OpenAI 嵌入技能 resourceUri https://<apim-name>.azure-api.net 或 API Management 自訂網域
Azure OpenAI 向量化工具 resourceUri https://<apim-name>.azure-api.net 或 API Management 自訂網域
生成式人工智慧提示技能 uri https://<apim-name>.azure-api.net 或 API Management 自訂網域

認證與 RBAC

涉及兩個身份。 他們有不同的責任和不同的角色分配。

身份 出示認證資料的位置 角色或機制
Azure AI 搜尋服務受控識別 在 API Management 的閘道上 經 API 管理政策授權。 使用以下憑證終止模式時,不需要在 Microsoft Foundry 資源中扮演任何角色。
API Management 受控識別 在 Microsoft Foundry 資源中 Microsoft Foundry 資源上的 Cognitive Services OpenAI User

推薦的模式是憑證終止與重新建立:呼叫者向 API Management 進行認證,API Management 則使用自身的管理身份來驗證 Microsoft Foundry 資源。 欲了解更多資訊,請參閱 AOAI 閘道架構指南中的 Azure OpenAI 授權。

API 管理閘道的認證選項

請選擇以下選項之一,以決定 Azure AI 搜尋服務 如何認證 API 管理。 欲了解更多資訊與政策範例,請參閱「透過 API 管理認證並授權存取 LLM API」。

  • 訂閱金鑰:API Management 將 Microsoft Foundry 資源 API 金鑰儲存在 named value,並透過政策在後端請求中傳遞。 這是最簡單的設定方式。 它使用帶有set-header標頭的api-key政策。 由於搜尋服務只會傳送 API Management 訂用帳戶金鑰,因此不需要在搜尋服務的受控識別上指派任何 Microsoft Entra ID 角色。

  • 閘道上的受控識別與 OAuth 驗證: API Management 會使用 validate-azure-ad-token 原則,驗證搜尋服務受控識別所提供的 Microsoft Entra ID 權杖。 用這個選項來做縱深防禦。

  • (推薦模式所需)API 管理管理身份至後端: 在 API 管理實例啟用系統指派或使用者指派的管理身份,然後在 Microsoft Foundry 資源中指派其 Cognitive Services OpenAI User 角色。 請參閱 使用受控識別進行驗證 和 Azure OpenAI 的角色型存取控制。

Tip

從 Azure AI 搜尋服務 到 API Management 的私人連線

如果 Azure AI 搜尋服務 透過其公開端點呼叫 API 管理,請跳過此部分。

若要將搜尋服務的輸出流量限制為傳送到私人通道:

  1. 從搜尋服務建立一條共享的私有連結到 API Management 實例。 使用 Microsoft.ApiManagement/service 資源類型和 Gateway 群組 ID。 關於步驟,請參見透過 共享私人連結建立出站連線。

  2. 在 API Management 實例上核准私有端點連線。

  3. 將使用技能或向量化器的索引子設定為在 私有執行環境 中執行。

共享私有連結會計入你搜尋服務等級的 共享私有連結限制 。

從 API Management 到 Microsoft Foundry 資源的私人連線

從 API 管理到 Microsoft Foundry 資源的私有通道獨立於搜尋到 API 管理的連線,且由 API 管理端設定。 關於選項,請參見: