Microsoft Purviewで平文パスワード露出を検出する方法とDLP優先対策

Microsoft Purview / Sensitive Information Types / DLPを使っている組織が今回まず取るべき行動は、平文パスワードを検出するCustom SITを作って、いきなりブロックすることではありません。最初にやるべきなのは、パスワードが出やすい場所を棚卸しし、Custom regexの検出精度をシミュレーションで確認し、外部共有・非管理AIアプリ・広範囲共有などリスクの高い経路から段階的にDLP制御を強めることです。

Microsoftは2026年4月20日、Microsoft PurviewのSensitive Information Typesでカスタム正規表現を使い、平文パスワード露出を検出する方法を公開しました。ポイントは、単純に「強そうな文字列」を拾うのではなく、長さ・複雑性・passwordやpwdのような文脈キーワードを組み合わせ、誤検知を抑えながら実際のパスワード共有に近いパターンを検出する設計にあります。(TECHCOMMUNITY.MICROSOFT.COM)

目次

Microsoft Purviewの平文パスワード検出は「検出ルール」ではなく「リスク低減策」として読むべき

今回のMicrosoft PurviewのCustom regexによる平文パスワード検出は、セキュリティチームにとって「新しい正規表現のサンプル」として読むだけでは不十分です。より重要なのは、パスワードがメール、Teams、SharePoint、OneDrive、端末、ブラウザ経由のクラウドアプリ利用など、複数の経路で漏えいし得ることを前提に、DLPポリシーの優先順位を見直すきっかけにすることです。

Microsoftの投稿では、MFAのような強力な認証制御があっても、レガシーシステム、サードパーティツール、サービスアカウントなどではパスワードだけに依存する場面が残り、平文で共有・保存された認証情報が重大なリスクになると説明されています。(TECHCOMMUNITY.MICROSOFT.COM)

つまり、今回の更新を読むときの実務上の結論は次の3つです。

  • Custom SITは、平文パスワードを早期発見するための検出レイヤーとして使う
  • DLPは、検出後に外部送信・アップロード・共有・印刷・コピーなどの危険な行動を抑制するために使う
  • 検出されたパスワードは、DLPで止めるだけでなく、必ず失効・ローテーション・共有経路の是正まで行う

DLPは「漏れたものを見つける仕組み」であって、「漏れたパスワードを無害化する仕組み」ではありません。検出後のインシデント対応まで設計して初めて、安全対策として機能します。

Microsoftが示したCustom regex検出設計の要点

Microsoftの例では、平文パスワード検出を1本の巨大な正規表現に詰め込まず、Sensitive Information Typeのパターンを複数の要素に分けて設計しています。Microsoft PurviewのSITは、主要素、補助要素、信頼度、近接条件などで構成されるパターンベースの分類器です。(Microsoft Learn)

検出要素役割実務上の読み解き
Primary elementパスワード候補となる文字列を拾う文字列の長さや空白の有無で候補を絞る
Supporting element大文字・小文字・数字・記号などの複雑性を確認する単なる長い単語やIDを除外しやすくする
Keyword contextpassword、pwd、credentialなどの周辺語を確認するAPIキー、ハッシュ、ランダム文字列との誤検知を減らす
Proximity候補文字列と補助要素・キーワードの距離を制御する同じ文脈にある文字列だけを検出しやすくする

Microsoftの投稿では、候補文字列の長さを10〜20文字とし、英字・数字・特殊文字の存在を確認し、さらにcredential、password、pwd、pswdなどのキーワードを近接条件で組み合わせる例が示されています。これにより、単なるランダム文字列ではなく、人が「パスワード」として書いた可能性が高い文字列を検出しやすくなります。(TECHCOMMUNITY.MICROSOFT.COM)

そのままコピーするのではなく、自社のパスワード実態に合わせる

Microsoftの例は有用ですが、そのまま本番環境へ適用するのは危険です。たとえば、自社のパスワードポリシーが「最小14文字」「パスフレーズ推奨」「記号必須ではない」場合、10〜20文字・記号必須の設計では見逃しが増える可能性があります。

見直すべき項目は、少なくとも次の通りです。

確認項目設計に反映する内容
最小・最大文字数10〜20文字に固定せず、自社ポリシーや実態に合わせる
使用可能な文字日本語入力、全角記号、スペースを含むパスフレーズを許可しているか確認する
キーワードpasswordだけでなく、パスワード、PW、仮パス、初期パスワード、認証情報などを検討する
対象ワークロードExchange、SharePoint、OneDrive、Teams、Endpoint DLP、Edge for Businessなどの優先順位を決める
誤検知除外テストデータ、手順書、教育資料、APIキー、ハッシュ、GUIDなどをどう扱うか決める

日本語環境では、英語キーワードだけに依存すると検出漏れが起きます。Microsoft Learnでは、日本語や中国語などのダブルバイト文字と英数字が混在するキーワードを扱う場合、スペースあり・なしの両方のバリエーションを用意する考え方が示されています。たとえば「初期パスワード ABC123」のような表記と「初期パスワードABC123」のような表記は、別パターンとして考える必要があります。(Microsoft Learn)

優先すべきリスク低減策は「どこで検出するか」から決める

平文パスワード対策で失敗しやすいのは、検出ルールの精度だけに集中し、DLPポリシーの適用場所とアクション設計を後回しにすることです。Microsoft Purview DLPは、Microsoft 365の場所だけでなく、端末、オンプレミスのファイル共有、非Microsoftクラウドアプリなど、複数の場所や利用行動を対象にできます。DLPは単純なテキスト検索ではなく、正規表現、キーワード、近接する二次一致、内部関数、機械学習などを使ったコンテンツ分析を行います。(Microsoft Learn)

優先順位は、次のように「影響の大きさ」と「止めやすさ」で決めると実務に落とし込みやすくなります。

優先度対象推奨アクション
最優先外部宛てメール、外部共有リンク、非管理AIアプリへの貼り付け・アップロードシミュレーション後、ブロックまたは強い警告。検出時は即時ローテーション
高SharePoint / OneDrive上の広範囲共有ファイル、共有フォルダー内の資格情報一覧共有範囲の縮小、所有者通知、必要に応じて隔離
高サービスアカウント、管理者アカウント、MFA未対応システムのパスワード検出時にHigh severityでアラート化し、認証情報を失効
中社内メール、Teams、トラブルシューティングメモ、運用手順書ポリシーヒントで教育し、例外申請や正規の保管場所へ誘導
中開発・運用部門のスクリプト、設定ファイル、台帳DevSecOpsやプラットフォームチームと連携し、VaultやマネージドIDへ移行
低研修資料、検証用のダミーデータ、パスワードポリシー文書除外条件やキーワード調整でノイズを抑える

特に優先すべきなのは、外に出る経路です。平文パスワードが社内文書に残っているだけでも危険ですが、外部メール、外部共有、非管理クラウドアプリ、生成AIサービスへの貼り付けに乗ると、回収が難しくなります。Edge for Businessを制御点として非管理AIアプリへの共有をブロックするDLPシナリオもMicrosoft Learnで示されており、ブラウザ経由のデータ流出対策は優先度が上がっています。(Microsoft Learn)

Custom SITを作るときの実務設計

Custom SITは、検出精度を上げるための部品です。DLPポリシーで強いアクションをかける前に、SIT自体を読みやすく、保守しやすく、監査しやすい形にしておく必要があります。

Microsoft Purviewポータルでは、Information ProtectionのClassifiersからSensitive info typesを開き、Custom SITを作成できます。パターンにはPrimary element、Supporting elements、信頼度、Character proximityなどを設定できます。(Microsoft Learn)

推奨するSIT構成例

項目設定例判断基準
SIT名Plaintext Password Exposure - High Confidence目的と信頼度が分かる名前にする
説明平文パスワードらしい文字列と周辺キーワードを検出監査時に意図が分かるように書く
Primary element空白を含まない一定長の文字列自社のパスワード長に合わせる
Supporting element 1英字、数字、特殊文字などの複雑性条件自社ポリシーと実態を優先する
Supporting element 2password、pwd、credential、パスワード、仮パスなど英語・日本語・略語を含める
Proximityキーワードと候補文字列が同じ文脈にある距離近すぎると漏れ、広すぎると誤検知が増える
Confidence levelHighを基本に、必要ならMediumを別パターン化ブロック用途では高信頼を優先する

Microsoftの例では、候補文字列を拾うPrimary elementと、複雑性を確認するSupporting element、文脈を確認するキーワード要素を分離しています。これは、1本の複雑な正規表現よりも、保守・説明・監査がしやすい設計です。(TECHCOMMUNITY.MICROSOFT.COM)

Primary elementの例

\S{10,20}

この例は「空白を含まない10〜20文字」を候補にします。ただし、実務では次のような調整が必要です。

  • パスフレーズを使う組織では、空白を含むパターンも検討する
  • 20文字を超える管理者用パスワードやランダム生成パスワードがある場合、最大長を広げる
  • 記号の種類を制限しすぎると、実際のパスワードを見逃す
  • 広げすぎると、APIキー、トークン、ハッシュ、GUIDとの誤検知が増える

なお、Microsoft Learnでは、Custom SIT内の正規表現で^や$のような位置アンカーを使うと、スキャン時に意図通り動作しない可能性があるため避けるよう案内されています。正規表現を作る際は、通常のアプリケーション開発での動作とPurview上での動作を同一視しないことが重要です。(Microsoft Learn)

キーワードは「英語だけ」では足りない

グローバル組織や日本法人を含む組織では、キーワードを言語別に設計する必要があります。英語圏のpassword、pwd、credentialだけでは、日本語の運用文書やチャットに出てくる平文パスワードを拾いにくくなります。

日本語環境で検討したいキーワード例は次の通りです。

種別キーワード例
一般表現パスワード、PW、pwd、password、passcode
運用表現初期パスワード、仮パス、暫定パスワード、認証情報
台帳表現ID、ユーザーID、ログイン情報、接続情報
注意が必要な表現シークレット、secret、token、APIキー

ただし、secretやtokenまで広げると、パスワード以外の認証情報も大量に検出する可能性があります。パスワード専用SITと、APIキー・トークン検出用SITを分けると、アラートの優先順位付けがしやすくなります。

DLPポリシーはシミュレーションから段階的に展開する

Custom SITを作った後にやってはいけないのは、全社・全ワークロード・即時ブロックで展開することです。平文パスワード検出は、誤検知でも業務影響が大きく、逆に検出漏れでもリスクが残ります。最初は影響を測るためにシミュレーションを使うべきです。

Microsoft Learnでは、影響の大きいDLPポリシーは、まずシミュレーションモードでポリシーヒントなしに実行し、DLPレポートやインシデントレポートで件数・場所・種類・重大度を確認し、その後ポリシーヒント付きのシミュレーション、最後に本番適用へ進む段階的展開が推奨されています。(Microsoft Learn)

フェーズ実施内容完了条件
SIT単体テスト一致するサンプル、一致しないサンプルを用意してSITをテスト想定通りの一致・不一致が確認できる
シミュレーションDLPポリシーをブロックなしで実行影響範囲、誤検知、検出場所が把握できる
通知付きシミュレーションポリシーヒントやメール通知を表示ユーザー教育と例外申請の導線が機能する
部分適用外部共有、非管理AIアプリ、特定部門などから制御高リスク経路で過剰ブロックが起きない
全体適用必要な場所へ段階的に拡大アラート対応、ローテーション、監査が回る

SITは、Purviewポータル上でサンプルファイルを使ってテストできます。テスト結果では、信頼度ごとの一致数を確認できます。(Microsoft Learn)

DLPシミュレーションモードでは、ポリシー作成時または作成後にシミュレーションを有効化でき、シミュレーション中にポリシーヒントを表示する選択肢もあります。なお、シミュレーション結果は長期間実行しても表示対象が直近30日分に限られるため、レビューのタイミングを決めて運用する必要があります。(Microsoft Learn)

DLPアクションは「検出件数」ではなく「流出経路」で分ける

平文パスワードのDLPポリシーでは、検出件数だけでSeverityを決めるのは適切ではありません。パスワードは1件でも重大です。特に、管理者アカウント、サービスアカウント、MFA未対応システム、外部接続用アカウントの認証情報であれば、1件でもインシデント扱いにすべきです。

DLPポリシーのアクションは、次のように使い分けると実務に向いています。

シナリオ推奨アクション補足
外部宛てメールに平文パスワードブロック、または承認付き例外送信者教育だけでなく、該当パスワードの失効が必要
SharePoint / OneDriveで外部共有共有停止、アクセス制限、必要に応じて隔離ファイル所有者とシステム管理者へ通知
Teamsや社内メールで共有通知、ポリシーヒント、再発防止案内まず運用改善と教育に使う
非管理AIアプリへの貼り付けブロックまたは強い警告入力後の回収が難しいため優先度が高い
端末からUSB、印刷、クリップボードEndpoint DLPで監視・制御高リスク部門から段階導入する

Endpoint DLPでは、オンボードされたWindows 10/11、macOSの近年の主要バージョンなどを対象に、機密アイテムに対するユーザー行動を可視化し、DLPポリシーで保護アクションを適用できます。(Microsoft Learn)

SharePointやOneDrive上のファイルについては、条件に一致したファイルを隔離するDLPポリシーも利用できます。Microsoft Learnでは、隔離アクションを有効化する前にシミュレーションモードで影響を評価し、Activity ExplorerやDLPアラートダッシュボードで対象ファイルが期待通りか確認する手順が示されています。(Microsoft Learn)

アラート対応は「検出」ではなく「資格情報の無効化」までを1つの流れにする

平文パスワード検出のDLPアラートが上がったとき、セキュリティチームが見るべきポイントは「どの文字列が検出されたか」だけではありません。むしろ重要なのは、その文字列がどのアカウントに紐づく可能性があるか、どこへ共有されたか、すでに使われた可能性があるかです。

DLPアラートは、Microsoft PurviewポータルやMicrosoft Defender XDRで調査・管理できます。Microsoftは、DLPポリシーの作成・編集はPurviewポータル、アラートの調査・管理はMicrosoft Defender XDRを推奨しています。(Microsoft Learn)

平文パスワード検出時の対応プレイブック

ステップ確認・対応内容
トリアージ送信者、所有者、共有先、外部公開有無、対象ワークロードを確認
影響評価文字列が実在する認証情報か、どのシステムに関係するかを確認
封じ込め外部共有リンク停止、メール回収可否の確認、ファイル隔離、アクセス制限
資格情報対応パスワード変更、トークン失効、セッション失効、サービスアカウントのローテーション
監査サインインログ、異常アクセス、権限変更、データアクセス履歴を確認
再発防止パスワードマネージャー、Secrets Vault、PAM、Managed Identityなどへ移行
ルール改善誤検知・見逃しをSIT、キーワード、除外条件へ反映

ここで注意すべきなのは、PurviewのSITが検出するのは「パスワードらしい文字列」であり、その文字列が本当に有効なパスワードかどうかまでは保証しない点です。逆に、実在するパスワードであっても、ルールの長さ、文字種、キーワード、スキャン対象外の場所によって検出されない可能性があります。したがって、DLPアラートは自動判定の完了ではなく、調査開始のトリガーとして扱うべきです。

誤検知を減らすには「広く拾って人が見る」より「文脈で絞る」

平文パスワード検出で最も多い失敗は、広すぎる正規表現で大量のランダム文字列を拾い、SOCやセキュリティチームがアラート疲れを起こすことです。特に、ハッシュ値、APIキー、GUID、チケット番号、サンプルコード、教育資料はノイズになりやすい領域です。

Microsoft Learnでは、SITの追加チェックとして、特定キーワードの除外、開始文字・終了文字の条件、プレフィックスやサフィックスの包含・除外などを設定できることが説明されています。これらは、パスワード検出でも誤検知削減に役立ちます。(Microsoft Learn)

誤検知パターン原因対策
APIキーやトークンをパスワードとして検出強い文字列パターンが似ているAPI_KEY、token、Bearerなどを別SITまたは除外条件で扱う
ハッシュ値を検出英数字の長い文字列を拾っている長さ、文字種、周辺キーワードで分離する
パスワードポリシー文書を検出「Password」とサンプル文字列が近い教育資料や規程ページを別スコープにする
テストデータを検出ダミー認証情報が本物の形式に近いテスト用プレフィックス、保管場所、サイト単位の除外を検討する
日本語文書で見逃す英語キーワードしか入れていない日本語キーワード、スペースあり・なしの表記揺れを追加する
長いパスフレーズを見逃す最大長が短すぎるパスフレーズ用の別パターンを作る

また、Endpoint DLPではテナント内の利用可能なSITに基づき分類が行われるため、未調整のCustom SITが多くのファイルに一致すると分類トラフィックが増える可能性があります。Microsoft Learnでも、未使用のSITの削除や、ほとんどのファイルに一致するSITの再設計が推奨されています。(Microsoft Learn)

ポリシーヒントとユーザー通知は「教育」と「例外処理」のために使う

平文パスワードの共有は、悪意よりも「急ぎの作業」「一時対応」「引き継ぎ」「障害対応」で起きることが多いものです。したがって、DLPをいきなり罰則的に運用すると、ユーザーは別の抜け道を探し始めます。重要なのは、ポリシーヒントで「なぜ危険なのか」と「代わりに何を使うべきか」を短く伝えることです。

Microsoft Purview DLPでは、ルールごとに通知やユーザーオーバーライドを設定できます。ただし、複数のルールに一致した場合は、最も制限の強い優先度の高いルールのポリシーヒントが表示される仕組みです。(Microsoft Learn)

ポリシーヒントには、次のような実務的な文言を入れると効果的です。

平文パスワードの共有が検出されました。パスワードはメール・チャット・共有ファイルに記載せず、承認済みのパスワード管理ツールまたはSecrets Vaultを使用してください。すでに共有した場合は、対象パスワードを変更し、セキュリティチームへ連絡してください。

ただし、ポリシーヒントにはクライアントや条件による制約があります。たとえばOutlook for Microsoft 365のポリシーヒントでは、メッセージ本文や添付ファイルの処理サイズに制限があるため、ユーザー通知だけを過信しない設計が必要です。(Microsoft Learn)

Security teams、compliance leads、platform architectsの役割分担

平文パスワード対策は、セキュリティチームだけで完結しません。Microsoft Purview / Sensitive Information Types / DLPを安全対策として機能させるには、役割ごとに責任を分ける必要があります。

役割主な責任
Security teams検出ルール、アラート対応、資格情報のローテーション、インシデント調査
Compliance leadsポリシー文言、監査証跡、例外承認、規程との整合性
Platform architects対象ワークロード、Endpoint DLP、Edge for Business、Intune、Secrets管理基盤の設計
IT operationsサービスアカウント管理、パスワード変更手順、障害対応時の代替運用
Business owners業務影響の評価、例外要件、現場への周知

特にPlatform architectsは、DLPを「最後の砦」として扱うだけでなく、パスワードを平文で扱わなくても済む構造へ変える責任があります。たとえば、クラウド環境ではManaged IdentityやKey Vault、オンプレミスではPAMや特権ID管理、運用部門では承認済みのパスワードマネージャーを整備する、といった設計が必要です。

導入前に確認すべきチェックリスト

本番展開前には、次のチェックリストを使って抜け漏れを確認してください。

チェック項目確認内容
検出目的平文パスワードだけを検出するのか、APIキーやトークンも含めるのか
対象範囲Exchange、SharePoint、OneDrive、Teams、Endpoint、Edge for Businessの優先順位
言語対応英語・日本語・略語・部門固有の表現を含めたか
正規表現自社のパスワード長、文字種、パスフレーズ方針に合っているか
誤検知対策テストデータ、手順書、教育資料、APIキー、ハッシュの扱いを決めたか
シミュレーションブロックなしで影響範囲を確認したか
アラート重要度、通知先、単発アラート・集約アラートの使い分けを決めたか
対応手順検出後のパスワード変更、共有停止、監査確認の手順があるか
ユーザー案内ポリシーヒントに代替手段と問い合わせ先を書いたか
継続改善誤検知・見逃しをルールへ反映する運用があるか

DLPアラートは、ルール一致のたびに発報する単発アラートと、一定期間内の複数イベントをまとめる集約アラートを使い分けられます。平文パスワードのように1件でも重要度が高い事象では、単発アラートを使う場面が多くなりますが、部門やワークロードによっては集約設計も検討すべきです。(Microsoft Learn)

まとめ:Custom regexは入口、優先すべきは検出後のリスク低減

Microsoft PurviewのCustom regexによる平文パスワード検出は、Sensitive Information TypesとDLPを使う組織にとって有用な実装パターンです。ただし、正規表現を追加するだけでは安全対策として不十分です。

最初に取り組むべきことは、次の順番です。

  • パスワードが出やすい業務経路を洗い出す
  • 自社のパスワード実態に合わせてCustom SITを設計する
  • 英語・日本語のキーワードと近接条件で誤検知を抑える
  • DLPポリシーをシミュレーションで検証する
  • 外部共有、非管理AIアプリ、広範囲共有など高リスク経路から制御する
  • 検出後は必ず資格情報の失効・ローテーション・再発防止まで行う

次に取るべき具体的な行動は、全社展開ではなく、高リスクな1つの経路を選んで小さく検証することです。たとえば、外部宛てメール、SharePointの外部共有、非管理AIアプリへの送信のいずれかを対象に、Custom SITを作成し、シミュレーションで検出結果を確認します。その結果をもとに、キーワード、正規表現、除外条件、通知文言、アラート対応手順を整えてから、段階的に範囲を広げていくのが安全です。

この記事を書いた人

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

コメント

コメントする

目次