秘密度ラベルで誰が何をするかを理解する

アクティビティ エクスプローラーは、Microsoft Purview コンプライアンス ポータルの[データ分類]セクションにあります。その目的は、テナントとコンプライアンス管理者が次のことを行えるようにすることです。 ユーザーがファイルやメッセージに保持ラベルと秘密度ラベルを適用する方法を理解する 過去 30 日間。アクティビティ エクスプローラーには、保持ラベルの使用状況と DLP アクティビティも表示されますが、この説明では、秘密度ラベルの使用の分析に焦点を当てます。

アクティビティ エクスプローラーに表示される情報は、統合監査ログから取得されます。マイクロソフトのドキュメントには、抽出によって監査データが「変換」されると記載されています。つまり、アクティビティ エクスプローラーは、監査イベント ペイロードから関連情報を抽出し、必要な方法でデータを切り取ってダイスするための一連のフィルターと共に、よりアクセスしやすい形式でデータを表示します。

アクティビティ エクスプローラーの UX は優れていますが、特に毎日生成されるイベントの量が増えた場合に、秘密度ラベルに関連する監査データの詳細な分析を実行するためのツールではありません。この記事では、ドキュメントやメッセージへの秘密度ラベルのユーザー適用に関連するイベントの監査ペイロード情報を抽出する方法を説明し、秘密度ラベルを適用するユーザーや使用するラベルなどの質問に答えます。

私は以前、Microsoftが2021年初頭にこの機能を導入した後に秘密度ラベルに対して生成された監査イベントを調べるために、この道をたどりました。時間が経ち、変更が起こるので、新しいスクリプトを書く時が来ました(GitHubから入手可能) 秘密度ラベル監査レコードを分析する原則を示します。ニーズに合わせてコードを自由に拡張してください。

秘密度ラベル データのフェッチ

秘密度ラベルに関連する多くの監査イベントは、表示名ではなくラベルの変更できない識別子を保持します。テナント内のラベルのセットを見つけるには、コンプライアンス エンドポイントに接続します。 Connect-IPPSSession そして、 取得ラベル コマンドレット。識別子をラベル名に変換するのに便利なように、結果をハッシュ テーブルに入れます。

Write-Host "Retrieving sensitivity labels used in the tenant"
$Labels = @{}
[array]$LabelSet = Get-Label | Select-Object ImmutableId, DisplayName
If (!($LabelSet)) { Write-Host "Can't find any sensitivity labels - exiting"; break }
ForEach ($L in $LabelSet) { $Labels.Add([string]$L.ImmutableId, [string]$L.DisplayName) }

監査データのフェッチ

次の手順では、監査ログから関連する監査レコードを取得します。このコード:

  • フェッチする監査操作のセットを宣言します。
  • 監査ログ検索の開始日と終了日を設定します。Office 365 E3 テナントは 90 日前に戻ることができますが、Office 365 E5 テナントは昨年のデータを取得できます。 テナントで生成される監査イベントの量によっては、検索の期間を短縮する必要がある場合があります。
  • を呼び出します 検索-統合監査ログ コマンドレットを使用して監査ログ検索を実行します。
  • 検索によって返された DLP イベントをすべて削除します。DLP ポリシーが電子メール メッセージに秘密度ラベルを適用する場合、Exchange は ミプラベル 出来事。スクリプトは 1 つのイベントのみを処理する必要があるため、DLP イベントを削除します。
$Operations = ("SensitivityLabelUpdated", "SensitivityLabelApplied", "FileSensitivityLabelApplied", "MIPLabel")
$StartDate = (Get-Date).AddDays(-90)
$EndDate = (Get-Date).AddDays(1)
[Array]$Records = Search-UnifiedAuditLog -StartDate $StartDate -EndDate $EndDate -Formatted -ResultSize 5000 -Operations $Operations
If (!($Records)) { Write-Host "No audit records for sensitivity label application found - exiting" ; break }

$Records = $Records | Where-Object {$_.RecordType -ne "ComplianceDLPExchange"}

監査データの分析

すべての監査レコードには、JSON 形式のプロパティに 監査データ.監査イベントの重要なプロパティの一部 (ユーザー、操作、タイムスタンプなど) は、近づかなくても使用できます。 監査データ、監査レコードにキャプチャされたアクションの詳細を抽出するには、コードを変換する必要があります 監査データ.

AuditData を変換した後、Switch ステートメントはさまざまな操作の監査レコードを処理します。たとえば、次のようにします。 感度ラベル適用 出来事:

    "SensitivityLabelApplied" {
     $Type = "Label assigned by user"
     $LabelAdded = $Labels[$AuditData.SensitivityLabelEventData.SensitivityLabelId]
     $Application = $AuditData.Application
     $ObjectId = [System.Web.HttpUtility]::UrlDecode($AuditData.ObjectId)
     $Item = $ObjectId.Split('/')[-1]	
     $Site = "https://" + $ObjectId.Split("/")[2] + "/sites/" + $ObjectId.Split("/")[4] + "/"
    }

監査イベントの詳細を書き出す前に、コードは、メモしたユーザーが特別な SharePoint アカウントの 1 つであるかどうかをチェックします。Office ドキュメントまたは PDF ファイルへの秘密度ラベルの手動ユーザー適用に加えて、システムは自動ラベル付けポリシーを通じて、または管理者がドキュメント ライブラリの既定の秘密度ラベルを定義した場合にラベルを割り当てることができます。これらの操作を強調表示するために、コードはレポートの type プロパティを更新します。

If ($UserId -eq "app@sharepoint") {
     $Type = "Default label applied by document library" 
 } ElseIf ($UserId -eq "SHAREPOINT\system") { 
   $Type = "Label applied by auto-label policy" } 

ドキュメント ライブラリの既定として、または自動ラベル付けポリシーを使用して秘密度ラベルを割り当てるには、Office 365 E5 または Microsoft 365 コンプライアンス E5 ライセンスが必要です。マイクロソフトの コンプライアンス ライセンスのガイドライン または Purview の機能とライセンス要件を指定した PDF ダウンロードリメント.

データのレポート

各監査レコードを処理した後、コードは PowerShe を更新します。レポート出力を含む LL リスト。いつものように、データを使ってやりたいことは何でもできます。上記の質問に答えるために、私は グループオブジェクト この結果を生成するコマンドレット:

Most commonly used sensitivity labels
-------------------------------------

Name                  Count
----                  -----
Public                  109
Confidential             33
Internal                 15
Eyes Only                 5
Sensitive Stuff           3
Black Matter              3
No Encryption             1
Secret                    1
Market Sensitive          1

Public ラベルがブログ投稿を保持するために使用するドキュメント ライブラリの既定値であることを考えると、それがリストの一番上にあるのは当然のことです。誰が秘密度ラベルを適用したかを確認すると (図 1)、私のアカウントが一番上に来たのは当然のことでした。また、ラベルを適用したユーザーの中にテナント以外のユーザーがリストされているのもわかりました。これは、テナントに受信メッセージに秘密度ラベルを適用するメール フロー ルールがある場合に発生する可能性があります。

秘密度ラベルの使用状況の分析
図 1: 秘密度ラベルの使用状況の分析

アクティビティ エクスプローラー データのエクスポート

アクティビティエクスプローラーで使用されるデータのより一般的なエクスポートに関心がある場合は、Microsoftが エクスポート-アクティビティエクスプローラーデータ コマンドレットを 2022 年 10 月に一般提供開始。これは、Exchange Online 管理モジュール (V3.0 以降) で使用できる最も洗練されたコマンドレットではありませんが、役に立つ可能性があります。詳細については、 ヴァシル・ミチェフは、 エクスポート-アクティビティエクスプローラーデータ 彼のブログのコマンドレット.

監査ペイロードに一貫性がない

Microsoft 365エンジニアリンググループがすべて監査レコードに同じ種類のコンテンツを生成すると便利です。監査レコードの基本は一貫していますが、監査ペイロードに挿入される情報はワークロードによって大きく異なります。一貫性の欠如は、情報を抽出するために監査ログを問い合わせる人(アクティビティエクスプローラーを含む)が必要なものを取得するためにフープを飛び越える必要があることを意味します。監査ログがテナント管理者にとってアクセスしにくい資産になるため、これは本当に残念です。


Microsoft 365 テナント管理者が利用できるデータを活用する方法については、 IT プロフェッショナル向け Office 365 電子書籍。私たちは物事がどのように機能するかを理解するのが大好きです。