Microsoft Sentinelでインシデント発生時のクローズとメール通知をLogic Apps使って自動化
Microsoft Sentinelのプレイブック(Logic Appsのワークフロー)を利用した、処理自動化の設定手順です。
Logic Appsのワークフロー作成から、Microsoft Sentinelでのオートメーションルールの作成、インシデント発生時の動作確認までを行います。
処理の自動化では、インシデントのメール通知や、ステータスを更新しています。
※記事内では、Azure Logic App(ロジックアプリ)をLogic Appsと表記しています。
※Azure Portalの画面表記上ロジックアプリと記載があるものはロジックアプリと表記しています。
※記事内のMicrosoft Sentinelの重要度、重大度の表現は、Azure PortalやLogic Appsのワークフロー内で表示される内容に合わせています。そのため表現が混在しています。
- 1. Microsoft Sentinelの処理を自動実行するLogic Apps ワークフローを作成
- 1.1. Logic Appsのリソースを作成
- 1.2. Microsoft Sentinel コネクタに含まれるトリガーとアクション
- 1.3. Logic Appsのワークフローで実行するMicrosoft Sentinelの処理内容
- 1.4. Microsoft Sentinel コネクタを利用するためのロール割り当て
- 1.5. Microsoft Sentinelのインシデント発生で起動するトリガーを作成
- 1.6. インシデントの重要度で条件分岐するアクションを追加
- 1.7. インシデントの状態を更新するアクションを作成
- 1.8. インシデントをメール通知するアクションを作成
- 1.9. 完成したワークフロー
- 2. Microsoft Sentinelのオートメーション設定からインシデント発生時の処理自動化の確認
- 3. 最後に
Microsoft Sentinelの処理を自動実行するLogic Apps ワークフローを作成
Logic Appsのリソースを作成
Logic Appsのリソースを作成します。
今回はマルチテナント(従量課金)のリソースを作成、利用しています。
Logic Appsの作成手順についてはこちらで紹介しています。
Microsoft Sentinel コネクタに含まれるトリガーとアクション
Logic Appsには、Microsoft Sentinelコネクタが用意されており、多くのトリガーやアクションが含まれています。
組み込みのトリガーを使用することで、インシデントやアラートの発生を開始条件としてワークフローを実行できます。
また、組み込みのアクションを使用することで、インシデントの更新やエンティティに含まれる情報の取得などが可能です。
Microsoft Sentinel コネクタに含まれるトリガーとアクション | |
Microsoft Sentinel コネクタのトリガーです。 | ![]() |
Microsoft Sentinel コネクタのアクションです。 | ![]() |
![]() |
|
![]() |
|
![]() |
Logic Appsのワークフローで実行するMicrosoft Sentinelの処理内容
Microsoft Sentinelで検知したインシデントの重要度に応じて、状態変更やメール送信するワークフローを作成します。
メール送信にはSendGridを利用しています。
-
- 処理内容
- インシデントの重大度が低の場合は、状態を終了に変更
- インシデントの重大度が低以外の場合は、インシデントの内容をメール送信
- 処理内容
※今回作成したワークフローは、手順確認用のサンプルです。
※インシデントの状態更新は、プレイブック(Logic Appsのワークフロー)を利用しなくても可能です。
Microsoft Sentinel コネクタを利用するためのロール割り当て
Logic Appsのワークフローで、Microsoft Sentinel コネクタを利用するためのロールを割り当てます。
Microsoft Sentinelの共同作成者を割り当てています。
Logic Appsのシステム割り当てマネージドIDに対して、ロールを割り当てています。
※Logic Appsのリソースで、システム割り当てマネージドIDを有効にしておく必要があります。
ロールの割り当て手順 | |
Log Analytics ワークスペースのアクセス制御を選択します。 ロールの割り当ての追加を選択します。 |
![]() |
“Microsoft Sentinel 共同作成者"のロールを選択します。 | ![]() |
アクセスの割り当て先に、"マネージドID"を選択します。 |
![]() |
![]() |
|
レビューと割り当てを選択します。 | ![]() |
Microsoft Sentinelのインシデント発生で起動するトリガーを作成
Microsoft Sentinelでインシデントが発生した際に実行するトリガーを作成します。
トリガーを英語で作成しないと、Microsoft Sentinelのプレイブックとして指定できない場合があります。
そのような場合は、Azure Portalを英語表記にしてトリガーを作成します。
インシデントの重要度で条件分岐するアクションを追加
インシデントの重要度を判断するための条件分岐を追加します。
Microsoft Sentinelの重要度がLowの場合にTrue、それ以外の場合にFalseとなるように設定しています。
条件分岐のアクションを追加 | |
Controlコネクタで、"Condition"のアクションを選択します。 | ![]() |
条件設定です。 “インシデントの重要度"が"Low"の場合は、"True"となるように設定しています。 |
![]() |
![]() |
インシデントの状態を更新するアクションを作成
Microsoft Sentinelコネクタには、インシデントを更新するアクションが用意されています。
インシデントの状態を更新し、終了に変更します。
インシデントをメール通知するアクションを作成
Microsoft Sentinelのインシデントを通知するためのアクションを作成します。
SendGridを利用してメールを送信します。
Logic Appsのワークフローから、SendGrid使ってメール送信する手順についてはこちらにまとめています。
SendGrid経由でMicrosoft Sentinelのインシデントを通知 | |
SendGridのコネクタで、"メールの送信(V4)"のアクション選択します。 | ![]() |
SendGridへのAPI 接続を作成します。 |
![]() |
メール本文に表示したいMicrosoft Sentinel incidentのトリガーの項目を設定します。 通知したい内容に合わせて、メールの本文を設定します。 |
![]() |
完成したワークフロー
完成したLogic Appsのワークフローです。
Microsoft Sentinelで検知したインシデントの重大度に応じて条件分岐しています。
インシデントの重大度が低の場合は、インシデントを更新のアクションで、状態を終了に変更しています。
インシデントの重大度が低以外の場合は、SendGridのメール送信アクションで、インシデントの内容をメールで送信しています。
今回作成したLogic Appsのワークフロー | |
完成したLogic Appsのワークフローです。 | ![]() |
—広告—
Microsoft Sentinelのオートメーション設定からインシデント発生時の処理自動化の確認
Microsoft SentinelでLogic Appsのワークフローを実行するためのロール割り当て
Microsoft SentinelからLogic Appsのワークフローを実行するためのロールを割り当てます。
Microsoft Sentinel プレイブックを自動化して実行する
オートメーション ルールを作成
Microsoft Sentinelでインシデントが発生した際に処理を実行する場合は、オートメーション ルールを設定します。
Microsoft Sentinel オートメーション ルールを作成および使用して対応を管理する
オートメーション ルールでは、自動化処理を実行するための条件とアクションを定義します。
Triggerで起動条件、Conditionsで実行条件、Actionsで実行する処理内容を指定します。
Microsoft Sentinel の自動化ルールに高度な条件を追加する
実行条件では、インシデントやエンティティのプロパティに基づいて合致する条件を設定できます。
Logic Appsのワークフローを呼び出す場合は、ActionsでRun Playbookを選択します。
今回の例では、Analytic rule nameが"Creation of expensive computes in Azure"と一致するインシデントが起票された場合に、logic-sentinel-01のLogic Appsのワークフローを実行するように設定しています。
分析ルールは、こちらの記事で作成したものを利用しています。
プレイブックを実行してインシデントの内容をメール通知
インシデントからプレイブックを手動で実行し、自動処理が実行されることを確認できます。
重大度が中の場合は、インシデントの内容がメールで通知されます。
※今回はテスト用に、手動でインシデントの重大度を低から中に変更しています。
インシデントを発生させて確認 | |
インシデントでプレイブックの実行を選択します。 | ![]() |
実行するLogic Appsのワークフローが表示されます。 実行を選択します。 |
![]() |
インシデントの内容をメールで受信できることが確認できます。 Logic Appsのワークフローも正常に終了していることが確認できます。 |
![]() |
![]() |
プレイブックを実行してインシデントの状態を更新
インシデントからプレイブックを手動で実行し、自動処理が実行されることを確認できます。
重大度が低の場合は、インシデントの状態を終了に更新します。
インシデントを発生させて確認 | |
インシデントでプレイブックの実行を選択します。 | ![]() |
実行するLogic Appsのワークフローが表示されます。 実行を選択します。 |
![]() |
インシデントの状態が終了に更新されていることが確認できます。 Logic Appsのワークフローも正常に終了していることが確認できます。 |
![]() |
![]() |
—広告—
最後に
Microsoft Sentinelでインシデントが発生した場合に、Logic Appsのワークフローを使って処理を自動化する手順を確認しました。
今回は、基本的な手順の確認でしたが、検知から処理まで自動化できるのはとても便利かと思いました。
引き続き、いろいろなことを試してみたいと思います。
Microsoft Sentinelの設定手順はこちらで紹介しています。
Microsoft Sentinelの有効化から、分析ルールの作成、インシデントの発生までを確認しています。