【Q&Aコーナー】Microsoft Intuneの監査ログ

皆さんこんにちは。国井です。
2022年も半分が過ぎ、7月になりましたね。2006年7月に初めて賞をいただいたMicrosoft MVPも今年で17度目の賞をいただきました。ありがたい限りです。自分としては誰かのためになればと思ってやってるブログですが、こうして評価してくださるのはありがたい限りです。

今日の本題です。Microsoft Intuneのトレーニングはご要望も多く、色々と手がけているところなのですが、今日はその中で出てきたご質問にお答えいたします。

Intuneのログってどうやって見るのですか?

始めていきましょう。

Intuneのログ種類

Microsoft docsによるとIntuneのログには次の種類があります。

  • 監査ログ には、作成、更新 (編集)、削除、割り当て、リモート アクションなど、Intune で変更を生成するアクティビティの記録が表示されます。
  • 操作ログ には、登録に成功した (または失敗した) ユーザーとデバイスの詳細、およびコンプライアンス非対応のデバイスの詳細が表示されます。
  • デバイス コンプライアンス組織ログ には、Intune のデバイス コンプライアンスに関する組織レポート、およびコンプライアンス非準拠のデバイスの詳細が表示されます。
  • IntuneDevices には、Intune の登録済みデバイスとマネージド デバイスに関するデバイスのインベントリと状態の情報が表示されます。
    以上、https://docs.microsoft.com/ja-jp/mem/intune/fundamentals/review-logs-using-azure-monitor より。

どれを見たいか?によって参照すべきログは異なるものになるんだけど、Intuneって基本的にユーザーによる操作はないので、ログを見たいと言ったら「管理者による作業」を見たいというのが一番多いのではないかと思います。そこで、ここでは監査ログに絞って、その内容を参照する方法について確認していきます。

監査ログを見てみる

監査ログはMEM admin center画面のテナント管理 > 監査ログの順にたどってアクセスできるログで、ご覧のようなログが参照できます。
Azure ADと違って1年前までのログを参照できることが特徴的です。
(過去のログは必要に応じてフィルターの設定を変更して参照できるようにしてください)

image

個々のログはクリックするとご覧のような形で結果を確認できます。

image

たしかにフィルター設定を使えば一部のログだけ取り出すことができるんだけど、もうちょっと見やすいビューが欲しいですよね。

CSVファイルにエクスポート

一番簡単な方法です。監査ログ画面にある[エクスポート]ボタンをクリックすればCSV形式でファイルを出力できます。

image

ログの保持期間が1年なのでAzure ADほど頻繁に行う必要はないものの、手動でエクスポートしなければならないのが最大の欠点です。
運用の自動化ってことを考えるとあまり実用的ではないですね。

Microsoft Graphで直接アクセス

Intuneに限らず、Microsoft 365の中で扱うデータはMicrosoft Graph APIを使ってデータを取り出すことができます。これをWindows PowerShellから行えばスクリプト化し、タスクスケジューラから定期的に実行するように構成することができます。幸いなことに監査ログにアクセスするスクリプトもMSさんから提供してくれているので、これを使うとよいでしょう。

スクリプトは実行すると管理者の資格情報の入力とログの出力先のパスをそれぞれ指定することになります。画面の指示に従って入力し、実行するとご覧のようなJSONファイルが出力されます。

image

参考までにRemoteActionAudits.jsonファイルを開いてみると、こんな感じでWipeを行ったときのログが確認できます。GUIでログを見たときはadminユーザーがワイプを実行したとしか確認できなかったのに、こちらだとワイプされたデバイスの情報やそのデバイスのオーナーとなるユーザーの情報などが確認できます。

image

なかなか詳細な内容まで確認できるので良い感じです。

Log Analyticsに転送

最後は監査ログをLog Analyticsに転送して参照する方法です。Log Analytics(Azure Monitor)自体はMicrosoft Azureのサービスなので、Azureの契約が必要になります。
テナントを用意できたらMEM admin center画面に戻って テナント管理 > 診断設定に進み、[診断設定を追加する]をクリックして、転送先を設定します。
image

転送先にはLog Analytics以外にもストレージアカウントなども選択できます。ただ、格納したログを参照するという点ではLog Analyticsに勝るものはありません。
ここではIntune~出力されるログのカテゴリ全部を選んで転送します。

image

転送した内容はLog Analyticsワークスペースの[ログ]項目から参照できます。
監査ログはIntuneAuditLogsスキーマに格納されるので、クエリ欄にIntuneAuditLogsとだけ書いて実行するとご覧のようなログが確認できます。

image

ログの実行結果ではワイプの操作を行ったことが確認できます。
KQLの話になってしまうので、ここでは細かい話はしませんが、ログの出力結果は見にくいので、project句などを活用して絞り込んだりするとよいと思います。

image

ただ、Graphで出力した内容と比較すると若干内容が異なるんですよね。例えば、ワイプしたデバイスについてGraphからだとデバイス名で表示されるのに対して、Log AnalyticsからだとデバイスIDで出力される.. ワイプされちゃったデバイスのIDなんか見せられてもMEM admin centerにデバイスの情報も消えてるわけだし、確認する手段もなく困ったことになります。
これは一例ですが、ちょっと出力内容が異なるので、ただ単純にエクスポートしておくのではなく、どんなログが出力されるのかはちゃんと見てからどの形式で保存するかを決めておくとよいでしょう。

【参考】Intune でストレージ、イベント ハブ、またはログ分析にログ データを送信する
https://docs.microsoft.com/ja-jp/mem/intune/fundamentals/review-logs-using-azure-monitor