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/DataManagement | OK | サイト(サイトコレクション)単位として有効 |
https://tenant.sharepoint.com/sites/DataManagement/ | 概ねOK | 末尾スラッシュは環境によって扱いが揺れるため、可能なら無しで統一 |
.../General/Forms/AllItems.aspx | NG | ライブラリのビュー(画面)を指す URL。スコープ対象として無効 |
.../Shared%20Documents/Forms/AllItems.aspx | NG | 同上。コピーした“表示用リンク”は多くがこの形式 |
なぜ「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 管理者権限と、場合によってはサイトコレクション管理者が必要になります。
成功しやすい検証手順(最短で“動いた/動かない”を判断する)
- テスト用の感度ラベルを用意(Files & other data assets をスコープに含める)。
- そのラベルを少人数(テストユーザー)へ公開し、反映待ちの時間を確保。
- SharePoint/OneDrive の感度ラベル処理を有効化(未実施なら)。
- 自動ラベル付与ポリシーを作成し、SharePoint の場所はサイトのルート URLを指定。
- 最初はシミュレーションで誤検知を見て、問題なければ Turn on で本番適用。
- テスト用に、条件に確実に合致する新規の Office ファイルをアップロード(または既存ファイルを編集して保存)。
- ファイルがチェックアウトされていないことを確認し、時間差を置いて結果を確認(進捗は 48 時間周期の場合あり)。
運用のコツ:SharePoint 側で“ラベルが付いたか”を確認する視点
SharePoint のライブラリ画面でラベルが見えない場合でも、必ずしも「ラベルが付いていない」とは限りません。感度ラベルを有効化した後、ライブラリのSensitivity(感度)列の表示は遅延することがあります。また、チェックアウト中の文書は、チェックインして次に SharePoint で開くまで列表示が更新されないケースもあります。
さらに確実に確認したい場合は、SharePoint 検索で管理プロパティ InformationProtectionLabelId を使って「特定ラベルが付いた文書」を検索する方法もあります(ラベルの GUID が必要)。
押さえるポイント
- 自動ラベルの場所指定はサイト(サイトコレクション)URL まで。
AllItems.aspxなど深い URL は指定できない。 - SharePoint で自動ラベルが動かない場合は、まずAIP 統合(EnableAIPIntegration)と監査(Audit)を確認する。
- 反映には時間がかかる。ラベル/ポリシーの変更は最大 24 時間、進捗集計は 48 時間周期など“待ち”が前提。
- 対象サイトが多い場合は、Get-SPOSite で棚卸しし、必要なら PowerShell でポリシーへ追加して運用を安定させる。

コメント