♻️
Sentinel プレイブック 作成ガイド
はじめに
Sentinel の運用で自動化を行いたい場合、プレイブックを作成・使用しますが、Logic apps 関連など設定箇所が多岐にわたるため、一通り設定が完了するまでの難易度が高いです (流れでまとまっているドキュメントがない)。今回は基本的なカスタムのプレイブックを初めて作成する場合のガイドをまとめていきます。
Logic apps 設定
Sentinel のプレイブックは Logic apps がベースになっています。まずはこちらのリソースを作成していきます。 (Sentinel の画面側からも作成は可能です)
-
まず事前に Azure ポータルの言語設定を英語にしておきます。(一部の Ligic apps アクションが日本語だと正常に動作しないため)
-
次に Logic apps のページから [+Add] をクリックします。

- 課金プランを選択します。特に閉域化などの特殊な要件なければ最も安価な Consumption (従量課金) でよいと思います。
- 保存するリソースグループ、リソース名、リージョンを選択し、作成します。
- 保存するリソースグループ、リソース名、リージョンを選択し、作成します。

- 作成後、Identity を選択し、マネージド ID を有効化します。
- [Logic app designer] を選択します。
- Logic apps が実行されるトリガーを設定します。[Add a trigger] をクリックし、[Microsoft Sentinel incident] を選択します。
- 認証情報 (Connection) が自動的に設定、設定されない場合や変更したい場合は [Change connection] を選択して再設定します。
- 一例としてインシデント内容のメール通知を実装します。 [+] ボタンをクリックし、[Add an action] をクリック、[Office 365 Outlook] の [See more] をクリックします。

- [Send an email (V2)] をクリックします。
- 初回作成の場合、認証情報がないためメール送信元となるアカウントでサインインをします。
- メールの宛先やタイトル、本文を指定します。[fx] ボタンから [Dynamic content] で前段の処理のアウトプット (トリガー含む) の動的な値を設定可能です。

- 正常に動くかは置いておき、以下のようにざっくりと作成して [保存] ボタンをクリックします。
Sentinel 設定
ここまで Logic apps を設定してきましたが、これだけではトリガーされず、Sentinel 側でトリガーする条件を設定する必要があります。
- まず、Sentinel が Logic apps をトリガーできるようにするためのアクセス許可を付与します。Defender ポータルで [Microsoft Sentinel] > [構成] > [自動化] から [Configure permissions] をクリックします。
- Logic apps を格納したリソース グループを選択し、[Apply] をクリックします。この処理で Sentinel から Logic Apps のトリガーが可能となります。
- トリガーする条件を指定してきます。Automation (自動化) のページで [+ Create] をクリックし、[Automation Rule] をクリックします。
- ルール名や条件などを指定します。
- Trigger は [When incident is created] を選択します。
- Actions は [Run playbook] とし、さきほど作成した Logic apps を選択します。
- インシデントが発生すると以下のようなメールが確認できました。(整形していないのでかなり読みづらいです)
- 実行結果の詳細は Logic apps の [Run history] から確認可能で、この結果を見ながら Logic apps の文面などを修正していくのが一般的なアクションです。
追加編集 + 再テスト
- 基本的に Logic apps では JSON フォーマットで出力されます。そちらを HTML テーブルに変換する処理を追加します。
- 既存インシデントから [プレイブックを実行する] で再テストが可能です。

- メール内が表形式になるので、先ほどよりはマシになります。CSS 付けられるので、あとはレイアウトを整える、文字列を編集するなどで改善していきます。
サンプル
- コンテンツ ハブで多数のテンプレートが公開されており、そのままデプロイして利用可能です。

Discussion