【Defender EASM × Microsoft Sentinel × Logic Apps】 高リスク資産の存在を検知して管理者にメールで通知する

## 🎯 やりたいこと

Microsoft Defender External Attack Surface Management（Defender EASM）で検出された資産の情報を Microsoft Sentinel に取り込み、**高リスク資産** を KQL で分析し、**Logic Apps でメール通知**する基本的な仕組みを作ったので手順を共有します。

:::note warn
2025 年5月24日時点の検証内容をもとに記事を作成しています。
:::
---

## ✅ 全体構成

1. Defender EASM のログを Microsoft Sentinel に取り込む 
2. Logic Apps でアラートをトリガーにメールを送信するワークフローを作成
3. 高リスク資産（High Severity）を検出する分析ルールを Microsoft Sentinel で作成
4. アラートをトリガーとして管理者にメール通知を行う  

---

## 🔍 Step 1: Defender EASM ログの取り込み

1. ログを取り込む予定の Sentinel の Log Analytics ワークスペースへ移動し、[エージェント] タブからワークスペース ID と主キーを取得します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/7063034b-602f-4627-bac9-2a3f344f94d7.png)

2. Azure Portal > Defender EASM > ログを取り込みたいワークスペース名 > 管理 > データ接続 へ移動し、Log Analytics の [接続の追加] を選択します。  
   先ほど取得したワークスペース ID を入力し、API キー欄には主キーの値を入力します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/824fbfe0-8689-431d-89bc-b74090b3f9f3.png)

3. Microsoft Sentinel 側に Defender EASM のログを取り込むと、カスタム ログ テーブル `EasmRisk_CL` に資産のリスクレベルを含む情報が格納されます。  

    📍格納場所：Azure Portal > Microsoft Sentinel > 全般 > ログ > カスタム ログ > `EasmRisk_CL`  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/40af9001-8444-48a5-9911-5b7818b6e258.png)

---

## 🤖 Step 2: Logic Apps でアラートをトリガーにメールを送信するワークフローを作成

1. Azure Portal で「Logic Apps」を検索します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/80ee9320-e9a1-4ab0-9372-23a8ba1b8ca6.png)

2. [Add] を選択します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/5a804e60-1fff-4a74-99ba-f5d0e7aaeed3.png)

3. 以下のスクリーンショットに従って Logic Apps のデプロイを行います。

    - 従量課金を選択  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/dc21fef0-3cba-4d1e-ae6e-2de7ed3cf3d6.png)

    - サブスクリプション、リソースグループ、ロジック アプリ名、リージョンなどを設定  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/6f276f58-5706-42ad-ae73-4bd94a92c74c.png)

    - 確認と作成  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/26e23c52-a9bd-4f89-bd94-12a0e4185652.png)

    - デプロイが完了  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/6a4d90c2-9523-4127-b34b-fdaa42c35472.png)

4. Logic Apps > デプロイしたロジックアプリ名 > 開発ツール > ロジック アプリ デザイナー へ移動します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/b579c52c-b992-47c7-a2f9-2dec23657b6f.png)

5. [トリガーの追加] を選択し、「Microsoft Sentinel アラート」というトリガーを指定します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/bff9d6b2-d705-452d-88cb-589eca181a05.png)

6. [+] ボタンをクリックし、「Office 365 Outlook」を選択します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/6efb77b2-9969-46c0-8403-15c31b7dd335.png)

7. アクションの追加から「メールの送信 (v2)」を選択します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/03b0fc5a-fb38-47d5-9915-df94f0a035b8.png)

8. メール送信元にするアカウントでサインインします。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/071f6552-4e1d-4394-8231-b1596949790d.png)

9. メールの宛先、文面などを設定します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/898bb50f-aa55-4394-9e66-3784d4dc573b.png)

10. [Save] を選択し、ロジックアプリを保存します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/028d01ea-65ae-46d2-83a8-052c1f818e63.png)

11. Logic Apps を Sentinel 上で実行できるように、アクセス制御 (IAM) を設定します。

    - Azure Portal > リソースグループ > 対象のリソースグループ名 > アクセス制御 (IAM) > 追加 > ロールの割り当ての追加  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/6379aa1e-e20f-469a-9303-f1418184d415.png)

    - 「Microsoft Sentinel 共同作成者」を選択し、[次へ] を選択  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/44b84049-b881-4373-8c5b-25e63fa473d6.png)

    - アクセスの割り当て先を「マネージド ID」とし、作成したロジックアプリを選択  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/7a91785d-16c2-4bce-8534-2017d245b6de.png)

    - [次へ] → [レビューと割り当て] を選択  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/c127d65f-b3c0-47f4-96cd-515e91144943.png)  
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/b16d46cf-dea1-4c7d-962f-ecc29f828d7f.png)

---

## 🧪 Step 3: 高リスク資産をチェックしてアラートを挙げる分析ルールの作成

Microsoft Sentinel にて、**直近6時間で検出された高リスク資産があるか**をチェックする分析ルールを作成します。

:::note warn
6 時間という値は一例です。必要に応じて調整してください
:::

1. Azure Portal > Microsoft Sentinel > 構成 > 分析 > 作成 > スケジュール済みクエリ ルール へ移動します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/4be6454e-9ddd-4c04-aa91-bac487d15f8e.png)

2. 分析ルールの名前、説明などを任意に設定し、[次へ: ルールのロジックを設定 >] を選択します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/2710cee2-ae53-4e42-ae1f-d3d532e4e21a.png)

3. 以下のクエリを貼り付け、スケジュールを設定します。

    ```kql
    EasmRisk_CL
    | where CategoryName_s == "High Severity"
    | where TimeGenerated > ago(6h)
    | count 
    ```

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/63e8b9ee-84bc-4a70-b8c3-d14317de6f58.png)

4. アラートのしきい値を設定し、[次へ: インシデントの設定 >] を選択します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/545efe7f-00cf-4629-b46e-ed33b439963b.png)

5. [次へ: 自動応答 >] を選択します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/1c1c3aa4-b515-417e-8e44-f1b7737438e1.png)

6. 先ほど作成した Logic Apps を設定し、[次へ: 確認と作成] を選択します。  

    💡 ハマりポイント：  
    以下の画像のように、ロジックアプリがグレーアウトして選択できない場合は、[Manage playbook permissions] からアクセス権を付与してください。  
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/f9f57833-5402-41e3-ada4-f703ccaf4994.png)


    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/e0c52d84-ad1c-44b2-a7f7-e00968e1d6be.png)

7. [保存] を選択します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/69631f7d-1255-4812-8862-e904b54b7a3c.png)

8. Microsoft Sentinel > 構成 > 分析 にて、作成したルールが一覧に表示されていることを確認します。  

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/9cd378a0-2c9d-4f99-87d4-aca358801898.png)

---

## 📧 Step 4: アラートをトリガーとして管理者にメール通知

Microsoft Sentinel > 脅威管理 > インシデント に移動します。  
分析ルールに該当する資産が検出されると、インシデント ページにアラートが表示されます（2025/5/24 11:24）。  

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/f62fde0e-80a0-4372-b730-5593df31fffc.png)

同時に、管理者宛にメールが自動で送信されていることも確認できます（2025/5/24 11:24）。  

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762983/6bf28042-d10f-41f6-9c29-662d5b3c0fe2.png)

---

## 📝 まとめ

本記事では、以下の流れで Microsoft Defender EASM の検出結果をもとに、Microsoft Sentinel および Logic Apps を活用して管理者へ自動通知する仕組みを構築しました。

- Defender EASM のログを Sentinel に取り込み、カスタムログテーブルとして扱う
- KQL により高リスク資産（High Severity）の検出ロジックを作成
- スケジュール済みクエリルールとして分析ルールを設定し、アラートを生成
- アラートをトリガーに Logic Apps を呼び出し、メール通知を自動化

---

以上、Defender EASM × Microsoft Sentinel × Logic Apps を連携させた基本的なアラート通知の仕組みについてのご紹介でした。  
何かご不明な点やご質問、誤りなどがありましたら、ぜひコメントでお知らせください。