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

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

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

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

目次

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 [email protected]

ポイント:

  • [email protected] を自身の管理者アカウントに置き換えて実行してください。
  • マルチファクター認証(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/15[email protected]DLPPolicyMatch{DLPポリシー適用情報}
2023/01/16[email protected]DLPPolicyMatch{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 "[email protected]" -From "[email protected]" -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 "[email protected]" -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-DlpCompliancePolicy で Enabled が $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" で ContentContainsSensitiveInformation や ContentContainsWords を確認し、適切な値を設定する。
ルールの適用対象が間違っているGet-DlpComplianceRule -Policy "PolicyName" で BlockAccess や NotifyUser の設定を確認し、適切に変更する。
ルールが別のポリシーと競合しているGet-DlpCompliancePolicy | Sort-Object Priority で優先順位を確認し、競合を解消する。

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


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

考えられる原因と対策:

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

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


症状:Set-DlpCompliancePolicy や Remove-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 "[email protected]" で通知先を適切に設定する。
メールフィルタによりブロックされている迷惑メールフォルダを確認し、Exchangeのスパムフィルタ設定を調整する。

6. PowerShell接続エラー


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

考えられる原因と対策:

原因解決策
Exchange Online ManagementモジュールがインストールされていないInstall-Module ExchangeOnlineManagement -Scope CurrentUser を実行し、モジュールをインストールする。
接続時の認証に失敗するConnect-ExchangeOnline -UserPrincipalName "[email protected]" を試し、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-DlpCompliancePolicy や Get-DlpComplianceRule でポリシーの適用状況を確認。
  • Set-DlpCompliancePolicy で既存のポリシーを編集、Remove-DlpCompliancePolicy で削除。

✅ DLPポリシーの運用例

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

✅ トラブルシューティング

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

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

この記事を書いた人

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

コメント

コメントする

目次