Azure Activity ログを Microsoft Sentinel に取り込むと、Azure 環境で「誰が、いつ、どのリソースに何をしたか」や、サービスの正常性に関するイベントを、ほかのログと一緒に監視・分析できます。この記事では、Sentinel のコンテンツハブから Azure Activity ソリューションをインストールし、データコネクタの設定、取り込みの確認、ログの中身の確認までを順に行います。
Microsoft Sentinel の初期セットアップ(リソースグループ、Log Analytics ワークスペース「Sentinel」の作成、Sentinel の追加)は、次の記事の環境を前提とします。
- Azure Activity ログとは何か、どこで見られるか
- コンテンツハブでソリューションをインストールし、Azure Policy でデータコネクタを設定する手順
- データコネクタの接続状態と、取り込んだログ(AzureActivity テーブル)の確認方法
Azure Activityログについて
Azure Activity ログ(アクティビティ ログ)は、サブスクリプション単位で記録されるログです。リソースの作成・変更・削除などの管理操作(Administrative)のほか、Service Health、Resource Health、アラート、ポリシー、自動スケールなどのイベントが記録されます。
アクティビティ ログは、Azure ポータルの モニター ›› アクティビティ ログ で確認できます。ポータルで確認できるのは過去 90 日分です。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| 操作名 | 状態 | 時間 | タイム スタンプ | サブスクリプション |
|---|---|---|---|---|
| 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 件を表示) | ||||
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 操作名・状態・時間 | どの操作が、いつ行われ、成功したか。行を開くと、操作した人(呼び出し元)や対象のリソースも確認できる |
ポータルでは過去 90 日分しか見られず、ほかのログとまとめて分析することもできません。Microsoft Sentinel に取り込むと、Log Analytics ワークスペースの AzureActivity テーブルに保存され、KQL での検索や、分析ルールによる検知に使えるようになります。
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」で検索して選択すると、右側にソリューションの概要が表示されます。
| 1検索 | Azure Activity |
| コンテンツのタイトル | 状態 | コンテンツの種類 |
|---|---|---|
| ☑ Azure Activity(おすすめ) | 未インストール | Solution |
| ☐ Log4j Vulnerability Dete… | 未インストール | Solution |
| ☐ Cloud Service Threat Protection Esse… | 未インストール | Solution |
| プロバイダー/サポート | Microsoft / Microsoft |
| バージョン | 3.0.2 |
| 2コンテンツの種類 | 分析ルール 13 / データ コネクタ 1 / ハンティング クエリ 14 / ブック 1 |
| No. | 項目 | 内容 |
|---|---|---|
| 1 | 検索 | 「Azure Activity」と入力し、一覧の Azure Activity を選択する |
| 2 | コンテンツの種類 | データコネクタのほかに、分析ルール、ハンティング クエリ、ブック(ワークブック)がまとめて入っている |
| 3 | インストール | クリックするとインストールが始まる |
しばらくすると「インストールに成功しました」と通知が表示されます。一覧で Azure Activity の状態が「インストール済み」に変わり、上部の「インストール済み」の件数が 1 になったことを確認したら、右側の概要の下にある「管理」をクリックします。
| ソリューション | スタンドアロン コンテンツ | インストール済み | 更新 |
|---|---|---|---|
| 363 | 278 | 1 1 | 0 |
| コンテンツのタイトル | 状態 |
|---|---|
| ☑ Azure Activity(おすすめ) | インストール済み |
| ☐ Log4j Vulnerability Dete… | 未インストール |
| No. | 表示・操作 | 意味 |
|---|---|---|
| 1 | インストール済み(緑のチェック) | Azure Activity ソリューションのインストールが完了している |
| 2 | 管理 | ソリューションに含まれるデータコネクタや分析ルールの一覧を開く |
データコネクタのページを開く
「管理」をクリックすると、ソリューションに含まれるデータコネクタ、分析ルール、ハンティング クエリの一覧が表示されます。一覧の「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 件を表示) | |||
| 2Status | Disconnected |
| Version | 2.0.0 |
| No. | 表示・操作 | 意味 |
|---|---|---|
| 1 | Azure Activity(データ コネクタ) | ログを取り込むためのデータコネクタ。オレンジの警告マークは、まだ構成が必要なことを表す(分析ルールも同じ) |
| 2 | Status:Disconnected | まだ接続していない(ログを受信していない)状態 |
| 3 | コネクタ ページを開く | データコネクタの設定ページを開く |
Azure Policyの割り当て(基本)
コネクタ ページの下にある構成の手順には、Azure Policy でサブスクリプションのアクティビティ ログを送る設定(診断設定)を適用する、と書かれています。「[Azure Policy の割り当て] ウィザードの起動」をクリックします。
このデータコネクタは、Azure Policy の組み込みポリシー「指定された Log Analytics ワークスペースにストリーミングするように Azure アクティビティ ログを構成します」を割り当てます。このポリシーは、サブスクリプションに診断設定がなければ作る(deployIfNotExists)ものです。
ウィザードの「基本」タブで、スコープの右にある「…」(三点リーダー)をクリックし、サブスクリプション「Azure subscription 1」を選択して「Select」をクリックします。リソース グループは省略できます。
| 1スコープ | Azure subscription 1 ✓ […] |
| 除外 | […] |
| ポリシー定義 | 指定された Log Analytics ワークスペースにストリーミングするように Azure アクティ… |
| 割り当て名 | 指定された Log Analytics ワークスペースにストリーミングするように Azure アクティ… |
| ポリシーの適用 | ◉ 有効○ 無効 |
| 割り当て担当者 | admin |
| 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 共同作成者 |
| 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 |
| リソース セレクター | この割り当てに関連付けられているセレクターはありません。 |
作成すると、次の3つの通知が表示され、ポリシーが割り当てられます。
| 修復タスクが正常に作成されました 修復タスク ‘ac14c0ce-d78d-41ca-bac4-8fb862a5401c’ が正常に作成されました。 |
| ロールの割り当ての作成に成功しました すべてのロールの割り当てが正常に作成されました。 |
| ポリシー割り当てが正常に作成されました ‘Azure subscription 1’ にポリシー割り当て ‘指定された Log Analytics ワークスペースにストリーミングするように Azure アクティビティ ログを構成します’ が正常に作成されました。この割り当てが有効になるまでに、約 30 分かかることにご注意ください。 |
緑のチェックは、修復タスク、マネージド ID へのロールの割り当て、ポリシーの割り当てがそれぞれ成功したことを表します。通知にあるとおり、割り当てが有効になるまでには時間がかかります。検証では、ログが取り込まれるまでに 30 分〜1 時間ほどかかりました。
ログ取り込み確認
ログが取り込まれているかを確認します。コンテンツ管理 ›› コンテンツ ハブ で Azure Activity を選択し、右側の概要の「管理」をクリックします。一覧の Azure Activity(データ コネクタ)に「使用中」と表示されているので、チェックを入れて選択すると、右側にデータコネクタの概要が表示されます。
| コンテンツ名 | コンテナーが… | コンテンツの種類 | |
|---|---|---|---|
| ☑ Azure Activity | 使用中 | 1 アイテム | データ… |
| ☐ Microsoft Entra ID Hybrid Health AD FS New Server | — | 分析ル… |
| 1Status | Connected |
| Last Log Received | 2 時間前(2024/8/11 20:12:24) |
| Version | 2.0.0 |
| 2Data received | AzureActivity 11 |
| Data types | AzureActivity 2024/8/11 20:12:24 |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | Status:Connected | データコネクタが接続済み(ログを受信している) |
| 2 | Data 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 が入力されるので、「実行」をクリックします。
| 1クエリ | AzureActivity 時間の範囲:過去 24 時間 |
| TimeGenerated | OperationNameValue | ActivityStatus Value | ActivitySubstatus Value | ResourceGroup |
|---|---|---|---|---|
| 22024/8/11 20:12:24.419 | MICROSOFT.RESOURCES/SUBS… | Success | TESTRESOUCE | |
| 2024/8/11 20:12:22.869 | MICROSOFT.RESOURCES/SUBS… | Accept | Accepted | TESTRESOUCE |
| 2024/8/11 20:12:22.728 | MICROSOFT.RESOURCES/SUBS… | Start | TESTRESOUCE | |
| 2024/8/11 19:39:27.581 | MICROSOFT.AUTHORIZATION/… | Success | ||
| 2024/8/11 19:35:32.651 | MICROSOFT.RESOURCES/DEPL… | Success | ||
| 2024/8/11 19:35:32.355 | MICROSOFT.INSIGHTS/DIAGN… | Success | OK | |
| 2024/8/11 19:35:27.823 | MICROSOFT.INSIGHTS/DIAGN… | Start | ||
| 2024/8/11 19:35:26.842 | MICROSOFT.AUTHORIZATION/… | Accept | ||
| 2024/8/11 19:35:26.828 | MICROSOFT.RESOURCES/DEPL… | Accept | Created | |
| 2024/8/11 19:35:26.734 | MICROSOFT.RESOURCES/DEPL… | Success | ||
| 2024/8/11 19:35:22.250 | MICROSOFT.RESOURCES/DEPL… | Start |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | AzureActivity | テーブル名だけのクエリ。指定した時間の範囲(過去 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 3 | Azure Policy の割り当てウィザードでスコープを選ぶ | 取り込むサブスクリプションを選択する(所有者の権限が必要) |
| STEP 4 | 送信先ワークスペースを選び、修復タスクを作成する | 修復タスクがないと、既存のサブスクリプションに診断設定が作られない |
| STEP 5 | 割り当てを作成し、30 分〜1 時間ほど待つ | Connected になり、AzureActivity テーブルにログが入る |
この記事は Azure ポータルの Microsoft Sentinel の画面で説明しています。Microsoft は、2027 年 3 月 31 日以降、Azure ポータルでの Microsoft Sentinel のサポートを終了し、Microsoft Defender ポータルに一本化するとしています。Defender ポータルでも、コンテンツハブからソリューションをインストールする流れは同じです。
コメント