「あのファイルを外部に共有したのは誰?」「管理者設定がいつ変更されたか履歴を確認したい」——セキュリティインシデントや内部調査が発生したとき、最初に頼るべきは、監査ログ(Audit Log)です。
Microsoft 365 の監査ログは、テナント全体のユーザー・管理者操作を一元的に記録し、後から検索・追跡できる仕組みです。
SharePoint Online でのファイル共有、Exchange Online でのメール転送設定変更、Teams チャンネルの作成・削除、管理者によるポリシー変更まで——数十のサービスにまたがる多数の操作アクティビティを自動的に記録し続けます。
本記事では、この監査ログの保存期間の仕様、検索方法、ダウンロード手順を、ガバナンス強化の観点から実用的に解説します。
監査ログとは:記録されるサービスとアクティビティ
Microsoft 365 の監査ログは Microsoft Purview が提供する統合ソリューションです。
組織のセキュリティ運用、IT 管理者、コンプライアンス・法務調査官が、テナント全体のアクティビティを可視化するために使います。
記録対象となる主なサービス
| サービス | 記録される操作例 |
|---|---|
| SharePoint Online / OneDrive | ファイルの閲覧・共有・削除・ダウンロード |
| Exchange Online | メール送受信・転送ルール設定・メールボックス操作 |
| Microsoft Teams | チャンネル作成・削除・メンバー追加・会議録音 |
| Microsoft Entra ID (旧 Azure AD) | ユーザー作成・ロール割り当て・ポリシー変更 |
| Power Platform | フロー作成・コネクタ使用 |
| Viva Engage (旧 Yammer) | メッセージ投稿・削除 |
記録可能なアクティビティの全一覧は 監査ログ アクティビティ | Microsoft Learn で確認できます。
補足(オンプレミスとの違い):
かつての SharePoint オンプレミス環境ではサイトコレクション管理者が個別に監査ログを有効化していましたが、クラウドの Microsoft 365 ではテナント全体で一元管理される形に変わっています。
サービスを横断した追跡調査が格段に行いやすくなっています。
保存期間の仕様:プランごとに異なる「ログの寿命」
参考: 監査ログの保持ポリシーを管理する
監査ログの保存期間を正しく把握することは、インシデント対応計画を立てる上で極めて重要です。
現在の仕様をまとめます。
保存期間の一覧
| プラン / ライセンス | 保存期間 |
|---|---|
| Microsoft 365 / Office 365 の標準プラン(E3 等) | 180日間 |
| Microsoft 365 E5 / Office 365 E5 / Microsoft Purview スイート | 監査(プレミアム)の対象イベントについて、既定で 1年間保持 |
| E5 ライセンス + 10年間監査ログ保持アドオン | 最大10年間 |
「標準」と「プレミアム」の機能比較
| 機能 | 監査(標準) | 監査(プレミアム) |
|---|---|---|
| 保存期間 | 180日 | 最大1年(または10年) |
| 取得できるアクティビティ | 主要アクティビティ | MailItemsAccessed など、より詳細な調査向けイベントも対象 |
| 利用可能なプラン | 多くのM365プラン | M365 E5 / Purview スイート等 |
注意点:
監査(プレミアム)の長期保持を利用するには、対象ユーザーに適切な E5 相当ライセンス(またはアドオン)が割り当てられている必要があります。
ライセンス未割り当てユーザーや一部のゲストユーザーの操作については、標準監査の保持期間(通常 180日)が適用される場合があります。
ガバナンス観点での推奨事項
NISC(内閣サイバーセキュリティセンター)や JASA(日本セキュリティ監査協会)のガイドラインでは、ログは1年間以上保存することが望ましいとされています。標準プランの180日間では足りないケースも多いため、以下のいずれかの対策を検討してください。
- E5 ライセンスへのアップグレード または Microsoft Purview スイートの導入 → 最大1年保持
- 定期的なエクスポート → 後述のダウンロード機能で CSV を取得し外部ストレージで長期保管
- Microsoft Sentinel への連携 → Log Analytics ワークスペースへ継続的に転送
監査ログの有効化:まず確認すること
参考: 監査ログの検索
監査ログを検索する前に、テナントで監査が有効になっているか確認が必要です。
有効化の確認・設定手順
- Microsoft Purview ポータル (
purview.microsoft.com) にアクセス - 左メニューから「監査」を選択
- 新しい Microsoft 365 テナントでは、多くの場合 Unified Audit Log は既定で有効化されています。
ただし古いテナントや一部環境では、「監査の記録を開始する」の操作が必要な場合があります。
必要なロール:
監査ログを検索するには、Microsoft Purview ポータルで 監査ログ または 監査ログの表示専用 ロールが必要です。
監査ログの検索方法:UI で絞り込む
Purview ポータルからの検索手順
- purview.microsoft.com → 「監査」→「検索」タブを開く
- 以下の条件を指定して検索を絞り込む:
| 検索条件 | 説明 |
|---|---|
| 開始日時 / 終了日時 | 調査対象の期間を指定(最大で保存期間内) |
| アクティビティ | 「ファイルとページ アクティビティ」「共有とアクセス要求アクティビティ」など絞り込み可 |
| ユーザー | 特定のユーザーのみを対象に検索 |
| ファイル / フォルダー / サイト | SharePoint の特定パスやファイル名で絞り込み |
- 「検索」ボタンを押すと結果一覧が表示される
- 各レコードをクリックすると詳細情報(操作内容・IP アドレス・デバイス情報等)が確認できる
典型的なユースケース別の検索例
「誰がいつファイルを外部共有したか」を調べる場合
- アクティビティ:「共有したファイルへのアクセスの招待を作成しました」「共有リンクを作成しました」を選択
- ユーザー:任意(全員 or 特定人物)
- ファイル:対象のファイル名や SharePoint サイト URL
「管理者がいつ設定変更したか」を調べる場合
- アクティビティ:「Microsoft Teams アクティビティ」「Exchange 管理者アクティビティ」「Entra ID ディレクトリ管理アクティビティ」などを選択
- ユーザー:管理者アカウントのメールアドレス
監査ログのダウンロード・エクスポート方法
参考: 監査ログ レコードをエクスポート、構成、表示する
参考: PowerShell スクリプトを使用して監査ログを検索する
方法1:UI から CSV でエクスポート(少量・単発調査向け)
- Purview ポータルで検索結果を表示
- 「すべての結果のダウンロード」をクリック
- CSV ファイルが生成される(AuditData 列は JSON 形式)
- Excel の Power Query を使って AuditData 列を個別の列に展開すると分析しやすくなります
方法2:PowerShell で大量取得(大規模調査・定期エクスポート向け)
Microsoft が提供するスクリプトを使うと、Search-UnifiedAuditLog コマンドレットで最大 50,000 件 を CSV に書き出せます。
タイムアウトリスクも最小化されており、長期間・大規模組織での調査に適しています。
定期的に大量のログを取得する必要がある場合は、Office 365 Management Activity API を使ったソリューションも検討してください。スケーラビリティと継続的な取得に優れています。
方法3:Microsoft Sentinel 連携(長期保管・SIEM 活用向け)
Microsoft Sentinel では、Microsoft 365 Defender コネクタ、Office 365 コネクタ、Microsoft Entra ID コネクタなどを利用して各種監査ログを収集できます。
監査ログの設定にチェックを入れます。Log Analytics ワークスペースに継続的にログが蓄積されるため、180日を超えた長期分析や、KQL クエリによる高度な調査が可能になります。
知っておくべき注意点・トラブルシューティング
ログが反映されるまでのタイムラグ
監査ログは操作後すぐには表示されないことがあります。一般的なガイドラインとして:
- Exchange 管理者コマンドレット操作:最大 30分 かかる場合がある
- その他のサービス:通常は数分〜30分程度で反映されますが、状況によってはさらに時間がかかる場合があります。
調査の際は、操作から少し時間をおいてから検索することを推奨します。
条件付きアクセスポリシー更新で「Update policy」が複数件記録される問題
条件付きアクセスポリシーのターゲットリソースが多数(数百件規模)設定されている場合、1回の変更操作に対して「Update policy」の監査ログが複数件に分割されて記録されることがあります。
これは 1 件の監査ログレコードに記録可能なデータサイズの上限を超えるため、システムが自動的に分割して記録する仕様によるものです。
操作ログが失われているわけではなく、additionalDetails セクションの id(相関 ID)・seq(シーケンス番号)・b(データ本体)・c(総数)というキーを使って、分割されたレコードを順番に結合することで完全な変更内容を復元できます。
Microsoft Graph アクティビティログとの使い分け
従来の監査ログでは、「閲覧」「情報参照」といったテナントに変更を加えない GET 操作は追跡できませんでした。
攻撃者がユーザー情報を一括取得するような Graph API の GET クエリも、サインインログや監査ログでは把握できなかったのです。
この課題を補完するのが Microsoft Graph アクティビティログ(一般公開済み)です。
Microsoft Graph API 経由のリクエスト情報を詳細に可視化でき、不審なデータ収集の試みなどをより早期に検知できます。
監査ログと組み合わせることで、より包括的なセキュリティ監視が実現します。
まとめ
| チェック項目 | 対応 |
|---|---|
| 監査ログが有効になっているか | Purview ポータルまたは PowerShell で確認 |
| 現在のライセンスでの保存期間は何日か | 標準=180日、E5=最大1年 |
| 保存期間を超えるログが必要か | 定期的な CSV エクスポートまたは Sentinel 連携を設定 |
| 定期的な監査ログのレビューを実施しているか | 特権ロール割り当て変更・外部共有操作を定期確認 |
| インシデント発生時に素早く検索できるか | 対象アクティビティ・ユーザー・期間の絞り込みを事前に把握 |
Microsoft 365 の監査ログは、インシデント発生後の「事後調査」だけでなく、内部不正の抑止力としても機能します。
操作ログが記録・監視されていることを組織内に周知するだけでも、ガバナンス強化に大きく貢献します。
180日(標準)という保存期間の壁を意識しながら、定期的なエクスポートや上位プランへの移行も含めて、ぜひ継続的なログ管理体制を整えてください。
免責事項:Microsoft 365の機能や仕様は変更される可能性がありますので、実施前には最新の公式ドキュメントをご確認ください。

