Microsoft Purview 自動ラベルがSharePointで付かない原因と対策|URL指定制限・AIP連携・権限・Get-SPOSite

Microsoft Purview の自動ラベル付与ポリシーで SharePoint を対象にしたいのに、URL を深い階層まで指定できなかったり、SharePoint 上のファイルだけラベルが付かない――そんな時に押さえるべき仕様と確認ポイントを、管理者目線で整理します。

目次

まず前提:この記事で扱う「自動ラベル」は感度ラベル(Sensitivity label)の話

Microsoft Purview には「感度ラベル(情報保護)」と「保持ラベル(保持・削除)」があり、画面上はどちらも “ラベル” と呼ばれるため混同しやすいです。本記事で扱うのは、機密情報の種類(クレジットカード番号など)やキーワード検出を条件にして、SharePoint / OneDrive / Exchange のデータへ感度ラベルを自動適用する「自動ラベル付与ポリシー(Auto-labeling policies)」です。

結論:自動ラベルポリシーで指定できる URL は「サイト(サイトコレクション)単位」まで

Purview の自動ラベル付与ポリシーで SharePoint を対象にする場合、スコープとして指定できるのはサイトのルート URL(例:https://tenant.sharepoint.com/sites/DataManagement)までで、/General/Forms/AllItems.aspx のようなドキュメントライブラリのビュー URLや、フォルダー配下などのより深いパスは無効です。深いパスを入れると「クライアント エラー」になるのは仕様です。

指定したい URLポリシーの場所として指定補足
https://tenant.sharepoint.com/sites/DataManagementOKサイト(サイトコレクション)単位として有効
https://tenant.sharepoint.com/sites/DataManagement/概ねOK末尾スラッシュは環境によって扱いが揺れるため、可能なら無しで統一
.../General/Forms/AllItems.aspxNGライブラリのビュー(画面)を指す URL。スコープ対象として無効
.../Shared%20Documents/Forms/AllItems.aspxNG同上。コピーした“表示用リンク”は多くがこの形式

なぜ「AllItems.aspx」などがダメなのか

Forms/AllItems.aspx は SharePoint の“ファイル一覧を表示するためのページ”で、ファイルそのものの保存場所(コンテンツ)ではありません。自動ラベル付与ポリシーは、場所指定で「どのサイト(サイトコレクション)をスキャンするか」を決め、ファイル単位の判定はポリシー内の条件(ルール)で行う設計になっています。

対処方針:場所はサイトのルートにして、ラベル付与対象は「条件」で絞る

深い URL を場所に入れて“ここだけ”を狙う代わりに、次の考え方で設計すると失敗しにくいです。

  • 場所(Locations):サイトのルート URLまでを指定(サイト全体を評価対象にする)
  • 条件(Conditions / Rules):実際にラベルを付けたいファイルの特徴(機密情報、キーワード、プロパティなど)で絞り込む

Purview の自動ラベルで使える代表的な条件例

「General ライブラリ配下だけ」など場所での絞り込みが難しい場合でも、条件設計を工夫すると“実質的に狙ったものだけ”をラベル付けできます。

条件の種類狙いどころ設計のコツ
機密情報の種類(Sensitive info types)クレカ番号、マイナンバー相当、口座情報など誤検知が多い場合はインスタンス数や一致精度を調整。検知対象は新規/更新コンテンツに影響する注意点あり
キーワード / 辞書社内用語、プロジェクト名、顧客コードなど“短すぎる単語”は誤検知の原因。複数語の組み合わせ(AND/OR)で精度を上げる
添付/ドキュメント名に含まれる語句ファイル名規約(例:_CONF、機密、社外秘)運用でファイル名規約を徹底できる組織ほど強い
ドキュメント プロパティ(SharePoint 管理プロパティ)列(メタデータ)で分類している文書“完全一致”が基本。列→管理プロパティのマッピングや、値の表記揺れ対策が重要

「特定ライブラリだけ全部ラベル付け」したいなら、別機能が近道

「このライブラリの新規/更新ファイルは、内容に関係なく全部 Confidential にしたい」タイプの要件は、自動ラベルポリシーよりもドキュメントライブラリの既定の感度ラベル(default sensitivity label)の方が運用に合うことが多いです。自動ラベルは“内容検出でラベルを付け分ける”のが得意領域なので、要件に合わせて使い分けるのがポイントです。

SharePoint だけラベルが付かないときの確認ポイント

OneDrive や Exchange では動いているのに SharePoint だけラベルが付かない場合、原因は「SharePoint 側の前提条件」か「テスト方法の落とし穴」であることが多いです。以下のチェックリストを上から順に潰すと、切り分けが速いです。

チェック項目典型症状確認方法関係する権限の目安
SharePoint/OneDrive で感度ラベルを処理できる設定になっているか(AIP 統合)SharePoint のみ自動ラベルが機能しないPurview ポータルで「Turn on now」が出ていないか、または Get-SPOTenant | Select EnableAIPIntegrationグローバル管理者 or SharePoint 管理者
監査(Audit)が有効かポリシー保存時に「監査ログ検索を有効化して」とエラーPurview の監査画面、または Exchange Online PowerShell で監査状態を確認監査関連ロール + 変更権限
ポリシーが「オフ / シミュレーション」のままになっていないか条件に合うのにラベルが付かないAuto-labeling policies で状態を確認(Turn on policy が必要)Purview の情報保護/コンプライアンス系ロール
ファイルが評価対象の形式か(Office / PDF など)PDF だけ付かない、画像だけ付かないサポート対象の拡張子でテストし、PDF なら SharePoint 側の対応設定も確認―
ファイルが“開かれていない/チェックアウトされていない”状態か共同編集や必須チェックアウトのライブラリで付かないライブラリ設定(チェックアウト必須)と、ファイルの状態を確認SharePoint 管理者/サイト管理者

AIP(EnableAIPIntegration)連携を有効化する

SharePoint と OneDrive で感度ラベルを処理できるようにするには、テナント設定として“有効化(opt-in)”が必要です。ポータル操作が一番簡単ですが、PowerShell でも有効化できます。設定変更はテナントレベルの変更なので、実務では SharePoint 管理者(またはグローバル管理者)と連携して進めるのが確実です。

ポータルで有効化(グローバル管理者)

Purview ポータルで感度ラベル画面を開くと、条件によっては「Turn on now」の案内が表示されます。ここからオンにできます(グローバル管理者でのサインインが必要)。反映には約 15 分程度かかる旨が案内されています。

PowerShell で有効化(SharePoint 管理者)

# SharePoint Online 管理シェル
# 例: https://contoso-admin.sharepoint.com に接続
Connect-SPOService -Url https://contoso-admin.sharepoint.com

# AIP 統合(感度ラベル処理)を有効化

Set-SPOTenant -EnableAIPIntegration $true

# 状態確認

Get-SPOTenant | Select EnableAIPIntegration 

Microsoft 365 Multi-Geo を利用している場合は、ジオロケーションごとに同様の設定が必要になる点にも注意してください。

反映のタイムラグを見誤らない

ラベルやラベルポリシー(公開ポリシー)の変更は、各サービスに伝播するまで時間がかかります。Microsoft の公式ドキュメントでも、ラベル/ラベルポリシーの変更は最大 24 時間の伝播時間を見込むよう案内されています。SharePoint/OneDrive 側の“有効化直後”や“新しいラベルを公開した直後”に、すぐ結果を求めすぎると沼りやすいです。

また、Purview の自動ラベルポリシーはバックグラウンド処理で評価されます。ポリシー詳細の「ラベリング進捗」情報は 48 時間ごとに更新される仕様があり、オンにした直後は 0 件表示になることもあります。テストの際は“新規作成または編集した Office ファイル”を用意し、時間差を前提に確認するのが現実的です。

ファイルが評価対象にならない典型パターン

  • ファイルが開かれている / チェックアウトされている:自動ラベル実行時点でファイルが別プロセスやユーザーにより開かれていると評価できません。チェックアウト必須ライブラリの全ファイルも影響を受けます。
  • カスタムの機密情報の種類(SIT)を作ったばかり:選択した機密情報の種類によっては、作成/変更後のコンテンツにしか効かない制約があります。テスト用の新規文書を作って確認します。
  • ゼロバイトのファイル:中身がないファイルはラベルが付かないことがあります。

「ポリシー保存時にエラーになる」時に見るべきポイント

サイトの選択自体はできるのに、保存段階でクライアント エラーになるケースは珍しくありません。エラー文が具体的でないことも多いので、まずは“起きやすい原因”から潰すのが近道です。

監査(Audit log search)が有効かを最優先で確認

自動ラベル付与ポリシーには「監査が有効であること」が前提条件として明記されています。実際に、保存時エラーとして「Please make sure audit log search is turned on(監査ログ検索を有効にして)」が出る事例も報告されています。まず監査が有効になっているか、Purview ポータルまたは Exchange Online PowerShell で確認してください。

# Exchange Online PowerShell で監査の状態を確認
Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

# 監査を有効化(必要な場合)
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

監査の有効化後、検索結果が返るまで“数時間”かかる場合がある点も踏まえて、反映待ちの時間を確保します。

新しい Purview ポータルで再作成/再保存してみる

同じ設定でも、ポータル(UI)の切り替えで保存エラーが解消したという報告があります。UI 側の不具合や一時的な整合性問題の可能性もあるため、別ブラウザーでの再試行や、ポリシーの作り直し(特に対象サイトを少数に絞った検証用)を試す価値があります。

場所(Locations)の上限・設計を見直す

自動ラベルポリシーには上限があり、たとえば「特定の SharePoint サイトを含める/除外する」指定をする場合、含める/除外する場所は最大 100、ポリシー数は最大 100という制限があります。サイト数が多い環境で“細かく選びすぎて”保存できない場合は、設計を見直してポリシーを分割するか、「All を対象にして除外を最小にする」方式を検討します。

UI が辛いなら PowerShell で場所を追加する

SharePoint サイトが多い場合や、UI での入力が不安定な場合は、Security & Compliance PowerShell で自動ラベルポリシーを作成/更新する方法があります。複数サイトを配列で渡して追加できるため、運用の再現性が上がります。

# 例: 自動ラベルポリシー(感度ラベル)を作成し、SharePoint サイトを対象にする
New-AutoSensitivityLabelPolicy -Name "AutoLabel-DataManagement" `
  -SharePointLocation "https://contoso.sharepoint.com/sites/DataManagement" `
  -ApplySensitivityLabel "Confidential" `
  -Mode TestWithoutNotifications

# 既存ポリシーへサイトを追加する
$spoLocations = @(
  "https://contoso.sharepoint.com/sites/Finance",
  "https://contoso.sharepoint.com/sites/HR"
)
Set-AutoSensitivityLabelPolicy -Identity "AutoLabel-DataManagement" -AddSharePointLocation $spoLocations

テナント内の SharePoint サイト一覧を取得する方法

「自動ラベルの対象サイトを整理したい」「保存エラーの切り分けのため、対象候補の URL を正確に集めたい」という場面では、まず“サイト一覧(棚卸し)”が重要です。SharePoint 管理センターでの確認に加えて、PowerShell の Get-SPOSite を使うと CSV 化まで一気に進められます。

Get-SPOSite で全サイトを取得する(SharePoint 管理者)

# SharePoint Online 管理シェルに接続後
# 全サイトコレクションを取得
$sites = Get-SPOSite -Limit ALL

# 必要な情報だけ抜き出して CSV へ

$sites | Select Url, Title, Owner, Template, StorageUsageCurrent |
Export-Csv -Path ".\spo-sites.csv" -NoTypeInformation -Encoding UTF8 

OneDrive(個人サイト)も含めたい場合は -IncludePersonalSite $true を使います。取得対象が増えるほど時間がかかるので、まずは -IncludePersonalSite $false の棚卸しから始めると安全です。

Get-SPOSite の注意点(実務でハマりやすいところ)

  • Get-SPOSite は“サイトコレクション”の一覧:サブサイト(/sites/xxx/subweb)は別途の取得が必要です。
  • -Limit や -Filter を使うと一部プロパティが埋まらない:大量サイトの高速取得は便利ですが、必要なプロパティが空になる場合があります。棚卸しの目的に合わせて使い分けます。
  • 実行権限:SharePoint Online 管理者権限と、場合によってはサイトコレクション管理者が必要になります。

成功しやすい検証手順(最短で“動いた/動かない”を判断する)

  1. テスト用の感度ラベルを用意(Files & other data assets をスコープに含める)。
  2. そのラベルを少人数(テストユーザー)へ公開し、反映待ちの時間を確保。
  3. SharePoint/OneDrive の感度ラベル処理を有効化(未実施なら)。
  4. 自動ラベル付与ポリシーを作成し、SharePoint の場所はサイトのルート URLを指定。
  5. 最初はシミュレーションで誤検知を見て、問題なければ Turn on で本番適用。
  6. テスト用に、条件に確実に合致する新規の Office ファイルをアップロード(または既存ファイルを編集して保存)。
  7. ファイルがチェックアウトされていないことを確認し、時間差を置いて結果を確認(進捗は 48 時間周期の場合あり)。

運用のコツ:SharePoint 側で“ラベルが付いたか”を確認する視点

SharePoint のライブラリ画面でラベルが見えない場合でも、必ずしも「ラベルが付いていない」とは限りません。感度ラベルを有効化した後、ライブラリのSensitivity(感度)列の表示は遅延することがあります。また、チェックアウト中の文書は、チェックインして次に SharePoint で開くまで列表示が更新されないケースもあります。

さらに確実に確認したい場合は、SharePoint 検索で管理プロパティ InformationProtectionLabelId を使って「特定ラベルが付いた文書」を検索する方法もあります(ラベルの GUID が必要)。

押さえるポイント

  • 自動ラベルの場所指定はサイト(サイトコレクション)URL まで。AllItems.aspx など深い URL は指定できない。
  • SharePoint で自動ラベルが動かない場合は、まずAIP 統合(EnableAIPIntegration)と監査(Audit)を確認する。
  • 反映には時間がかかる。ラベル/ポリシーの変更は最大 24 時間、進捗集計は 48 時間周期など“待ち”が前提。
  • 対象サイトが多い場合は、Get-SPOSite で棚卸しし、必要なら PowerShell でポリシーへ追加して運用を安定させる。

この記事を書いた人

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

コメント

コメントする

目次