PowerShellでMicrosoft PurviewのDLPポリシーを作成し機密情報を保護する方法

Microsoft Purviewは、企業のデータ管理とセキュリティを強化するための包括的なソリューションの一つであり、その中でもデータ損失防止(DLP)ポリシーは、機密情報の不適切な共有や漏洩を防ぐ重要な役割を担っています。

DLPポリシーを適切に設定することで、企業内の機密データが許可されていないユーザーに送信されるのを防ぎ、セキュリティとコンプライアンスの維持を支援します。しかし、Microsoft Purviewの管理をGUI(グラフィカルユーザーインターフェース)だけで行うと、複数のポリシーの作成や変更を効率的に管理するのが難しくなります。そこで、PowerShellを利用することで、スクリプトを活用した自動化や一括管理が可能となり、効率的なDLPポリシー運用が実現できます。

本記事では、PowerShellを使用してMicrosoft PurviewのDLPポリシーを作成・管理する方法を解説します。環境の準備から基本的なコマンド、監査ログの取得、運用例、トラブルシューティングまで、実践的な手順を詳しく紹介します。PowerShellを活用したDLPポリシーの運用を習得し、企業の機密情報を効果的に保護しましょう。

目次
  1. Microsoft Purview DLPポリシーとは
    1. DLPポリシーの役割
    2. Microsoft Purview DLPの適用範囲
    3. Microsoft Purview DLPの構成要素
  2. PowerShellを使用するメリット
    1. GUIとPowerShellの違い
    2. PowerShellを使用するメリット
    3. PowerShellの活用シナリオ
  3. PowerShell環境の準備
    1. 1. 必要なモジュールのインストール
    2. 2. PowerShellからMicrosoft Purviewに接続
    3. 3. 接続確認
    4. 4. Azure AD認証を使用する(必要な場合)
    5. 5. セッションの終了
  4. Microsoft Purview DLPポリシーの作成手順
    1. 1. 新しいDLPポリシーの作成
    2. 2. ポリシールールの追加
    3. 3. ポリシーの確認
    4. 4. ポリシーの編集
    5. 5. ポリシーの削除
    6. まとめ
  5. 既存のDLPポリシーの管理と編集
    1. 1. 既存のDLPポリシーの一覧を取得
    2. 2. DLPポリシーのルールを確認
    3. 3. DLPポリシーの編集
    4. 4. DLPポリシールールの変更
    5. 5. DLPポリシーの削除
    6. まとめ
  6. 監査ログとポリシーの適用状況の確認
    1. 1. DLPポリシーの適用状況の確認
    2. 2. DLPポリシー違反の検出
    3. 3. DLPポリシー違反の詳細を確認
    4. 4. DLPポリシー違反レポートをエクスポート
    5. 5. DLPポリシーの監視を自動化
    6. まとめ
  7. 実践的なユースケースと応用例
    1. 1. クレジットカード情報の外部送信を防ぐ
    2. 2. 個人情報(PII)の保護
    3. 3. 内部機密情報の流出防止
    4. 4. USBデバイスへのデータコピーを制限
    5. 5. 特定のユーザーや部門に適用するDLPポリシー
    6. まとめ
  8. トラブルシューティングと注意点
    1. 1. DLPポリシーが適用されない
    2. 2. DLPルールが期待通りに動作しない
    3. 3. 監査ログにDLP違反の記録がない
    4. 4. DLPポリシーの編集や削除ができない
    5. 5. ポリシー違反通知が送られない
    6. 6. PowerShell接続エラー
    7. まとめ
  9. まとめ

Microsoft Purview DLPポリシーとは


Microsoft Purviewのデータ損失防止(DLP: Data Loss Prevention)ポリシーは、企業の機密情報を保護するためのセキュリティ機能の一つです。DLPポリシーを適用することで、組織内のデータが適切に取り扱われ、無許可のユーザーや外部への情報漏洩を防ぐことができます。

DLPポリシーの役割


DLPポリシーは、以下のような機能を提供し、企業のセキュリティを強化します。

  • 機密情報の自動検出:クレジットカード番号、個人識別情報(PII)、医療情報などの機密データを自動的に識別
  • データの流出防止:メールやクラウドストレージを介した不適切なデータ共有を制限
  • ポリシー違反の通知:ルールに違反した際に警告を発し、必要に応じて管理者に通知
  • 監査とコンプライアンス対応:DLPログを取得し、企業のセキュリティ監査や規制遵守に役立てる

Microsoft Purview DLPの適用範囲


Microsoft PurviewのDLPポリシーは、以下のプラットフォームで適用可能です。

  • Microsoft 365(Exchange Online、OneDrive、SharePoint、Teams)
  • Windowsエンドポイント(ローカルPC、USBデバイスへの書き出し防止)
  • クラウドアプリ(Microsoft Defender for Cloud Apps 連携)

Microsoft Purview DLPの構成要素


DLPポリシーは、以下の要素で構成されます。

  1. ポリシールール:どのようなデータをどのように保護するかの条件(例:特定のキーワードやパターンの検出)
  2. 適用範囲:DLPが適用される場所(例:Exchange、SharePoint、Teams、エンドポイント)
  3. アクション:ポリシー違反時の対応(例:警告の表示、メール送信のブロック)
  4. 監査と通知:ポリシー違反のログ取得や管理者への通知

Microsoft Purview DLPポリシーは、機密情報の保護だけでなく、企業のコンプライアンス要件を満たすためにも重要なツールです。次の章では、PowerShellを利用してDLPポリシーを管理するメリットについて解説します。

PowerShellを使用するメリット


Microsoft PurviewのDLPポリシーは、Microsoft 365管理センターのGUI(グラフィカルユーザーインターフェース)から設定できます。しかし、PowerShellを使用することで、より柔軟で効率的な管理が可能になります。

GUIとPowerShellの違い

管理方法メリットデメリット
GUI(管理センター)直感的な操作が可能、視覚的にポリシーを確認しやすい複数のポリシーを一括で管理するのが難しい、手作業が増える
PowerShell一括適用が可能、スクリプトによる自動化が容易、変更履歴を管理しやすい初期設定にPowerShellの知識が必要

PowerShellを使用するメリット

  1. DLPポリシーの一括管理が可能
  • GUIでは1つずつ設定を行う必要があるが、PowerShellなら複数のDLPポリシーを一括で作成・編集・削除できる。
  1. 自動化と定期的な監視が容易
  • スクリプトを作成し、スケジュール実行することで、DLPポリシーの適用状況を定期的に監視できる。
  1. ポリシーのバージョン管理がしやすい
  • PowerShellスクリプトを保存しておけば、変更履歴を簡単に管理し、以前の設定に戻すことが可能。
  1. カスタマイズが柔軟
  • 企業のニーズに応じたDLPポリシーを柔軟に作成でき、詳細なルール設定が可能。
  1. 管理者の負担軽減
  • 手作業を減らし、ミスを防ぐことで、セキュリティ管理の効率化が図れる。

PowerShellの活用シナリオ

  • 新しいDLPポリシーを一括で作成
  • 既存のポリシーを一括で変更(例:特定の条件を満たすポリシーのみ更新)
  • ポリシー適用状況を定期的に監視し、レポートを作成
  • 特定のユーザーやグループのポリシーを一時的に変更する(例:特定のプロジェクト期間中のみ適用)

このように、PowerShellを活用することで、DLPポリシーの管理を効率的に行うことができます。次の章では、PowerShell環境の準備について詳しく説明します。

PowerShell環境の準備


PowerShellを使用してMicrosoft PurviewのDLPポリシーを管理するには、事前に環境を整える必要があります。本章では、必要なモジュールのインストールや認証方法について詳しく説明します。

1. 必要なモジュールのインストール


Microsoft PurviewのDLPポリシーをPowerShellで管理するためには、Exchange Online Management モジュールが必要です。以下のコマンドを使用してインストールを行います。

Install-Module ExchangeOnlineManagement -Scope CurrentUser

モジュールのインストール後、最新バージョンを確認することも推奨されます。

Get-Module ExchangeOnlineManagement -ListAvailable

2. PowerShellからMicrosoft Purviewに接続


Microsoft PurviewのDLPポリシーを操作するためには、Exchange Onlineに接続する必要があります。以下のコマンドを実行し、認証を行います。

Connect-ExchangeOnline -UserPrincipalName your_admin@yourdomain.com

ポイント

  • your_admin@yourdomain.com を自身の管理者アカウントに置き換えて実行してください。
  • マルチファクター認証(MFA)が有効な場合は、認証プロンプトが表示されます。
  • 接続が成功すると、DLPポリシーを管理するコマンドを使用できるようになります。

3. 接続確認


接続が正常に確立されたか確認するため、以下のコマンドでDLPポリシーの一覧を取得します。

Get-DlpPolicy

もしエラーが発生した場合は、認証情報やモジュールのインストール状況を確認してください。

4. Azure AD認証を使用する(必要な場合)


一部の環境では、Azure ADに接続し、DLP管理の権限を持つ必要があります。その場合、以下のコマンドを使用します。

Connect-AzureAD

注意点

  • Azure AD認証を使用する場合は、事前にAzureAD PowerShellモジュールをインストールしてください。
  • Install-Module AzureAD コマンドでインストール可能です。

5. セッションの終了


作業が完了したら、セッションを終了することが推奨されます。以下のコマンドを実行してください。

Disconnect-ExchangeOnline

これでPowerShell環境の準備が整いました。次章では、実際にPowerShellを使用してMicrosoft PurviewのDLPポリシーを作成する手順について解説します。

Microsoft Purview DLPポリシーの作成手順


PowerShellを使用してMicrosoft Purviewのデータ損失防止(DLP)ポリシーを作成することで、組織のデータを適切に保護できます。本章では、基本的なDLPポリシーをPowerShellで作成する手順を詳しく解説します。

1. 新しいDLPポリシーの作成


PowerShellを使用して、新しいDLPポリシーを作成するには、以下の手順を実行します。

New-DlpCompliancePolicy -Name "ConfidentialDataProtection" `
  -ExchangeLocation All `
  -SharePointLocation All `
  -OneDriveLocation All `
  -Mode Enforce `
  -Priority 0 `
  -Enabled $true

パラメータの説明

  • -Name:ポリシーの名前(例:「ConfidentialDataProtection」)
  • -ExchangeLocation:Exchangeメールに対してポリシーを適用(Allで全体適用)
  • -SharePointLocation:SharePoint内のドキュメントに適用
  • -OneDriveLocation:OneDrive内のファイルに適用
  • -Mode:ポリシーの適用モード(Enforce は強制適用、TestWithNotifications はテストモード)
  • -Priority:ポリシーの優先順位(0が最も優先度が高い)
  • -Enabled:ポリシーを有効化する場合は$true

2. ポリシールールの追加


DLPポリシーに特定のルール(機密データの検出と制限)を追加するには、以下のコマンドを使用します。

New-DlpComplianceRule -Name "BlockCreditCardData" `
  -Policy "ConfidentialDataProtection" `
  -ContentContainsSensitiveInformation @("Credit Card Number") `
  -BlockAccess $true `
  -NotifyUser $true

パラメータの説明

  • -Policy:適用対象のDLPポリシー(ここでは「ConfidentialDataProtection」)
  • -ContentContainsSensitiveInformation:特定の機密データを検出(例:クレジットカード番号)
  • -BlockAccess:データの送信をブロックする場合は$true
  • -NotifyUser:ユーザーに警告を表示する場合は$true

3. ポリシーの確認


作成したDLPポリシーが適用されているかを確認するには、以下のコマンドを実行します。

Get-DlpCompliancePolicy | Format-Table Name,Mode,Priority,Enabled

また、設定したルールを確認する場合は、以下のコマンドを使用します。

Get-DlpComplianceRule -Policy "ConfidentialDataProtection" | Format-Table Name,ContentContainsSensitiveInformation

4. ポリシーの編集


DLPポリシーの設定を変更する場合は、以下のコマンドを使用します。例えば、ポリシーモードを「Enforce」(強制適用)から「TestWithNotifications」(テストモード)に変更する場合:

Set-DlpCompliancePolicy -Identity "ConfidentialDataProtection" -Mode TestWithNotifications

5. ポリシーの削除


不要になったDLPポリシーを削除するには、以下のコマンドを実行します。

Remove-DlpCompliancePolicy -Identity "ConfidentialDataProtection"

また、関連するルールも削除する必要があるため、以下のコマンドを実行します。

Remove-DlpComplianceRule -Identity "BlockCreditCardData"

まとめ


PowerShellを使用することで、Microsoft PurviewのDLPポリシーを迅速かつ効率的に作成・管理できます。特に、大規模な組織では、ポリシーの一括適用や自動化が求められるため、スクリプトを活用することでセキュリティ運用を最適化できます。次の章では、既存のDLPポリシーを管理・編集する方法について詳しく解説します。

既存のDLPポリシーの管理と編集


Microsoft PurviewのDLPポリシーは、PowerShellを使用して既存のポリシーを管理・編集できます。ポリシーの一覧取得、ルールの変更、無効化や削除など、必要に応じた管理を行う方法を詳しく解説します。

1. 既存のDLPポリシーの一覧を取得


組織内で設定されているDLPポリシーを一覧表示するには、以下のコマンドを実行します。

Get-DlpCompliancePolicy | Format-Table Name,Mode,Priority,Enabled

特定のポリシーの詳細情報を確認する場合は、以下のように指定します。

Get-DlpCompliancePolicy -Identity "ConfidentialDataProtection"

2. DLPポリシーのルールを確認


既存のポリシーに適用されているルールを確認するには、以下のコマンドを実行します。

Get-DlpComplianceRule -Policy "ConfidentialDataProtection" | Format-Table Name,ContentContainsSensitiveInformation,BlockAccess,NotifyUser

これにより、対象のポリシーで保護されている機密情報の種類や適用ルールを確認できます。

3. DLPポリシーの編集


DLPポリシーの設定を変更したい場合は、Set-DlpCompliancePolicy コマンドを使用します。

(1) ポリシーのモードを変更する
例えば、現在「強制適用(Enforce)」されているポリシーをテストモード(TestWithNotifications)に変更する場合:

Set-DlpCompliancePolicy -Identity "ConfidentialDataProtection" -Mode TestWithNotifications

(2) ポリシーの有効・無効を切り替える
特定のポリシーを無効化する場合は、以下のコマンドを実行します。

Set-DlpCompliancePolicy -Identity "ConfidentialDataProtection" -Enabled $false

再度有効化したい場合は、$true に変更します。

Set-DlpCompliancePolicy -Identity "ConfidentialDataProtection" -Enabled $true

4. DLPポリシールールの変更


(1) ルールの条件を変更する
既存のルールの条件(例:検出する機密情報の種類)を変更するには、以下のコマンドを使用します。

Set-DlpComplianceRule -Identity "BlockCreditCardData" -ContentContainsSensitiveInformation @("Credit Card Number", "Social Security Number")

このコマンドでは、検出対象の情報として「クレジットカード番号」に加えて「社会保障番号(SSN)」も追加しています。

(2) 通知設定を変更する
DLPポリシーの違反時に通知を送るかどうかを変更できます。

Set-DlpComplianceRule -Identity "BlockCreditCardData" -NotifyUser $false

このコマンドを実行すると、ユーザーへの通知を無効化できます。

5. DLPポリシーの削除


不要になったDLPポリシーを削除するには、以下のコマンドを使用します。

Remove-DlpCompliancePolicy -Identity "ConfidentialDataProtection"

また、ポリシーに関連付けられているルールも削除する必要があります。

Remove-DlpComplianceRule -Identity "BlockCreditCardData"

注意点
ポリシーを削除すると、適用されていたDLPルールがすべて無効になります。誤って削除しないよう注意してください。

まとめ


PowerShellを活用すれば、DLPポリシーの詳細情報を簡単に取得し、設定を柔軟に変更できます。特に、ポリシーの一括適用や変更が必要な場面では、GUIよりもPowerShellが効率的です。次の章では、DLPポリシーの適用状況を監視し、監査ログを取得する方法について詳しく説明します。

監査ログとポリシーの適用状況の確認


Microsoft PurviewのDLPポリシーが正しく適用されているかを確認し、ポリシー違反の監視や監査ログを取得することは、情報漏洩防止とコンプライアンス維持のために不可欠です。本章では、PowerShellを使用してDLPポリシーの適用状況を監視し、ログを取得する方法を解説します。

1. DLPポリシーの適用状況の確認


DLPポリシーが組織内のメールやクラウドストレージに適用されているかを確認するには、以下のPowerShellコマンドを実行します。

Get-DlpCompliancePolicy | Format-Table Name, Mode, Enabled, ExchangeLocation, SharePointLocation, OneDriveLocation

このコマンドの出力には、以下の情報が含まれます。

  • Name:ポリシー名
  • Mode:Enforce(強制適用)、TestWithNotifications(テストモード)
  • Enabled:ポリシーが有効か無効か
  • ExchangeLocation, SharePointLocation, OneDriveLocation:適用対象のサービス

2. DLPポリシー違反の検出


DLPポリシーに違反したイベントを確認するには、監査ログを取得する必要があります。監査ログを取得するには、以下のコマンドを実行します。

Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -RecordType DLPPolicyMatch -ResultSize 1000

パラメータの説明

  • -StartDate:ログの取得開始日(過去7日間のログを取得)
  • -EndDate:ログの取得終了日(現在の日付)
  • -RecordType:取得するログの種類(DLPPolicyMatch はDLP違反に関するログ)
  • -ResultSize:取得するログの最大件数

このコマンドを実行すると、DLPポリシー違反の詳細が表示され、どのユーザーがどのデータを違反したかを把握できます。

3. DLPポリシー違反の詳細を確認


DLP違反の具体的な詳細を取得するには、以下のコマンドを実行します。

$DLPEvents = Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -RecordType DLPPolicyMatch -ResultSize 100
$DLPEvents | Select-Object CreationDate, UserIds, Operations, AuditData | Format-Table -AutoSize

出力例

CreationDateUserIdsOperationsAuditData
2023/01/15user1@company.comDLPPolicyMatch{DLPポリシー適用情報}
2023/01/16user2@company.comDLPPolicyMatch{DLPポリシー適用情報}

この出力から、いつ、どのユーザーがDLPポリシーに違反したかを確認できます。

4. DLPポリシー違反レポートをエクスポート


DLP違反の監査ログをCSVファイルにエクスポートし、レポートとして管理することも可能です。

$DLPEvents | Export-Csv -Path "C:\DLP_Violation_Report.csv" -NoTypeInformation

このコマンドを実行すると、DLP違反レポートが C:\DLP_Violation_Report.csv に保存され、Excelなどで詳細を分析できます。

5. DLPポリシーの監視を自動化


定期的にDLP違反をチェックし、管理者にメールでレポートを送信するスクリプトを作成することも可能です。例えば、以下のようにスクリプトを作成し、Windowsタスクスケジューラで定期実行できます。

$DLPEvents = Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -RecordType DLPPolicyMatch -ResultSize 100
$ReportPath = "C:\DLP_Violation_Report.csv"
$DLPEvents | Export-Csv -Path $ReportPath -NoTypeInformation

Send-MailMessage -To "admin@company.com" -From "dlp-monitor@company.com" -Subject "Weekly DLP Violation Report" -Body "DLP違反のレポートを添付します。" -Attachments $ReportPath -SmtpServer "smtp.company.com"

このスクリプトは、DLP違反のデータをCSVに保存し、管理者にメールで通知する処理を自動化しています。

まとめ


PowerShellを使用することで、Microsoft PurviewのDLPポリシーの適用状況を簡単に監視し、監査ログを取得できます。特に、DLPポリシー違反の詳細を分析し、定期的にレポートを作成することで、企業のデータセキュリティを強化できます。次の章では、実際のユースケースを元にDLPポリシーの運用例を紹介します。

実践的なユースケースと応用例


PowerShellを活用してMicrosoft PurviewのDLPポリシーを運用することで、企業のデータ保護戦略を強化できます。本章では、実際の業務で役立つDLPポリシーのユースケースを紹介し、それぞれの具体的な設定方法を解説します。

1. クレジットカード情報の外部送信を防ぐ


企業では、クレジットカード情報が含まれるメールやドキュメントが外部に送信されることを防ぐ必要があります。このような場合、DLPポリシーを作成して、クレジットカード番号が含まれるコンテンツの送信をブロックできます。

PowerShellでの設定例

New-DlpCompliancePolicy -Name "BlockCreditCardInfo" -ExchangeLocation All -Mode Enforce -Enabled $true
New-DlpComplianceRule -Name "DetectCreditCardData" -Policy "BlockCreditCardInfo" -ContentContainsSensitiveInformation @("Credit Card Number") -BlockAccess $true -NotifyUser $true

このポリシーは、以下を実現します。

  • メール本文や添付ファイルにクレジットカード番号が含まれている場合、送信をブロック
  • ユーザーに通知を表示し、データ漏洩を防止

2. 個人情報(PII)の保護


GDPRや日本の個人情報保護法に対応するため、個人識別情報(PII)が含まれるデータの共有を制限するDLPポリシーを設定することが重要です。

PowerShellでの設定例

New-DlpCompliancePolicy -Name "ProtectPII" -SharePointLocation All -OneDriveLocation All -Mode Enforce -Enabled $true
New-DlpComplianceRule -Name "BlockPIIData" -Policy "ProtectPII" -ContentContainsSensitiveInformation @("Social Security Number", "Passport Number") -BlockAccess $true -NotifyUser $true

このポリシーは、以下の情報を含むファイルの外部共有を制限します。

  • 社会保障番号(SSN)
  • パスポート番号

3. 内部機密情報の流出防止


企業の内部機密情報(機密プロジェクトのコードネーム、未公開製品情報など)の外部送信を防ぐために、特定のキーワードを含むデータの転送を制限できます。

PowerShellでの設定例

New-DlpCompliancePolicy -Name "ConfidentialDataProtection" -ExchangeLocation All -SharePointLocation All -Mode Enforce -Enabled $true
New-DlpComplianceRule -Name "BlockConfidentialData" -Policy "ConfidentialDataProtection" -ContentContainsWords @("Project-X", "Confidential", "Internal Use Only") -BlockAccess $true -NotifyUser $true

この設定により、以下の対策を実施できます。

  • 「Confidential」や「Internal Use Only」といったキーワードを含むデータの転送を防止
  • 送信者に警告を表示し、データ流出を抑制

4. USBデバイスへのデータコピーを制限


DLPポリシーは、USBデバイスやローカルストレージへのデータコピーを防ぐためにも活用できます。これは、WindowsエンドポイントDLPを利用して設定します。

PowerShellでの設定例

New-DlpCompliancePolicy -Name "PreventUSBDataCopy" -EndpointDlpLocation All -Mode Enforce -Enabled $true
New-DlpComplianceRule -Name "BlockUSBFileCopy" -Policy "PreventUSBDataCopy" -DeviceType USB -BlockAccess $true -NotifyUser $true

このポリシーにより、機密データがUSBデバイスにコピーされるのを防ぎ、ユーザーに警告が表示されます。

5. 特定のユーザーや部門に適用するDLPポリシー


すべてのユーザーに対して一律のDLPポリシーを適用するのではなく、特定の部門やユーザーグループのみに適用することも可能です。

PowerShellでの設定例(マーケティング部門のみ適用)

New-DlpCompliancePolicy -Name "MarketingDataProtection" -ExchangeLocation "MarketingGroup@company.com" -Mode Enforce -Enabled $true
New-DlpComplianceRule -Name "BlockMarketingData" -Policy "MarketingDataProtection" -ContentContainsSensitiveInformation @("Customer Email", "Market Research") -BlockAccess $true -NotifyUser $true

この設定により、マーケティング部門のユーザーが機密マーケットデータを外部に送信することを防ぎます。

まとめ


PowerShellを使用することで、Microsoft PurviewのDLPポリシーを組織のセキュリティ要件に応じて柔軟に設定できます。以下のようなシナリオに応じたDLPポリシーを導入することで、データ漏洩のリスクを最小限に抑えることが可能です。

クレジットカード情報の送信を制限
個人情報(PII)の保護
企業の機密情報の外部共有を防止
USBデバイスへのデータコピーを制限
特定の部門やユーザーに適用するDLPポリシー

次の章では、DLPポリシーの運用における一般的な問題とそのトラブルシューティングについて解説します。

トラブルシューティングと注意点


PowerShellを活用してMicrosoft PurviewのDLPポリシーを管理する際、適用されない、期待通りに動作しないなどの問題が発生することがあります。本章では、DLPポリシー運用時の一般的なトラブルとその解決策について解説します。

1. DLPポリシーが適用されない


症状:作成したDLPポリシーが意図したとおりに適用されない。

考えられる原因と対策

原因解決策
ポリシーが無効になっているGet-DlpCompliancePolicyEnabled$false になっていないか確認し、有効化する。
ポリシーモードが TestWithNotificationsSet-DlpCompliancePolicy -Identity "PolicyName" -Mode Enforce で強制適用モードに変更する。
ポリシーの適用範囲が間違っているGet-DlpCompliancePolicy -Identity "PolicyName"ExchangeLocation などを確認し、適切な範囲に設定する。
ポリシーの優先順位が低いGet-DlpCompliancePolicy | Sort-Object Priority で優先順位を確認し、Set-DlpCompliancePolicy で調整する。

2. DLPルールが期待通りに動作しない


症状:ポリシーは適用されているが、特定のルールが期待通りに機能しない。

考えられる原因と対策

原因解決策
検出対象のキーワードが正しく設定されていないGet-DlpComplianceRule -Policy "PolicyName"ContentContainsSensitiveInformationContentContainsWords を確認し、適切な値を設定する。
ルールの適用対象が間違っているGet-DlpComplianceRule -Policy "PolicyName"BlockAccessNotifyUser の設定を確認し、適切に変更する。
ルールが別のポリシーと競合しているGet-DlpCompliancePolicy | Sort-Object Priority で優先順位を確認し、競合を解消する。

3. 監査ログにDLP違反の記録がない


症状:DLPポリシーが適用されているはずなのに、監査ログ (Search-UnifiedAuditLog) に違反の記録がない。

考えられる原因と対策

原因解決策
監査ログの保持期間が短すぎるAuditLogSearch の範囲 (-StartDate -EndDate) を拡張して検索する。
監査が有効化されていないSet-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true で監査を有効化する。
ログの取得に時間がかかっているSearch-UnifiedAuditLog-ResultSize 5000 を指定し、大量のデータを取得してみる。

4. DLPポリシーの編集や削除ができない


症状Set-DlpCompliancePolicyRemove-DlpCompliancePolicy を実行しても、ポリシーが変更・削除されない。

考えられる原因と対策

原因解決策
十分な管理者権限がないGet-ManagementRoleAssignment -Role "DataLossPrevention" で必要な権限が付与されているか確認する。
ポリシーが依存関係を持っている先に Remove-DlpComplianceRule でルールを削除してから、Remove-DlpCompliancePolicy を実行する。
セッションの問題Disconnect-ExchangeOnline で一度セッションを切断し、再度 Connect-ExchangeOnline を実行してから試す。

5. ポリシー違反通知が送られない


症状:DLP違反時に、ユーザーや管理者への通知メールが届かない。

考えられる原因と対策

原因解決策
通知が無効になっているGet-DlpComplianceRule -Policy "PolicyName"NotifyUser$false になっていないか確認する。
通知先のメール設定が正しくないSet-DlpComplianceRule -Identity "RuleName" -NotifyUser $true -NotifyEmail "admin@company.com" で通知先を適切に設定する。
メールフィルタによりブロックされている迷惑メールフォルダを確認し、Exchangeのスパムフィルタ設定を調整する。

6. PowerShell接続エラー


症状:PowerShellで Connect-ExchangeOnline を実行するとエラーが発生し、DLPポリシーの管理ができない。

考えられる原因と対策

原因解決策
Exchange Online ManagementモジュールがインストールされていないInstall-Module ExchangeOnlineManagement -Scope CurrentUser を実行し、モジュールをインストールする。
接続時の認証に失敗するConnect-ExchangeOnline -UserPrincipalName "your_admin@company.com" を試し、MFA(多要素認証)が必要な場合は対処する。
古いバージョンのPowerShellを使用しているGet-Host でPowerShellのバージョンを確認し、5.1以上にアップデートする。

まとめ


DLPポリシーの適用や管理には、さまざまな問題が発生する可能性がありますが、PowerShellを活用すれば、原因を特定し迅速に対応できます。

DLPポリシーが適用されない場合は、ポリシーの状態・優先度を確認
ルールが正しく動作しない場合は、条件や適用範囲を見直し
監査ログが取得できない場合は、ログ設定を確認
DLPポリシーの編集・削除ができない場合は、管理者権限や依存関係を調査
通知が送信されない場合は、NotifyUser の設定とメールフィルタを確認

次の章では、本記事の内容を総括し、DLPポリシーの活用ポイントをまとめます。

まとめ


本記事では、PowerShellを活用してMicrosoft PurviewのDLP(データ損失防止)ポリシーを作成・管理する方法について詳しく解説しました。

DLPポリシーの基本概念

  • Microsoft PurviewのDLPポリシーは、機密情報の不正な送信や共有を防ぐための重要な機能。
  • Exchange、SharePoint、OneDrive、Windowsエンドポイントなど、さまざまなサービスに適用可能。

PowerShellを使うメリット

  • GUIよりも効率的にDLPポリシーを一括作成・変更・削除できる。
  • スクリプトによる自動化で、監査やレポートの取得が容易になる。

DLPポリシーの作成・管理手順

  • New-DlpCompliancePolicy でポリシーを作成。
  • New-DlpComplianceRule でルールを追加し、特定のデータを保護。
  • Get-DlpCompliancePolicyGet-DlpComplianceRule でポリシーの適用状況を確認。
  • Set-DlpCompliancePolicy で既存のポリシーを編集、Remove-DlpCompliancePolicy で削除。

DLPポリシーの運用例

  • クレジットカード情報の送信を制限。
  • 個人情報(PII)の外部共有を防止。
  • 機密情報のUSBデバイスへのコピーをブロック。
  • 部門ごとに異なるDLPポリシーを適用。

トラブルシューティング

  • ポリシーが適用されない場合は、EnabledMode 設定を確認。
  • 監査ログが取得できない場合は、Search-UnifiedAuditLog の設定を見直し。
  • ルールが意図通り動作しない場合は、Get-DlpComplianceRule で条件をチェック。

PowerShellを活用することで、DLPポリシーの導入・管理を効率化し、企業のデータセキュリティを強化できます。セキュリティポリシーを適切に設定し、機密情報を保護する運用を実践しましょう。

コメント

コメントする

目次
  1. Microsoft Purview DLPポリシーとは
    1. DLPポリシーの役割
    2. Microsoft Purview DLPの適用範囲
    3. Microsoft Purview DLPの構成要素
  2. PowerShellを使用するメリット
    1. GUIとPowerShellの違い
    2. PowerShellを使用するメリット
    3. PowerShellの活用シナリオ
  3. PowerShell環境の準備
    1. 1. 必要なモジュールのインストール
    2. 2. PowerShellからMicrosoft Purviewに接続
    3. 3. 接続確認
    4. 4. Azure AD認証を使用する(必要な場合)
    5. 5. セッションの終了
  4. Microsoft Purview DLPポリシーの作成手順
    1. 1. 新しいDLPポリシーの作成
    2. 2. ポリシールールの追加
    3. 3. ポリシーの確認
    4. 4. ポリシーの編集
    5. 5. ポリシーの削除
    6. まとめ
  5. 既存のDLPポリシーの管理と編集
    1. 1. 既存のDLPポリシーの一覧を取得
    2. 2. DLPポリシーのルールを確認
    3. 3. DLPポリシーの編集
    4. 4. DLPポリシールールの変更
    5. 5. DLPポリシーの削除
    6. まとめ
  6. 監査ログとポリシーの適用状況の確認
    1. 1. DLPポリシーの適用状況の確認
    2. 2. DLPポリシー違反の検出
    3. 3. DLPポリシー違反の詳細を確認
    4. 4. DLPポリシー違反レポートをエクスポート
    5. 5. DLPポリシーの監視を自動化
    6. まとめ
  7. 実践的なユースケースと応用例
    1. 1. クレジットカード情報の外部送信を防ぐ
    2. 2. 個人情報(PII)の保護
    3. 3. 内部機密情報の流出防止
    4. 4. USBデバイスへのデータコピーを制限
    5. 5. 特定のユーザーや部門に適用するDLPポリシー
    6. まとめ
  8. トラブルシューティングと注意点
    1. 1. DLPポリシーが適用されない
    2. 2. DLPルールが期待通りに動作しない
    3. 3. 監査ログにDLP違反の記録がない
    4. 4. DLPポリシーの編集や削除ができない
    5. 5. ポリシー違反通知が送られない
    6. 6. PowerShell接続エラー
    7. まとめ
  9. まとめ