MS SentinelにAzure Activityログを取り込む(コンテンツハブ)

Azure Activity ログを Microsoft Sentinel に取り込むと、Azure 環境で「誰が、いつ、どのリソースに何をしたか」や、サービスの正常性に関するイベントを、ほかのログと一緒に監視・分析できます。この記事では、Sentinel のコンテンツハブから Azure Activity ソリューションをインストールし、データコネクタの設定、取り込みの確認、ログの中身の確認までを順に行います。

前提

Microsoft Sentinel の初期セットアップ(リソースグループ、Log Analytics ワークスペース「Sentinel」の作成、Sentinel の追加)は、次の記事の環境を前提とします。

Microsoft Sentinel 初期セットアップ手順

この記事でわかること
  1. Azure Activity ログとは何か、どこで見られるか
  2. コンテンツハブでソリューションをインストールし、Azure Policy でデータコネクタを設定する手順
  3. データコネクタの接続状態と、取り込んだログ(AzureActivity テーブル)の確認方法

Azure Activityログについて

Azure Activity ログ(アクティビティ ログ)は、サブスクリプション単位で記録されるログです。リソースの作成・変更・削除などの管理操作(Administrative)のほか、Service Health、Resource Health、アラート、ポリシー、自動スケールなどのイベントが記録されます。

アクティビティ ログは、Azure ポータルの モニター ›› アクティビティ ログ で確認できます。ポータルで確認できるのは過去 90 日分です。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

Azure ポータル(モニター)画面イメージ
モニター ›› アクティビティ ログ
フィルター サブスクリプション:Azure subscription 1 / イベントの重要度:すべて
操作名状態時間タイム スタンプサブスクリプション
1Create new (…成功3 時間前Sun Aug 1…Azure subscription 1
Upsert Data…成功3 時間前Sun Aug 1…Azure subscription 1
Register Sub…成功3 時間前Sun Aug 1…Azure subscription 1
Create Works…成功3 時間前Sun Aug 1…Azure subscription 1
⋮ (9 個の項目のうち 4 件を表示)
図1 アクティビティ ログの一覧(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1操作名・状態・時間どの操作が、いつ行われ、成功したか。行を開くと、操作した人(呼び出し元)や対象のリソースも確認できる

ポータルでは過去 90 日分しか見られず、ほかのログとまとめて分析することもできません。Microsoft Sentinel に取り込むと、Log Analytics ワークスペースの AzureActivity テーブルに保存され、KQL での検索や、分析ルールによる検知に使えるようになります。

Azureサブスクリプションアクティビティ ログ診断設定Azure Policy がサブスクリプションに作成Log Analyticsワークスペース SentinelAzureActivity テーブルMicrosoft Sentinel分析ルールハンティング・ブック① コンテンツハブで Azure Activity ソリューションをインストール② データコネクタから Azure Policy を割り当て、診断設定を作らせる設定の流れ
図2 Azure Activity ログが Microsoft Sentinel に届くまで

Microsoft SentinelへのAzure Activityログの取り込み

Azure Activity ログを取り込むには、データコネクタを設定します。大きな流れは、Sentinel のコンテンツハブで「Azure Activity」ソリューションをインストールし、そのデータコネクタから Azure Policy を割り当てて、サブスクリプションに診断設定を作らせる、という2段階です。

作業必要な権限
コンテンツハブでのインストールワークスペースがあるリソースグループに対する Microsoft Sentinel 共同作成者
データコネクタの設定Log Analytics ワークスペースの読み取り・書き込み
Azure Policy の割り当て割り当てのスコープ(今回はサブスクリプション)に対する所有者
補足

この記事の検証は、サブスクリプションの所有者でもある管理者アカウントで行っています。Azure Policy の割り当てでは、マネージド ID へのロールの割り当ても行われるため、スコープに対する所有者の権限が必要です。

ソリューションのインストール

Microsoft Sentinel を開き、左側のメニューから コンテンツ管理 ›› コンテンツ ハブ を選択します。「Azure Activity」で検索して選択すると、右側にソリューションの概要が表示されます。

Microsoft Sentinel(コンテンツ ハブ)画面イメージ
Microsoft Sentinel ›› コンテンツ ハブ
1検索Azure Activity
コンテンツのタイトル状態コンテンツの種類
☑ Azure Activity(おすすめ) 未インストールSolution
☐ Log4j Vulnerability Dete… 未インストールSolution
☐ Cloud Service Threat Protection Esse… 未インストールSolution
Azure Activity(右側の概要)
プロバイダー/サポートMicrosoft / Microsoft
バージョン3.0.2
2コンテンツの種類分析ルール 13 / データ コネクタ 1 / ハンティング クエリ 14 / ブック 1
3インストール詳細の表示
図3 コンテンツ ハブで Azure Activity を選択した画面(実際の画面ではなく、操作のポイントを示したイメージです)
No.項目内容
1検索「Azure Activity」と入力し、一覧の Azure Activity を選択する
2コンテンツの種類データコネクタのほかに、分析ルール、ハンティング クエリ、ブック(ワークブック)がまとめて入っている
3インストールクリックするとインストールが始まる

しばらくすると「インストールに成功しました」と通知が表示されます。一覧で Azure Activity の状態が「インストール済み」に変わり、上部の「インストール済み」の件数が 1 になったことを確認したら、右側の概要の下にある「管理」をクリックします。

Microsoft Sentinel(コンテンツ ハブ)画面イメージ
ソリューションスタンドアロン コンテンツインストール済み更新
3632781 10
コンテンツのタイトル状態
☑ Azure Activity(おすすめ) インストール済み
☐ Log4j Vulnerability Dete… 未インストール
2管理操作 ▾詳細の表示
図4 インストールが完了した状態(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示・操作意味
1インストール済み(緑のチェック)Azure Activity ソリューションのインストールが完了している
2管理ソリューションに含まれるデータコネクタや分析ルールの一覧を開く

データコネクタのページを開く

「管理」をクリックすると、ソリューションに含まれるデータコネクタ、分析ルール、ハンティング クエリの一覧が表示されます。一覧の「Azure Activity」(データ コネクタ)を選択し、右側の「コネクタ ページを開く」をクリックします。

Microsoft Sentinel(ソリューションの管理)画面イメージ
Azure Activity
インストールされたコンテンツ パック構成が必要です
29 14
コンテンツ名コンテンツの種類バージョン
1☑ Azure Activityデータ コネクタ2.0.0
☐ Microsoft Entra ID Hybrid Health AD FS New Server分析ルール2.0.3
☐ New CloudShell User分析ルール2.0.3
☐ Suspicious Resource deployment分析ルール2.0.4
⋮ (29 件中 4 件を表示)
Azure Activity(右側の概要)
2StatusDisconnected
Version2.0.0
3コネクタ ページを開く
図5 ソリューションの管理画面(実際の画面ではなく、操作のポイントを示したイメージです)
No.表示・操作意味
1Azure Activity(データ コネクタ)ログを取り込むためのデータコネクタ。オレンジの警告マークは、まだ構成が必要なことを表す(分析ルールも同じ)
2Status:Disconnectedまだ接続していない(ログを受信していない)状態
3コネクタ ページを開くデータコネクタの設定ページを開く

Azure Policyの割り当て(基本)

コネクタ ページの下にある構成の手順には、Azure Policy でサブスクリプションのアクティビティ ログを送る設定(診断設定)を適用する、と書かれています。「[Azure Policy の割り当て] ウィザードの起動」をクリックします。

ポリシーの割り当てスコープ:Azure subscription 1効果:deployIfNotExists(診断設定がなければ作る)マネージド IDシステム割り当て(Japan East)監視共同作成者Log Analytics 共同作成者診断設定サブスクリプションのアクティビティ ログをワークスペース Sentinel へ修復作成割り当てただけでは、既にあるサブスクリプションには診断設定が作られないため、修復タスクで作る
図6 Azure Policy で診断設定を作るしくみ

このデータコネクタは、Azure Policy の組み込みポリシー「指定された Log Analytics ワークスペースにストリーミングするように Azure アクティビティ ログを構成します」を割り当てます。このポリシーは、サブスクリプションに診断設定がなければ作る(deployIfNotExists)ものです。

ウィザードの「基本」タブで、スコープの右にある「…」(三点リーダー)をクリックし、サブスクリプション「Azure subscription 1」を選択して「Select」をクリックします。リソース グループは省略できます。

ポリシーの割り当て(基本)画面イメージ
基本 / 詳細 / パラメーター / 修復 / 非準拠メッセージ / 確認および作成
1スコープAzure subscription 1 ✓ […]
除外  […]
ポリシー定義指定された Log Analytics ワークスペースにストリーミングするように Azure アクティ…
割り当て名指定された Log Analytics ワークスペースにストリーミングするように Azure アクティ…
ポリシーの適用◉ 有効○ 無効
割り当て担当者admin
確認および作成キャンセル前へ2次へ
図7 ポリシーの割り当ての「基本」タブ(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1スコープ「…」から、アクティビティ ログを取り込むサブスクリプション(Azure subscription 1)を選択する
2次へほかの項目は変更せずに次のタブへ進む

「詳細」タブでは、リソース セレクターやオーバーライドで、割り当ての対象をさらに絞り込めます。今回は何も設定せず「次へ」をクリックします。

Azure Policyの割り当て(パラメーターと修復)

「パラメーター」タブで、ログの送信先になるプライマリ Log Analytics ワークスペースを選択します。ここでは、初期セットアップで作成したワークスペース「Sentinel」を選択し、「次へ」をクリックします。

「修復」タブでは、「修復タスクを作成する」にチェックを入れます。ポリシーを割り当てただけでは、既にあるサブスクリプションに診断設定は作られません。修復タスクを作成すると、ポリシーに準拠していない既存のサブスクリプションにも診断設定が作られます。修復タスクの実行に使うマネージド ID も既定で作成されるので、システム割り当て ID の場所を選択します。

ポリシーの割り当て(パラメーター・修復)画面イメージ
基本 / 詳細 / パラメーター / 修復 / 非準拠メッセージ / 確認および作成
表示☑ 入力またはレビューが必要なパラメーターのみを表示する
1プライマリ Log Analytics ワークスペースSentinel
基本 / 詳細 / パラメーター / 修復 / 非準拠メッセージ / 確認および作成
2修復タスクを作成する☑
修復するポリシー指定された Log Analytics ワークスペースにストリーミングするように Azure …
3マネージド ID を作成します☑
マネージド ID の種類◉ システム割り当てマネージド ID○ ユーザー割り当てマネージド ID
システム割り当て ID の場所Japan East
アクセス許可監視共同作成者, Log Analytics 共同作成者
確認および作成キャンセル前へ4次へ
図8 「パラメーター」タブと「修復」タブ(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1プライマリ Log Analytics ワークスペースMicrosoft Sentinel を追加したワークスペース「Sentinel」
2修復タスクを作成するチェックを入れる。既存のサブスクリプションにも診断設定を作るため
3マネージド IDシステム割り当てマネージド ID、場所は Japan East。この ID に監視共同作成者と Log Analytics 共同作成者のロールが割り当てられる
4次へ「非準拠メッセージ」タブへ進む
補足

「入力またはレビューが必要なパラメーターのみを表示する」のチェックを外すと、取り込むログの種類ごとのパラメーターが表示されます。コネクタ ページの手順のとおり、取り込む種類はすべて True のままにします。

Azure Policyの割り当て(作成)

「非準拠メッセージ」タブでは、ポリシーに準拠していない理由を表示するメッセージを設定できます。今回は何も設定せず「次へ」をクリックします。「確認および作成」タブで内容を確認し、「作成」をクリックします。

ポリシーの割り当て(確認および作成)画面イメージ
基本 / 詳細 / パラメーター / 修復 / 非準拠メッセージ / 確認および作成
基本
1スコープAzure subscription 1
除外—
ポリシー定義指定された Log Analytics ワークスペースにス…
ポリシーの適用有効
割り当て担当者admin
詳細
リソース セレクターこの割り当てに関連付けられているセレクターはありません。
2作成キャンセル前へ
図9 「確認および作成」タブ(実際の画面ではなく、確認のポイントを示したイメージです)

作成すると、次の3つの通知が表示され、ポリシーが割り当てられます。

Azure ポータル(通知)画面イメージ
修復タスクが正常に作成されました
修復タスク ‘ac14c0ce-d78d-41ca-bac4-8fb862a5401c’ が正常に作成されました。
ロールの割り当ての作成に成功しました
すべてのロールの割り当てが正常に作成されました。
ポリシー割り当てが正常に作成されました
‘Azure subscription 1’ にポリシー割り当て ‘指定された Log Analytics ワークスペースにストリーミングするように Azure アクティビティ ログを構成します’ が正常に作成されました。この割り当てが有効になるまでに、約 30 分かかることにご注意ください。
図10 ポリシーの割り当て後の通知(実際の画面ではなく、表示のポイントを示したイメージです)

緑のチェックは、修復タスク、マネージド ID へのロールの割り当て、ポリシーの割り当てがそれぞれ成功したことを表します。通知にあるとおり、割り当てが有効になるまでには時間がかかります。検証では、ログが取り込まれるまでに 30 分〜1 時間ほどかかりました。

ログ取り込み確認

ログが取り込まれているかを確認します。コンテンツ管理 ›› コンテンツ ハブ で Azure Activity を選択し、右側の概要の「管理」をクリックします。一覧の Azure Activity(データ コネクタ)に「使用中」と表示されているので、チェックを入れて選択すると、右側にデータコネクタの概要が表示されます。

Microsoft Sentinel(ソリューションの管理)画面イメージ
コンテンツ名コンテナーが…コンテンツの種類
☑ Azure Activity使用中1 アイテムデータ…
☐ Microsoft Entra ID Hybrid Health AD FS New Server—分析ル…
Azure Activity(右側の概要)
1StatusConnected
Last Log Received2 時間前(2024/8/11 20:12:24)
Version2.0.0
2Data receivedAzureActivity 11
Data types AzureActivity 2024/8/11 20:12:24
3コネクタ ページを開く
図11 接続後のデータコネクタの概要(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1Status:Connectedデータコネクタが接続済み(ログを受信している)
2Data received / Data types受信したログの件数(11)と、ログが入るテーブル(AzureActivity)。テーブル名の横の緑のアイコンは、データを受信していることを表す
3コネクタ ページを開くコネクタ ページでも、同じ接続状態を日本語の表示で確認できる

「コネクタ ページを開く」をクリックすると、コネクタ ページでも状態が「接続済み」、最後に受信したデータが「24/08/11 20:12」、受信したデータの合計が「11」と表示されます。関連コンテンツとして、ブック 3、クエリ 2、分析ルールのテンプレート 13 も確認できます。

補足

このタイプのデータコネクタは、過去 14 日以内にデータを受信していれば接続済みと表示されます。14 日間データが届かないと、未接続の表示に戻ります。

Azure Activityログ出力確認

Sentinel に取り込まれた Azure Activity ログの中身を表示します。メニューの 全般 ›› ログ をクリックすると、クエリを実行する画面が開きます。テーブルの一覧の LogManagement に AzureActivity があるので、ダブルクリックします。クエリ欄に AzureActivity が入力されるので、「実行」をクリックします。

Microsoft Sentinel(ログ)画面イメージ
Microsoft Sentinel ›› ログ(新しいクエリ 1)
1クエリAzureActivity 時間の範囲:過去 24 時間
▷ 実行
結果
TimeGeneratedOperationNameValueActivityStatus
Value
ActivitySubstatus
Value
ResourceGroup
22024/8/11 20:12:24.419MICROSOFT.RESOURCES/SUBS…SuccessTESTRESOUCE
2024/8/11 20:12:22.869MICROSOFT.RESOURCES/SUBS…AcceptAcceptedTESTRESOUCE
2024/8/11 20:12:22.728MICROSOFT.RESOURCES/SUBS…StartTESTRESOUCE
2024/8/11 19:39:27.581MICROSOFT.AUTHORIZATION/…Success
2024/8/11 19:35:32.651MICROSOFT.RESOURCES/DEPL…Success
2024/8/11 19:35:32.355MICROSOFT.INSIGHTS/DIAGN…SuccessOK
2024/8/11 19:35:27.823MICROSOFT.INSIGHTS/DIAGN…Start
2024/8/11 19:35:26.842MICROSOFT.AUTHORIZATION/…Accept
2024/8/11 19:35:26.828MICROSOFT.RESOURCES/DEPL…AcceptCreated
2024/8/11 19:35:26.734MICROSOFT.RESOURCES/DEPL…Success
2024/8/11 19:35:22.250MICROSOFT.RESOURCES/DEPL…Start
図12 AzureActivity テーブルの検索結果(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1AzureActivityテーブル名だけのクエリ。指定した時間の範囲(過去 24 時間)のログをすべて表示する
2結果の各列操作の時刻(TimeGenerated、ローカル時刻)、操作名(OperationNameValue)、操作の状態(ActivityStatusValue:Start、Accept、Success など)、対象のリソースグループ(ResourceGroup)。画面イメージでは、Level 列(すべて Information)を省いています

結果には、コネクタの設定時に行われた操作が記録されています。たとえば MICROSOFT.INSIGHTS/DIAGN… は診断設定、MICROSOFT.AUTHORIZATION/… はロールの割り当てに関する操作とみられます(操作名は途中で省略されて表示されています)。1 つの操作が Start、Accept、Success のように複数の行に分かれて記録されることもあります。

補足

KQL で条件を付けると、必要なログだけを絞り込めます。たとえば、失敗した操作だけを新しい順に表示するには、次のようにします。

AzureActivity | where ActivityStatusValue == "Failure" | sort by TimeGenerated desc

なお、Log Analytics ワークスペースの AzureActivity テーブルは、データの取り込み料金がかからず、90 日間は無料で保持されます。

うまくいかないとき

状態よくある原因確認すること
コンテンツハブでインストールできないMicrosoft Sentinel 共同作成者の権限がないワークスペースのリソースグループに対するロールの割り当て
ポリシーの割り当てやロールの割り当てが失敗するスコープ(サブスクリプション)に対する所有者の権限がないサブスクリプションのアクセス制御(IAM)
しばらく待っても Disconnected のまま割り当てが有効になるまで時間がかかっている、修復タスクを作成していないAzure Policy の修復タスクの状態、モニターのアクティビティ ログで「アクティビティ ログのエクスポート」を開き、診断設定ができているか
以前は取り込めていたのに Disconnected になった14 日間ログが届いていない、診断設定が削除されたサブスクリプションの診断設定、送信先のワークスペース

まとめ

手順やることポイント
STEP 1コンテンツハブで Azure Activity ソリューションをインストールデータコネクタ、分析ルール、ハンティング クエリ、ブックがまとめて入る
STEP 2管理画面から Azure Activity データコネクタのページを開くこの時点では Disconnected
STEP 3Azure Policy の割り当てウィザードでスコープを選ぶ取り込むサブスクリプションを選択する(所有者の権限が必要)
STEP 4送信先ワークスペースを選び、修復タスクを作成する修復タスクがないと、既存のサブスクリプションに診断設定が作られない
STEP 5割り当てを作成し、30 分〜1 時間ほど待つConnected になり、AzureActivity テーブルにログが入る
補足

この記事は Azure ポータルの Microsoft Sentinel の画面で説明しています。Microsoft は、2027 年 3 月 31 日以降、Azure ポータルでの Microsoft Sentinel のサポートを終了し、Microsoft Defender ポータルに一本化するとしています。Defender ポータルでも、コンテンツハブからソリューションをインストールする流れは同じです。

コメント