Azure AI 検索のネットワーク アクセスとファイアウォール規則を構成する

この記事では、検索サービスのパブリック エンドポイントへの 受信 ネットワーク アクセスを制限する方法について説明します。 特定の IP アドレス、アドレス範囲、またはサブネットからのアクセスのみを許可するように IP ファイアウォール規則を構成できます。 信頼されたAzure サービスの例外を有効にすることもできます。

ファイアウォール規則は、要求 (クエリ、インデックス作成、管理操作) を検索サービスに送信できるクライアントを制御します。 検索サービスから外部リソースへの 送信 接続には影響しません。 送信元セキュリティについては、Azure ネットワーク セキュリティによって保護されたコンテンツへのインデクサー アクセスを参照してください。

ヒント

パブリック エンドポイントへの すべての データ プレーン アクセスをブロックするには、代わりに プライベート エンドポイント または ネットワーク セキュリティ境界 を使用します。

前提条件

  • Azure AI 検索 サービス (Basic 階層以上)。 ファイアウォールの構成は、Free レベルではサポートされていません。

  • 検索サービスに対する所有者または共同作成者のアクセス許可。

制限事項と考慮事項

  • ワークフローによっては、パブリック エンドポイントへのアクセスが必要になります。 具体的には、Azure ポータルの Import data ウィザード は、組み込みの (ホストされている) サンプル データに接続し、パブリック エンドポイント経由でモデルを埋め込みます。 詳細については、 インポート ウィザードでの接続のセキュリティ保護に関するページを参照してください

  • ネットワーク ルールのスコープは、検索サービスのパブリック エンドポイントに対するデータ プレーン操作です。これには、インデックスの作成、インデックスのクエリ、Search Service REST API で説明されているその他すべてのアクションが含まれます。

  • サービス管理を対象とするコントロール プレーン操作については、Azure Resource Managerでサポートされるネットワーク保護に関するページを参照してください。

  • サンプル データを使用した概念実証テストの初期段階にある場合は、必要になるまでネットワーク アクセス制御を延期することを検討してください。

ネットワーク アクセスを構成する

このセクションでは、Azure ポータルで検索サービスのネットワーク アクセスを構成する方法について説明します。 または、Search Management REST APIAzure PowerShell、または Azure CLI を使用できます。

ネットワーク アクセスを構成するには:

  1. Azure ポータルで検索サービスに移動します。

  2. 左側のウィンドウで、[設定]>[Networking] を選択します。

  3. [パブリック ネットワーク アクセス] で、[選択した IP アドレス] を選択します。 プライベート エンドポイントを構成する場合にのみ、[無効] を選択します。

    Azure ポータルのネットワークアクセスオプションを示すスクリーンショット

  4. [ IP ファイアウォール] で、[ クライアント IP アドレスの追加] を選択します。

    この手順では、デバイスのパブリック IP アドレスが検索サービスに到達できるようにする受信規則を作成します。

    IP ファイアウォールを構成する方法を示すスクリーンショット Azure portal.

    ヒント

    ポータルでは、直接接続にクライアント IP アドレスが使用されます。 クライアントが許可された IP リストにある場合は、追加の構成なしですべてのポータル機能を使用できます。

  5. 検索サービスに要求を送信する他のデバイスまたはサービスのクライアント IP アドレスを追加します。 CIDR 形式を使用します。 たとえば、8.8.8.0/24 は、8.8.8.0 から 8.8.8.255 までの IP アドレスを表します。

    Azure サービスのパブリック IP アドレスを取得するには、Azure IP 範囲とサービス タグを参照してください。 検索クライアントがAzure関数内でホストされている場合は、Azure Functions の IP アドレスを参照してください。

  6. 省略可能: [Exceptions] で、「信頼されたサービスの一覧にある Azure サービスにこの検索サービスへのアクセスを許可する」を選択します

    この例外により、有効なマネージド ID とロールの割り当てを持つ信頼されたAzure サービスがファイアウォールをバイパスできるようになります。 詳細については、「信頼されたAzure サービスへのアクセスを参照してください。

    ネットワーク構成ページの [例外] チェック ボックスを示すスクリーンショット。

  7. 変更を保存。

変更が有効になるまで数分かかる場合があります。 ネットワーク構成に関連する問題のトラブルシューティングを行う前に、少なくとも 15 分待ちます。

IP アクセス制御ポリシーを有効にすると、許可リスト外の IP アドレスからの要求は 、403 禁止 応答で拒否されます。

信頼されたAzure サービスへのアクセスを許可する

信頼されたサービスの例外を有効にした場合、検索サービスは、IP アドレスを確認せずに、信頼されたAzure リソースからの要求を受け入れます。 各信頼されたリソースには、マネージド ID (システム割り当てまたはユーザー割り当て、通常はシステム割り当て) と、データと操作のアクセス許可を付与するAzure AI 検索のロールの割り当てが必要です。

Azure AI 検索の信頼できるサービスの一覧には、次のものが含まれます。

  • Azure OpenAI と Foundry Tools 用の Microsoft.CognitiveServices
  • Microsoft.MachineLearningServicesAzure Machine Learningのために。

この例外は、Microsoft Foundry または Azure Machine Learning がエージェント検索や統合ベクター化時など、Azure AI 検索に要求を送信する場合に一般的に使用されます。

信頼されるリソースにはマネージド ID が必要

Azure OpenAI とAzure Machine Learningのマネージド ID を設定するには、次の記事を参照してください。

Microsoft Foundry リソースのマネージド ID を設定するには:

  1. Azure ポータルでMicrosoft Foundry リソースに移動します。
  2. 左側のウィンドウで、 リソース管理>Identity を選択します。
  3. トグルを使用して、システム割り当てマネージド ID を有効にします。

信頼されるリソースにはロールの割り当てが必要

Azure リソースがマネージド ID を持った後、Azure AI 検索マネージド ID のアクセス許可を付与します。 割り当てるロールは、ワークロードによって異なります。

  • オブジェクト レベルの操作 (インデックスやナレッジ ベースの作成など) の検索サービス共同作成者
  • 検索インデックスデータ提供者 は読み取り/書き込みコンテンツへのアクセスのために。
  • 検索インデックスデータリーダーを使用して読み取り専用のコンテンツにアクセスします。

ロールを割り当てるときに、メンバーの種類として Managed ID を選択し、Microsoft Foundry または Azure Machine Learning リソースのシステム割り当て ID を選択します。

この記事では、検索サービスへの 受信 要求に対する信頼できる例外について説明します。 Azure AI 検索は、他のAzure リソースの信頼できるサービスの一覧にも含まれます。 たとえば、Azure AI 検索 から Azure Storage への indexer 接続に対して信頼されたサービス例外を使用できます。

次のステップ

要求がファイアウォール経由で許可されたら、認証および承認する必要があります。 2 つのオプションがあります。

  • キーベースの認証では、要求に対して管理またはクエリの API キーが提供されます。 これは既定のオプションです。

  • ロールベースのアクセス制御では、呼び出し元が検索サービスのセキュリティロールのメンバーです。 このオプションは最も安全です。 データにアクセスして操作を実行するためのアクセス許可のために、Azure AI 検索の認証とロールの割り当てにMicrosoft Entra IDを使用します。