Microsoft Purview秘密度ラベルがAzure AI Search knowledge sourcesに対応:影響範囲と確認ポイント

Microsoft Purviewの秘密度ラベルを使っている組織にとって、今回のAzure AI Searchの更新で最も重要なのは、ソース文書に付与された秘密度ラベルを、AI検索・RAG・エージェントのナレッジ取得経路まで引き継げるようになる点です。これまでアプリ側で独自にラベルや権限を見に行っていた構成では、設計を見直せる可能性があります。

ただし、Public Previewの機能であり、本番利用を前提にすぐ全面展開するものではありません。管理者は、対応するknowledge sources、Microsoft Entra IDとRBAC、Azure AI SearchのマネージドID、既存インデックスの再作成要否、チャンク化されたインデックスへのラベル投影を先に確認する必要があります。MicrosoftのAzure Updatesでは「In preview」は非運用環境での使用・テスト向けと説明されています。(Microsoft Azure)

目次

Microsoft Purviewのセキュリティ更新、管理者が確認すべき影響範囲と対応ポイント

今回の更新は、Microsoft Purviewそのもののラベル管理機能を大きく変えるものではありません。変わるのは、Microsoft Purviewの秘密度ラベルをAzure AI Searchのknowledge sourcesとknowledge basesの流れに乗せられる範囲です。

Azure AI Searchのknowledge sourcesでは、Blob、indexed OneLake、indexed SharePointの各ナレッジソースに対して、ingestionPermissionOptionssensitivityLabelを含めることでMicrosoft Purviewの秘密度ラベルを取り込めます。同期されたラベルはretrieve応答に表示され、クエリ時のドキュメントレベルアクセス制御にも使われます。(Microsoft Learn)

実務上は、次のような構成に影響します。

対象影響
社内文書をAzure AI Searchに取り込み、RAGアプリで使っている環境ラベル付き文書をユーザー権限に応じて検索結果から除外しやすくなる
Foundry Agent ServiceやCopilot系のエージェントにknowledge baseを接続している環境回答の根拠となる文書参照に秘密度ラベル情報を渡せる
SharePoint、OneLake、Blob、ADLS Gen2の文書を検索対象にしている環境既存のMicrosoft Purview情報保護ポリシーとの整合性を取りやすくなる
APIキー中心でAzure AI Searchを呼び出しているアプリRBACとユーザートークンを使う実装への見直しが必要になる

重要なのは、「AIが回答を生成したあとにラベルを表示する」だけでは不十分だという点です。RAGやエージェントでは、回答文そのものが情報漏えいの単位になります。検索結果に含めてよい文書を、回答生成前の取得段階で制御できるかが設計上の分かれ目です。

何が変わったのか

今回のPublic Previewにより、Azure AI Searchのknowledge sourcesでMicrosoft Purviewの秘密度ラベルを扱う道筋が広がりました。

大きな変更点は、次の3つです。

変更点内容管理者・開発者への影響
ラベルの取り込みソース文書に付与されたMicrosoft Purviewの秘密度ラベルをインジェスト時にAzure AI Searchへ同期インデックスやknowledge source作成時の設定確認が必要
ラベル情報の応答出力knowledge baseのretrieve応答に、参照単位のsensitivityLabelInfoや応答レベルのresponseSensitivityLabelInfoを含められるチャットUIやエージェント側でラベル表示・操作制御を実装できる
クエリ時のアクセス制御ユーザーのMicrosoft Entra IDトークンとPurviewポリシーをもとに、返してよい文書だけを取得APIキーだけの検索実装では不十分になり、RBACとユーザートークンが重要になる

Azure AI Searchのドキュメントでは、knowledge baseのretrieve応答に参照ごとのsensitivityLabelInfoと、上位のmetadata.responseSensitivityLabelInfoを含められるプレビュー機能が案内されています。(Microsoft Learn)

対象になるknowledge sources

すべてのknowledge sourcesで同じようにMicrosoft Purviewの秘密度ラベルを取り込めるわけではありません。まず、今回の機能がどのデータ経路に効くのかを切り分けてください。

knowledge source / 構成秘密度ラベル対応の考え方確認ポイント
Azure Blob / ADLS Gen2を使うblob knowledge sourceingestionPermissionOptionssensitivityLabelを指定して取り込みラベル付きファイルがPurviewとAzure AI Search indexerの両方で対応する形式か
indexed OneLake knowledge sourcesensitivityLabelを指定してラベルメタデータを取り込みOneLake側のラベル運用とインデクサー実行スケジュール
indexed SharePoint knowledge sourceSharePoint上の文書ラベルをインデックスへ同期SharePoint ACLとPurviewラベルをどう併用するか
searchIndex knowledge source既存インデックス側でpurviewEnabledとラベルフィールドが設定されている場合にラベル情報を扱える既存インデックスを後からそのまま流用できるか
remote SharePoint、web、その他のリモート系インジェストしないため、今回のsensitivityLabel取り込みとは別に考える取得時の権限モデルやネイティブAPIの制御を確認

Microsoft Learnでは、参照タイプごとにラベルメタデータが出る条件が整理されており、azureBlobindexedOneLakeindexedSharePointではknowledge source側のsensitivityLabel指定、searchIndexでは基盤インデックスのpurviewEnabledsensitivityLabel: trueのフィールドが条件とされています。(Microsoft Learn)

管理者が先に確認すべき設定

Microsoft Purview側のラベルとポリシー

最初に見るべきなのはAzure AI Searchではなく、Microsoft Purview側です。秘密度ラベルが作られていない、対象文書に適用されていない、ユーザーやグループへのポリシー割り当てが曖昧な状態では、Azure AI Searchに同期しても期待した制御になりません。

確認すべき項目は次のとおりです。

確認項目判断基準
秘密度ラベルが定義済みか「社外秘」「機密」「役員限定」など、検索・AI利用時に区別したい分類がある
対象文書にラベルが適用済みかWord、PowerPoint、PDF、SharePoint上の文書など、実際の検索対象にラベルが付いている
ラベルポリシーがユーザーに割り当てられているか検索するユーザーが、Purview上で対象ラベルのコンテンツを閲覧できる状態か
テストユーザーが分かれているか「閲覧できるユーザー」と「閲覧できないユーザー」の両方で検証できる

Microsoft Learnでは、Purview秘密度ラベルポリシーが構成済みで、文書に適用されていることが前提条件として示されています。(Microsoft Learn)

Azure AI SearchのマネージドIDとRBAC

秘密度ラベルの取り込みでは、Azure AI SearchがMicrosoft Purviewのラベルメタデータへアクセスする必要があります。そのため、検索サービスにシステム割り当てマネージドIDを有効化し、必要な権限を付与します。

特に注意したいのは、権限付与が軽い作業ではないことです。Microsoft Learnでは、検索サービスにPurview APIと秘密度ラベルへのアクセスを許可するには、Microsoft EntraテナントのGlobal AdministratorまたはPrivileged Role Administratorが必要とされています。さらに、検索サービスのシステム割り当てマネージドIDにContent.SuperUserUnifiedPolicy.Tenant.Readを付与する手順が案内されています。(Microsoft Learn)

運用では、次の流れで進めるのが安全です。

手順作業内容失敗しやすい点
事前承認セキュリティ部門・コンプライアンス部門に目的を説明「検索機能の設定」と軽く扱い、権限の強さを見落とす
マネージドID有効化Azure AI Searchサービスにシステム割り当てマネージドIDを付けるユーザー割り当てマネージドIDで代替しようとする
Purviewアクセス付与必要なロールを管理者が付与管理者ロール不足で設定が途中で止まる
RBAC有効化Azure AI SearchへのクエリをRBACで認証既存アプリがAPIキー前提のまま残る
テストラベル別に閲覧可・不可のユーザーで検索管理者アカウントだけで成功確認してしまう

開発者が確認すべき実装ポイント

knowledge source作成時にsensitivityLabelを指定する

knowledge source経由で秘密度ラベルを扱う場合、作成時にingestionPermissionOptionssensitivityLabelを含めます。考え方としては、コンテンツだけでなく「その文書に付いているラベルメタデータ」も一緒に取り込む設定です。

REST APIでは、概念的には次のような指定になります。

{
  "ingestionParameters": {
    "ingestionPermissionOptions": ["sensitivityLabel"]
  }
}

Blob、indexed OneLake、indexed SharePointの作成ドキュメントでは、IngestionPermissionOptionsまたはingestionPermissionOptionsSensitivityLabel / sensitivityLabelを指定できることが説明されています。(Microsoft Learn)

ここでの注意点は、既存のknowledge sourceに後から気軽に足せる設定として考えないことです。公開ドキュメントのプロパティ表ではingestionPermissionOptionsのEditableがNoと示されています。既存環境へ展開する場合は、新しいknowledge sourceや生成されるインデックス・インデクサーの再作成を含めて移行計画を立てるべきです。(Microsoft Learn)

既存インデックスを使う場合はpurviewEnabledを確認する

既存のAzure AI Searchインデックスをknowledge sourceとして使う場合は、インデックス側の設定も重要です。

Microsoft Learnでは、秘密度ラベルのサポートが必要な場合、インデックス定義でpurviewEnabledtrueに設定し、秘密度ラベル用のフィールドにsensitivityLabel: trueを設定する例が示されています。また、purviewEnabledはインデックス作成時に設定する必要があり、後から変更できない恒久設定とされています。(Microsoft Learn)

つまり、既存インデックスがPurview対応で作られていない場合は、単純な設定変更では済まない可能性があります。実務では、次の判断になります。

既存構成推奨判断
purviewEnabledなしの既存インデックス新インデックスを作成して再インデックスする計画を立てる
ラベルフィールドはあるがsensitivityLabel: trueでないスキーマを見直し、必要に応じて新インデックスへ移行
チャンク化していない通常インデックスフィールドマッピングとクエリ時認証を重点確認
チャンク化済みのベクトルインデックス各チャンク行へラベルを投影できているかを最優先で確認

チャンク化されたRAGインデックスではラベル投影が必須

RAG構成では、1つの文書を複数のチャンクに分割してベクトル化することが一般的です。このとき、親文書に秘密度ラベルがあっても、子チャンクにラベルが引き継がれていなければ、検索時の制御やラベル表示が期待どおりに動きません。

Microsoft Learnでは、Text Split skillや統合ベクトル化などでチャンクを作る場合、index projectionsを使って秘密度ラベルを各チャンクへ投影する必要があると説明されています。投影がない場合、子チャンク行が正しくフィルターされず、agentic retrievalの応答でもチャンクごとのsensitivityLabelInfoを含められません。(Microsoft Learn)

確認すべきポイントは、次の3つです。

確認箇所見るべき内容
skillsetText Split skillや統合ベクトル化で親文書を分割しているか
index projectionssensitivityLabelを親文書からチャンク行へマッピングしているか
検索応答チャンク単位の参照にsensitivityLabelInfoが出るか

チャンク化されたRAGでは、「本文は分割したが権限情報は親に置いたまま」という設計がよく起きます。これは検索品質の問題ではなく、セキュリティ設計の問題として扱うべきです。

クエリ時の認証はAPIキー中心からRBAC中心へ見直す

Microsoft Purview秘密度ラベルを使ったクエリ時制御では、アプリケーションの権限だけでなく、実際に検索しているユーザーの文脈が必要です。

Microsoft Learnでは、クエリ時にAzure AI Searchが次の2つを検証すると説明されています。

入力役割
Authorization: Bearer <app-token>呼び出し元アプリがインデックスへクエリできるかを判断
x-ms-query-source-authorization: <user-token>エンドユーザーが秘密度ラベル付きコンテンツを閲覧できるかを判断

ユーザートークンはx-ms-query-source-authorizationヘッダーに渡します。ドキュメントの例では、このヘッダーにはBearerプレフィックスを付けず、生のトークン値を渡す形が示されています。(Microsoft Learn)

POST {{endpoint}}/indexes/sensitivity-docs/docs/search?api-version=2025-11-01-preview
Authorization: Bearer {{app-query-token}}
x-ms-query-source-authorization: {{user-query-token}}
Content-Type: application/json

{
  "search": "*",
  "select": "title,summary,sensitivityLabel"
}

既存のRAGアプリがAPIキーだけでAzure AI Searchを呼び出している場合、このままではユーザー別のラベル制御を正しく表現できません。アプリ側では、Microsoft Entra IDでサインインしたユーザーのトークンを取得し、検索リクエストに渡す設計へ移行する必要があります。

また、Purview秘密度ラベルが有効なインデックスでは、APIキーアクセスはインデックススキーマ取得に制限され、ドキュメント操作ではRBAC認証が必要とされています。(Microsoft Learn)

retrieve応答のラベル情報をUIとポリシーに活用する

knowledge baseやMCP経由で取得する場合、返ってくるラベル情報はUI設計にも関係します。

たとえば、参照文書ごとのsensitivityLabelInfoを使えば、回答の根拠に「Confidential」などのラベルを表示できます。応答全体のmetadata.responseSensitivityLabelInfoを使えば、回答ブロック全体に秘密度バナーを出したり、コピーや共有などの操作を抑制する判断材料にできます。Microsoft Learnでも、metadata.responseSensitivityLabelInfoを応答レベルのバナー表示やポリシー制御に使うことが推奨されています。(Microsoft Learn)

ただし、ラベルIDが返るだけで、すべての保護ポリシーを自動的にUIへ反映できるわけではありません。ラベル名、説明、ポリシー制御、権限などの追加情報が必要な場合は、Microsoft Graphのsensitivity label APIなどでラベル定義を解決する設計が必要です。(Microsoft Learn)

実装時は、最低限次の動作を決めておくとよいでしょう。

UI・アプリの論点推奨設計
回答に複数ラベルの文書が混在する最も高い秘密度を応答全体の扱いに採用する
ラベルIDはあるが表示名が未取得「機密ラベル付きコンテンツ」などの安全側の表示に倒す
ユーザーがコピー・共有しようとするresponseSensitivityLabelInfoを見て制限可否を判定する
ログに回答本文を保存するラベル付き回答のログ保存可否を別途ポリシー化する
外部ツールへ回答を渡すラベル付き応答は転送先の境界と監査要件を確認する

AI検索では、根拠文書だけでなく「生成された回答」も情報資産になります。UIにラベル名を出すだけで満足せず、保存、コピー、共有、外部送信、監査ログの扱いまで設計してください。

展開前に確認すべき制限事項

Public Previewの段階では、制限事項を把握したうえで検証範囲を決めることが重要です。

制限・注意点実務上の意味
本番ワークロードには慎重な検証が必要プレビュー機能のため、PoCや限定部門での検証から始める
Azure portalだけでは完結しない可能性があるREST APIまたはSDKでの作成・確認手順を用意する
ゲストアカウント・クロステナントクエリは非対応外部協力会社やB2Bゲストを含む検索体験では別設計が必要
Autocomplete / Suggest APIは非対応検索候補機能にラベル付き文書を混ぜない設計が必要
ラベル変更は次回の正常なインデクサー実行まで反映されない緊急の権限変更を即時反映できると考えない
一部のインデクサー機能はラベル付き文書に非対応Custom Web API skill、GenAI Prompt skill、Knowledge store、enrichment cache、Debug sessionsを使う既存skillsetは要確認
Purview評価に失敗した場合は5xxになる場合があるラベル評価不可時に未フィルター結果を返す設計にしない

Microsoft Learnでは、ゲストアカウントやクロステナントクエリ、Autocomplete / Suggest API、ユーザー割り当てマネージドID、特定のインデクサー機能に関する制限が示されています。また、ラベル変更は次回の成功したインデクサー実行までインデックスへ反映されない点も明記されています。(Microsoft Learn)

移行時に失敗しやすいポイント

ラベルを付ければ自動で安全になると思い込む

Microsoft Purviewで文書に秘密度ラベルを付けても、それだけでAzure AI SearchのRAGアプリが自動的に安全になるわけではありません。ラベルを取り込む設定、ラベルフィールド、インデクサー、クエリ時のユーザートークン、UI側の扱いがそろって初めて意味があります。

特に既存RAGでは、次のような状態が起きがちです。

よくある状態問題
文書にはラベルがあるが、インデックスにラベルフィールドがない検索時にラベルを評価できない
インデックスにラベルはあるが、チャンクに投影していないチャンク単位の取得制御やラベル表示が崩れる
アプリがAPIキーだけで検索しているユーザー別のアクセス可否を評価できない
UIにラベルを出すだけで、コピーや共有を制御していない回答文から情報が広がる可能性が残る

既存インデックスをそのまま使える前提で進める

purviewEnabledはインデックス作成時に設定する必要があり、後から変更できない恒久設定です。既存インデックスを本格的にPurview対応へ移す場合は、再インデックスや切り替え期間の設計が必要になります。(Microsoft Learn)

移行時は、いきなり既存インデックスを置き換えるのではなく、次のような段階移行が現実的です。

フェーズ作業
現状棚卸しデータソース、knowledge source、インデックス、skillset、アプリの認証方式を確認
検証用インデックス作成purviewEnabledを有効にした新インデックスを作成
限定データで再取り込みラベル付き文書とラベルなし文書を混ぜてインジェスト
ユーザー別テスト閲覧可能ユーザーと不可ユーザーで検索結果を比較
UI検証sensitivityLabelInforesponseSensitivityLabelInfoの表示・制御を確認
本番移行判断制限事項、監査要件、障害時動作を確認して段階展開

ラベル変更の反映タイミングを運用に入れていない

秘密度ラベルは、文書の作成後に変更されることがあります。たとえば、社内資料として作成した文書を「機密」に引き上げる、退職者や外部協力会社が関係する文書のアクセス条件を見直す、といったケースです。

Azure AI Searchでは、ラベル変更がインデックスに反映されるのは次回の正常なインデクサー実行後です。インデクサーのスケジュール設計、手動再実行の手順、緊急時の公開停止手順を用意しておかないと、「Purviewでは制限したのにAI検索にはしばらく残る」という運用ギャップが生まれます。(Microsoft Learn)

管理者向けチェックリスト

展開前に、次のチェックリストを使って確認してください。

チェック確認内容
対象データの特定Blob、ADLS Gen2、OneLake、SharePoint、既存search indexのどれか
ラベル運用Microsoft Purviewの秘密度ラベルとポリシーが本番運用されているか
テナント条件Azure AI Searchサービスと検索ユーザーが同一Microsoft Entraテナントにいるか
マネージドIDAzure AI Searchにシステム割り当てマネージドIDがあるか
Purview権限管理者承認のもとで必要なPurview関連権限を付与できるか
インデックスpurviewEnabledを有効にした新規インデックスが必要か
knowledge sourceingestionPermissionOptionssensitivityLabelを指定して作成するか
チャンク投影Text Split skillや統合ベクトル化で各チャンクにラベルを投影しているか
クエリ認証APIキーではなくRBACとx-ms-query-source-authorizationを使えるか
UI制御ラベル情報を表示・コピー制御・共有制御・ログ方針に反映するか
障害時動作Purview評価失敗時やインデクサー失敗時の扱いを決めているか
監査管理者調査や elevated read の利用条件を決めているか

開発者向けテスト観点

検証では「検索できるか」だけでなく、「検索できてはいけない文書が出ないか」を重点的に見ます。

テストケース期待結果
ラベルなし文書を検索通常どおり取得できる
ユーザーAが閲覧可能なラベル付き文書を検索結果に表示され、参照にsensitivityLabelInfoが含まれる
ユーザーBが閲覧不可のラベル付き文書を検索結果に表示されない
同じ質問をユーザーA・Bで実行回答内容と参照文書が権限に応じて変わる
チャンク化文書を検索各チャンク参照にラベル情報が付き、権限に応じて除外される
x-ms-query-source-authorizationなしで検索エンドユーザー向け動作として採用しない
Purviewやインデクサーの一時失敗未フィルター結果を返さず、安全側に倒れる
ラベル変更後に検索次回インデクサー実行後に結果が変わることを確認

特にRAGアプリでは、回答本文だけを見て成功判定しないでください。参照文書、ラベル情報、検索アクティビティ、ユーザー別の差分まで確認する必要があります。

今すぐ試すべき組織、様子を見るべき組織

このPublic Previewは、すべての組織がすぐ採用すべき機能ではありません。向いているケースと、まだ慎重にすべきケースを分けて判断しましょう。

判断該当する組織
早めに検証すべきMicrosoft Purview秘密度ラベルをすでに運用している
早めに検証すべきSharePoint、OneLake、Blob、ADLS Gen2の社内文書をRAGやエージェントで使っている
早めに検証すべきFoundry Agent ServiceやCopilot向けにknowledge baseを整備している
早めに検証すべきAI回答に機密情報が混ざるリスクを管理部門から指摘されている
慎重に待つべき本番SLAが必須で、Preview機能を採用できない
慎重に待つべきゲストユーザーやクロステナント利用が中心
慎重に待つべきAutocomplete / Suggestを重要な検索体験として使っている
慎重に待つべきAPIキー前提の既存アプリをすぐ変更できない
慎重に待つべきラベル変更の即時反映が必須

判断の軸は、「便利になるか」ではなく「現在のAI検索で、秘密度ラベル付き文書がどの程度リスクになっているか」です。機密文書をRAGに入れているなら、早期検証の価値は高いでしょう。一方、プレビュー機能を本番統制に組み込めない組織では、まず検証環境で設計パターンを固めるのが現実的です。

次に取るべき行動

まずは、既存のRAG・エージェント構成を棚卸ししてください。見るべき対象は、データソース、knowledge source、インデックス、skillset、認証方式、UIでのラベル表示、ログ保存先です。

そのうえで、次の順序で進めると失敗しにくくなります。

順序やること
1Microsoft Purviewでラベルとポリシーが正しく運用されているか確認する
2対象データソースがBlob、ADLS Gen2、OneLake、indexed SharePoint、既存search indexのどれかを分類する
3検証用にpurviewEnabledを有効化した新規インデックスまたはknowledge sourceを用意する
4ingestionPermissionOptionssensitivityLabelを指定してラベル付き文書を取り込む
5チャンク化している場合は、各チャンクに秘密度ラベルが投影されることを確認する
6RBACとx-ms-query-source-authorizationを使ってユーザー別に検索結果を検証する
7sensitivityLabelInforesponseSensitivityLabelInfoをUI、監査、操作制御にどう使うか決める
8インデクサー実行間隔、ラベル変更時の反映、障害時の安全側動作を運用手順に落とし込む

Microsoft Purviewの秘密度ラベルをAzure AI Searchのknowledge sourcesへ流せるようになることで、AI検索のセキュリティ設計は一段実務的になります。一方で、ラベル、インデックス、チャンク、認証、UI、監査のどれかが欠けると、期待した保護にはなりません。

まずは小さなラベル付き文書セットで、許可ユーザーと非許可ユーザーの検索結果がどう変わるかを確認してください。その結果をもとに、既存RAGやFoundryエージェントへの段階展開を検討するのが安全です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次