Azure AI 検索 で Azure OpenAI スキルとベクターライザーと共に Azure API Management を使用する

Note

Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。

Azure API Management を、Foundry モデルを使用する Azure AI 検索 ワークロード向けのルーティング、負荷分散、スロットリング、可観測性を一元化するために、Microsoft Foundry Models の Azure OpenAI および Microsoft Foundry のデプロイの前段に配置できます。 この記事では、サポートされているシナリオ、推奨される認証とロールベースのアクセス制御 (RBAC) パターン、および必要に応じてAzure AI 検索プライベートからの接続を確立する方法について説明します。

サポートされているシナリオ

次のAzure AI 検索機能から API Management を使用して、Microsoft Foundry モデルのデプロイを呼び出すことができます。

それぞれに対して、スキルまたはベクター化エンドポイントを API Management ゲートウェイ URL ( https://<resource-name>.azure-api.net または API Management カスタム ドメイン) に設定します。

サポートされていないシナリオ

API Management は、次のゲートウェイとしてサポートされていません。

Architecture

一般的なフローは 2 つあります。 どちらもバックエンドで同じ API Management 構成を使用します。

公開パス

Azure AI 検索は、パブリック エンドポイント経由で API Management ゲートウェイを呼び出します。 API Management は、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 Management にプライベートに到達する必要がある場合は、検索サービスから API Management インスタンスへの 共有プライベート リンク を作成し、 プライベート実行環境でインデクサーを実行します。

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 Management to Foundry は、標準のバックエンド パターンです。 マルチリージョン、マルチインスタンス、アクティブ/アクティブ、アクティブ/パッシブのバリアントなど、より詳細なトポロジ ガイダンスについては、「複数の Azure OpenAI デプロイまたはインスタンスの前でゲートウェイを使用するおよび Azure API Management の生成型 AI ゲートウェイ機能の概要」を参照してください。

スキルまたはベクターライザーでエンドポイントを構成する

スキルまたはベクター化エンドポイントを API Management ゲートウェイ 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

2 つの ID が関係しています。 責任とロールの割り当てが異なります。

Identity 資格情報が表示される場所 ロールまたはメカニズム
Azure AI 検索 のマネージド ID API Management ゲートウェイ上で API Management ポリシーによって承認されます。 以下の資格情報終了パターンを使用する場合、Microsoft Foundry リソースに対するロールは必要ありません。
API Management のマネージド ID Microsoft Foundry リソースで Microsoft Foundry リソースの Cognitive Services OpenAI User。

推奨されるパターンは credential termination and re-establishment: 呼び出し元は API Management に対して認証を行い、API Management は独自のマネージド ID を使用して Microsoft Foundry リソースに対して認証します。 詳細については、AOAI ゲートウェイ アーキテクチャ ガイドの「Azure OpenAI authorization」を参照してください。

API Management ゲートウェイでの認証オプション

Azure AI 検索 が API Management に対して認証する方法として、次のいずれかのオプションを選択してください。 詳細とポリシーの例については、「 API Management を使用した LLM API へのアクセスの認証と承認」を参照してください。

  • Subscription key: API Management は、Microsoft Foundry リソース API キーを named value に格納し、ポリシーがバックエンド要求に渡します。 これは、構成する最も簡単なオプションです。 set-header ヘッダーと共にapi-key ポリシーを使用します。 検索サービスは API Management サブスクリプション キーのみを送信するため、検索サービスのマネージド ID にMicrosoft Entra IDロールは必要ありません。

  • OAuth 検証を使用したゲートウェイでの管理 ID: API Management は、validate-azure-ad-token ポリシーを使用して、検索サービスのマネージド ID によって提示されるMicrosoft Entra ID トークンを検証します。 多層防御には、このオプションを使用します。

  • (推奨パターンに必要) バックエンドへの API Management マネージド ID:API Management インスタンスで、システム割り当てまたはユーザー割り当てのマネージド ID を有効にし、その ID に Microsoft Foundry リソースの Cognitive Services OpenAI User ロールを割り当てます。 マネージド ID による認証およびAzure OpenAI のロールベースのアクセス制御を参照してください。

Tip

  • Microsoft Foundry API を API Management にインポートすると、バックエンドとマネージド ID の配線が自動的に作成されます。

  • サーキット ブレーカー、再試行、バックエンド プールのガイダンスについては、「 API Management のバックエンド」を参照してください。

Azure AI 検索から API Management へのプライベート接続

Azure AI 検索がパブリック エンドポイント経由で API Management を呼び出す場合は、このセクションをスキップします。

検索サービスからプライベート チャネルへの送信トラフィックを制限するには:

  1. 検索サービスから API Management インスタンスへの共有プライベート リンクを作成します。 Microsoft.ApiManagement/service リソースの種類と Gateway グループ ID を使用します。 手順については、 共有プライベート リンクを介した送信接続の作成に関するページを参照してください。

  2. API Management インスタンスでプライベート エンドポイント接続を承認します。

  3. スキルまたはベクターライザーを使用して プライベート実行環境で実行するインデクサーを構成します。

共有プライベート リンクは、検索サービス レベルの 共有プライベート リンクの制限 に対してカウントされます。

API Management から Microsoft Foundry リソースへのプライベート接続

API Management から Microsoft Foundry リソースへのプライベート チャネルは、検索と API Management の接続に依存せず、API Management 側で構成されます。 オプションについては、以下を参照してください。