Azure AI Search でロールベースのアクセス制御を有効または無効にする

Azure AI Search への承認されたアクセスのロールを割り当てる前に、検索サービスでロールベースのアクセス制御を有効にします。

データ プレーン操作では、ロールベースのアクセスは省略可能ですが、より安全なオプションとして推奨されます。 代替策としてはキーベースの認証があり、こちらは既定のものです。

サービス管理 (コントロール プレーン) のロールは組み込まれており、有効または無効にすることはできません。

Note

データ プレーン は、インデックス作成やクエリなどの検索サービス エンドポイントに対する操作、または Search REST API または同等の Azure SDK クライアント ライブラリで指定されるその他の操作を意味します。

前提条件

  • 無料を含む任意のリージョン、任意のレベルの 検索 サービス。

  • 所有者、ユーザー アクセス管理者、または Microsoft.Authorization/roleAssignments/write アクセス許可を持つカスタム ロール。

データ プレーン操作に対してロールベースのアクセスを有効にする

この手順では、OAuth2 アクセス トークンを提供するデータ要求の承認ヘッダーを認識するように検索サービスを構成します。

データ プレーンのロールを有効にすると、変更はすぐに有効になりますが、ロールを割り当てる前に数秒待ってください。

未承認の要求に対する既定のエラー モードは http401WithBearerChallenge です。 または、エラー モードを http403に設定することもできます。

  1. Azure portal にサインインし、検索サービス ページを開きます。

  2. [設定] を選択した後、左側のナビゲーション ウィンドウで [キー] を選択 します。

    認証オプションを含むキー ページのスクリーンショット。

  3. 現在キーを使用していて、クライアントをロールベースのアクセス制御に移行する時間が必要な場合は、[ロールベースの制御] または [両方] を選択します。

    オプション 説明
    API キー (既定) 承認するには、要求ヘッダーに API キーが必要です。
    ロールベースのアクセス制御 タスクを完了するには、ロール割り当てのメンバーシップが必要です。 また、要求に Authorization ヘッダーも必要です。
    両方 API キーまたはロールベースのアクセス制御を使用すれば要求は有効ですが、両方を同じ要求で指定すると、API キーが使用されます。
  4. 管理者として、ロールのみのアプローチを選択した場合は、ユーザー アカウントにデータ プレーン ロールを割り当て、Azure portal 内でのデータ プレーン操作に対する完全な管理アクセス権を復元します。 検索サービス共同作成者、検索インデックス データ共同作成者、検索インデックス データ閲覧者を含むロール。 同等のアクセス権が必要な場合は、3 つのロールすべてが必要です。

    ロールの割り当てが有効となるには 5 分から 10 分かかる場合があります。 これが行われるまで、データ プレーン操作に使用されるポータル ページに次のメッセージが表示されます。

    アクセス許可が不十分であることを示すポータル メッセージのスクリーンショット。

ロールベースのアクセス制御を無効にする

データ プレーン操作のロールベースのアクセス制御を無効にし、代わりにキーベースの認証を使用することができます。 たとえば、アクセス許可の問題を除外するために、テスト ワークフローの一部としてこれを行うことができます。

ロールベースのアクセスを有効にするには、前に実行した手順を元に戻します。

  1. Azure portal にサインインし、検索サービス ページを開きます。

  2. [設定] を選択した後、左側のナビゲーション ウィンドウで [キー] を選択 します。

  3. [API Keys](API キー) を選択します。

API キー認証を無効にする

組み込みのロールと Microsoft Entra 認証のみを使用している場合は、サービスでキー アクセス (ローカル認証) を無効にすることができます。 API キーを無効にすると、ヘッダーで API キーを渡すデータ関連のすべての要求を検索サービスが拒否します。

管理 API キーは無効にできますが、削除することはできません。 クエリ API キーは削除できます。

セキュリティ機能を無効にするには、所有者か共同作成者のアクセス許可が必要です。

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

  2. 左側のナビゲーション ウィンドウで、[キー] を選択します。

  3. [ロールベースのアクセス制御] を選択します。

変更はすぐに有効になりますが、テストする前に数秒待ってください。 所有者、サービス管理者、または共同管理者のメンバーとしてロールを割り当てるアクセス許可があると仮定すると、ポータル機能を使用してロールベースのアクセスをテストできます。

制限事項

  • ロールベースのアクセス制御では、一部の要求の待機時間が長くなる可能性があります。 サービス リソース (インデックス、インデクサーなど) とサービス プリンシパルの一意の組み合わせごとに、認可チェックがトリガーされます。 これらの認可チェックにより、要求あたり最大 200 ミリ秒の待機時間が追加される可能性があります。

  • まれに、多数の異なるサービス プリンシパルから要求が送信され、すべてが異なるサービス リソース (インデックス、インデクサーなど) を対象としている場合、認可チェックによって調整が発生する可能性があります。 調整が発生するのは、検索サービス リソースとサービス プリンシパルの一意の組み合わせが 1 秒間に何百も使われた場合のみです。


次のステップ