監査ログ レコードをエクスポート、構成、表示する

完了

監査ログを検索し、検索結果を CSV ファイルにダウンロードすると、ファイルには AuditData という名前の列が含まれます。 この列には、各イベントに関する追加情報が含まれています。 この列のデータは JSON オブジェクトとして書式設定されます。これには、コンマで区切られた property:value ペアとして構成された複数のプロパティが含まれています。

質問: AuditData 列で複数のプロパティを組み合わせる場合、組織で特定のプロパティを並べ替え、フィルター処理するにはどうすればよいですか?

回答: Excel の Power Query エディターの JSON 変換機能を使用します。 この機能により、組織で AuditData 列の JSON オブジェクト内の各プロパティを複数の列に分割できます。 これにより、各プロパティに独自の列ができます。 そして、組織でこれらのプロパティの 1 つ以上を並べ替えてフィルター処理できます。 このプロセスは、探している特定の監査データをすばやく見つけるのに役立ちます。

手順 1: 監査ログの検索結果をエクスポートする

最初の手順では、監査ログを検索し、結果をコンマ区切り値 (CSV) ファイルでローカル コンピュータにエクスポートします。

  1. 監査ログの検索を実行します。

  2. 必要に応じて、目的の結果が得られるまで検索条件を変更します。

  3. 検索結果ページで、[エクスポート] を選択してから、[すべての結果のダウンロード] を選択します。

    [すべての結果のダウンロード] オプションが強調表示されている [監査] 検索ウィンドウのスクリーンショット。

    このオプションは、監査ログの検索からすべての監査レコードをエクスポートします。 次に、監査ログの生データを CSV ファイルに追加します。 大規模な検索用のダウンロード ファイルを準備するにはしばらく時間がかかります。 大きなファイルは、すべてのアクティビティを検索するか、広い日付の範囲を使用するとできます。

  4. エクスポート処理が完了すると、ウィンドウの上部に、CSV ファイルを開いてローカル コンピュータに保存するように促すメッセージが表示されます。 [ダウンロード] フォルダーでも、CSV ファイルにアクセスできます。

    注意

    1 つの監査ログの検索から、最大 50,000 エントリを CSV ファイルにダウンロードできます。 50,000 エントリを CSV ファイルにダウンロードする場合、検索条件に一致するイベントが 50,000 件を超えていると見なすことができます。 この上限を超える件数をエクスポートするには、もっと狭い日付の範囲を使用して、監査ログのレコード数を減らしてください。 50,000 エントリを超えるエクスポートの場合、必要に応じて、日付の範囲を絞り、検索を複数回実行します。

手順 2: Power Query エディターを使用してエクスポートされた監査ログを書式設定する

次の手順では、Excel の Power Query エディターの JSON 変換機能が機能します。 この機能で、AuditData 列の JSON オブジェクト内の各プロパティを独自の列に分割できます。 その後、列をフィルター処理して、特定のプロパティの値に基づいてレコードを表示できます。 これにより、探している特定の監査データをすばやく見つけることができます。

  1. Excel for Office 365、Excel 2019、または Excel 2016 で空白のブックを開きます。

  2. [ データ ] タブの [ データの取得] & [データ変換 ] リボン グループ で、[テキスト/CSV から] を選択します。

    リボンの [データの取得と変換] セクションと、[テキストまたは CSV から] オプションが強調表示されている Excel スプレッドシートのスクリーンショット。

  3. 手順 1 でダウンロードした CSV ファイルを開きます。

  4. 表示されるウィンドウで、[データの変換] を選択します。

    [データの変換] ボタンが強調表示されているダウンロード済み CSV ファイルのスクリーンショット。

    CSV ファイルがクエリ エディターで開きます。 CreationDateUserIdsOperationsAuditData という 4 つの列があります。

    AuditData 列は、複数のプロパティを含む JSON オブジェクトです。 次の手順では、JSON オブジェクト内の各プロパティの列を作成します。

  5. AuditData 列でタイトルを右クリックし、[変換] を選択してから、JSON を選択します。

    クエリ エディターで開かれた CSV ファイルのスクリーンショット。[監査データ列] と [変換] オプションが強調表示されています。

  6. AuditData 列の右上隅にある展開アイコンを選択します。

    クエリ エディターで開かれた CSV ファイルのスクリーンショット。[監査データ] 列と [展開] アイコンが強調表示されています。

    AuditData 列の JSON オブジェクトのプロパティの一部の一覧が表示されます。

  7. [詳細を読み込む] を選択すると、AuditData 列の JSON オブジェクトのすべてのプロパティが表示されます。

    クエリ エディターで開かれた CSV ファイルのスクリーンショット。[監査データ] 列と [詳細を読み込む] オプションが強調表示されています。

    含めないプロパティの横にあるチェック ボックスをオフにできます。 調査に役立たない列を排除することは、監査ログに表示されるデータの量を減らす良い方法です。

    注:

    前のスクリーンショットに表示された JSON プロパティ ([詳細を読み込む] を選択した後) は、CSV ファイルの最初の 1,000 行の AuditData 列にあるプロパティに基づいています。 最初の 1,000 行の後でレコードに異なる JSON プロパティがある場合で、AuditData 列が複数の列に分割されている場合、これらのプロパティ (および対応する列) は含まれません。 この状況を防ぐために、監査ログの検索を再実行することを検討してください。 ただし、今回は返されるレコード数を減らすように検索条件を絞り込みます。 もう 1 つの回避策は、AuditData 列の JSON オブジェクトを変換する前に、(上記の手順 5 を実行する前に) 行数を減らす Operations 列の項目をフィルター処理することです。

    ヒント

    AuditData.AffectedItems などのリスト内の属性を表示するには、属性を取り出す列の右上隅にある [展開] アイコンを選択します。 次に、[新しい行に展開] を選択します。 そこからレコードが作成され、列の右上隅にある [展開] アイコンを選択し、属性を表示してから、表示または抽出する属性を選択できます。

  8. 次のいずれかのオプションを完了して、選択した各 JSON プロパティに追加される列のタイトルを書式設定します。

    • [元の列名をプレフィックスとして使用する] チェック ボックスをオフにします。 これにより、JSON プロパティの名前が列名として使用されます。 たとえば、RecordTypeSourceFileName です。
    • [元の列名をプレフィックスとして使用する] チェック ボックスをオンのままにします。 これにより、AuditData プレフィックスが列名に追加されます。 たとえば、AuditData.RecordTypeAuditData.SourceFileName です。
  9. [OK] を選択します。

    AuditData 列が複数の列に分割されるようになりました。 各新しい列は、AuditData JSON オブジェクトのプロパティに対応します。 列の各行には、プロパティの値が含まれています。 プロパティに値が含まれていない場合は、null 値が表示されます。 Excel では、null 値を持つセルは空です。

  10. [ ホーム ] タブで、[ 閉じる] & [読み込み ] を選択して Power Query エディターを閉じ、変換された CSV ファイルを Excel ブックで開きます。

PowerShell を使用して監査ログ レコードを検索およびエクスポートする

Microsoft Purview コンプライアンス ポータルの監査ログ検索ツールを使用する代わりに、Exchange Online PowerShell の Search-UnifiedAuditLog コマンドレットを使用して、監査ログ検索の結果を CSV ファイルにエクスポートできます。 その後、手順 2 で説明したのと同じ手順に従って、Power Query エディターを使用して監査ログを書式設定できます。

PowerShell コマンドレットを使用する利点の 1 つは、RecordType パラメーターを使用して特定のサービスからイベントを検索できることです。 このセクションでは、PowerShell を使用して監査レコードを CSV ファイルにエクスポートする例をいくつか示します。これにより、手順 2 で説明されているように、Power Query エディターを使用して AuditData 列の JSON オブジェクトを変換できます。

この例では、次のコマンドを実行して、SharePoint 共有操作に関連するすべてのレコードを返します。

$auditlog = Search-UnifiedAuditLog -StartDate 06/01/2019 -EndDate 06/30/2019 -RecordType SharePointSharingOperation

$auditlog | Select-Object -Property CreationDate,UserIds,RecordType,AuditData | Export-Csv -Path c:\AuditLogs\PowerShellAuditlog.csv -NoTypeInformation

検索結果は、CreateDateUserIdsRecordTypeAuditData の 4 つの列を含む PowerShellAuditlog という名前の CSV ファイルにエクスポートされます。

レコード型の名前または列挙値を RecordType パラメーターの値として使用することもできます。 レコード型の名前とそれに対応する列挙値の一覧については、「Office 365 管理アクティビティ API スキーマ」の AuditLogRecordType 表を参照してください。

RecordType パラメーターに含めることができる値は 1 つだけです。 他のレコードの種類の監査レコードを検索するには、前の 2 つのコマンドをもう一度実行して別のレコードの種類を指定してから、それらの結果を元の CSV ファイルに追加する必要があります。 たとえば、次の 2 つのコマンドを実行して、同じ日付範囲の SharePoint ファイル アクティビティを PowerShellAuditlog.csv ファイルに追加します。

$auditlog = Search-UnifiedAuditLog -StartDate 06/01/2019 -EndDate 06/30/2019 -RecordType SharePointFileOperation

$auditlog | Select-Object -Property CreationDate,UserIds,RecordType,AuditData | Export-Csv -Append -Path c:\AuditLogs\PowerShellAuditlog.csv -NoTypeInformation

監査ログをエクスポートおよび表示するためのヒント

JSON 変換機能を使用して AuditData 列を複数の列に分割する前と後に監査ログをエクスポートおよび表示するヒントと例を次に示します。

  • RecordType 列をフィルター処理して、特定のサービスまたは機能領域のレコードのみを表示します。 たとえば、SharePoint 共有に関連するイベントを表示するには、14 (SharePoint 共有アクティビティによってトリガーされるレコードの列挙値) を選択します。 RecordType 列に表示される列挙値に対応するサービスの一覧については、「監査ログの詳細なプロパティ」を参照してください。
  • Operations 列をフィルター処理して、特定のアクティビティのレコードを表示します。 コンプライアンス ポータルの監査ログ検索ツールの検索可能なアクティビティに対応するほとんどの操作の一覧については、「監査ログの検索」の「監査アクティビティ」セクションを参照してください。