Microsoft Sentinel プレイブックを作成して管理する

プレイブックは、インシデント全体、個々のアラート、または特定のエンティティに対応して Microsoft Sentinel から実行できる手続きのコレクションです。 プレイブックは、対応の自動化と調整に役立ちます。プレイブックを分析ルールまたは自動化ルールにアタッチすると、特定のアラートが生成された場合、またはインシデントが作成または更新された場合に自動的に実行できます。 また、特定のインシデント、アラート、またはエンティティに対し、オンデマンドで、手動でプレイブックを実行することもできます。

この記事では、Microsoft Sentinel プレイブックを作成して管理する方法について説明します。 これらのプレイブックは、後で分析ルールまたは自動化ルールにアタッチすることも、特定のインシデント、アラート、またはエンティティに対して手動で実行することもできます。

Note

Microsoft Sentinel のプレイブックは Azure Logic Apps で構築されたワークフローをベースにしています。これは、Logic Apps のすべての機能、カスタマイズ性、組み込みテンプレートを利用できることを意味します。 追加料金が適用される場合があります。 詳細については、Azure Logic Apps の価格ページを参照してください。

重要

Microsoft Sentinel は、Microsoft Defender ポータルの統合セキュリティ オペレーション プラットフォームの一部として利用できます。 Defender ポータルの Microsoft Sentinel は、運用環境での使用がサポートされるようになりました。 詳しくは、「Microsoft Defender ポータルの Microsoft Sentinel」を参照してください。

前提条件

プレイブックを作成して管理するには、次のいずれかの Azure ロールを使用して Microsoft Sentinel にアクセスする必要があります。

  • ロジック アプリを編集および管理するためのロジック アプリ共同作成者
  • ロジック アプリの読み取り、有効化、無効化を行うためのロジック アプリ オペレーター

詳細については、Microsoft Sentinel プレイブックの前提条件に関する記事を参照してください。

プレイブックを作成する前に、「Microsoft Sentinel プレイブック用 Azure Logic Apps」を読むことをお勧めします。

プレイブックを作成する

Microsoft Sentinel に新しいプレイブックを作成するには、これらの手順に従います。

  1. Azure portal の Microsoft Sentinel の場合は、[構成]>[オートメーション] ページを選択します。 Defender ポータルの Microsoft Sentinel の場合、[Microsoft Sentinel]>[構成]>[自動化] を選択します。

  2. 上部のメニューで [作成]を選択し、次のいずれかのオプションを選択します。

    1. Standard のプレイブックを作成する場合は、[空のプレイブック] を選択し、ロジック アプリの種類が Standard の場合の手順に従います

    2. 従量課金 のプレイブックを作成する場合は、使用するトリガーに応じて、次のいずれかのオプションを選択し、次のセクションの 従量課金ロジック アプリのタブの手順に従います。

      • インシデント トリガーを使用したプレイブック
      • アラート トリガーを使用したプレイブック
      • エンティティ トリガーを使用したプレイブック

    詳細については、「サポートされるロジック アプリ」および「Microsoft Sentinel プレイブックでサポートされるトリガーとアクション」を参照してください。

プレイブックのロジック アプリを準備する

プレイブックのロジック アプリを作成する方法の詳細については、"従量課金" または Standard のどちらのワークフローを使用するかに応じて、次のタブのいずれかを選択します。 詳細については、「サポートされるロジック アプリ」を参照してください。

使用するトリガー (インシデント、アラート、またはエンティティ トリガー) を選択すると、プレイブックの作成 ウィザードが表示されます。 次に例を示します。

ロジック アプリの作成を示すスクリーンショット。

プレイブックを作成するには、次の操作を行います。

  1. [基本] タブを次のように設定します。

    1. [サブスクリプション][リソース グループ][リージョン] をそれぞれのドロップダウン リストから選択します。 選択するリージョンは、ロジック アプリの情報を格納する場所です。

    2. プレイブック名にプレイブックの名前を入力します。

    3. 診断目的でこのプレイブックのアクティビティを監視する場合は、[Log Analytics で診断ログを有効にする] チェック ボックスをオンにし、ドロップダウン リストから [Log Analytics ワークスペース] を選択します。

    4. プレイブックから、Azure 仮想ネットワーク内にある、または Azure 仮想ネットワークに接続されている保護されたリソースにアクセスする必要がある場合は、統合サービス環境 (ISE) の使用が必要になることがあります。 その場合は、[統合サービス環境に関連付ける] チェック ボックスをオンにし、ドロップダウン リストから関連する ISE を選択します。

    5. [次へ: 接続 >] を選択します。

  2. [接続] タブでは、既定値のままにして、マネージド ID を使用して Microsoft Sentinel に接続するように Logic Apps を構成することをお勧めします。 詳細については、「Microsoft Sentinel へのプレイブックの認証」を参照してください。

    [次へ: 確認と作成]> を選択して続行します。

  3. [確認と作成] タブで、選択した構成を確認し、[作成してデザイナーに進む] を選択します。

    プレイブックの作成とデプロイには数分かかります。その後、"デプロイが完了しました" というメッセージが表示され、新しいプレイブックのロジック アプリ デザイナーが表示されます。 最初に選択したトリガーが最初のステップとして自動的に追加されており、そこからワークフローの設計を続行できます。

    ロジック アプリ デザイナーでトリガーを開いている画面のスクリーンショット。

  4. [Microsoft Sentinel エンティティ] トリガーを選択した場合は、このプレイブックで入力として受け取るエンティティの種類を選択します。

    プレイブック スキーマを設定するために選択するエンティティ型のドロップダウン リストのスクリーンショット。

プレイブックにアクションを追加する

ロジック アプリを作成したので、プレイブックを呼び出したときの動作を定義します。 アクション、論理条件、ループ、または switch case 条件を追加します。これらはすべて、[新しいステップ] を選択すると、追加できます。 この選択によってデザイナーに新しいフレームが開くので、そこで、操作対象となるシステムやアプリケーション、設定する条件を選択できます。 フレーム上部の検索バーにシステムまたはアプリケーションの名前を入力し、表示される結果から選択します。

これらの各ステップでフィールドをクリックすると、次のメニューを含むパネルが表示されます。

詳細については、「Microsoft Sentinel プレイブックでサポートされるトリガーとアクション」を参照してください。

認証プロンプト

トリガーまたはその後のアクションを選択すると、操作しているリソース プロバイダーへの認証を求めるメッセージが表示されます。 この場合、プロバイダーは Microsoft Sentinel であり、いくつかの認証オプションがあります。 詳細については、以下を参照してください:

動的コンテンツ: インシデント ID のないエンティティ プレイブック

エンティティ トリガーで作成されたプレイブックでは、エンティティに対してアクションを実行した後のインシデントの更新などのために、多くの場合、[インシデント ARM ID] フィールドが使用されます。

このようなプレイブックが、インシデントに関係のないコンテキスト (たとえば、脅威ハンティングの場合など) でトリガーされた場合、このフィールドに設定できる ID を持つインシデントはありません。 この場合、このフィールドには null 値が設定されます。

その結果、プレイブックの実行を完了できない可能性があります。 このエラーを防ぐには、インシデント ID フィールドに対してアクションを実行する前に値をチェックする条件を作成し、フィールドに null 値がある場合 (つまり、プレイブックがインシデントから実行されていない場合) は別のアクション セットを指定することをお勧めします。

手順は次のとおりです。

  1. [インシデント ARM ID] フィールドを参照する最初のアクションの前に、条件ステップを追加します。

  2. 横にある [値の選択] フィールドを選択し、[動的なコンテンツの追加] ダイアログに入力します。

  3. [インシデント ARM ID (省略可能)][次の値に等しくない] 演算子を選択します。

  4. もう一度 [値の選択] を選択し、[動的なコンテンツの追加] ダイアログに入力します。

  5. [式] タブを選択し、[null 値] 関数を入力します。

次に例を示します。

[インシデント ARM ID] フィールドの前に追加する他の条件のスクリーンショット。

動的コンテンツ: カスタム詳細を操作する

インシデント トリガーで使用できるアラートのカスタム詳細動的フィールドは、JSON オブジェクトの配列であり、それぞれがアラートのカスタム詳細を表します。 カスタム詳細は、キーと値のペアです。これを使用すると、アラート内のイベントからの情報を表示できるため、イベントをインシデントの一部として表現、追跡、分析することができます。

アラートのこのフィールドはカスタマイズ可能であるため、スキーマは、表示されるイベントの型によって異なります。 このイベントのインスタンスからデータを提供して、カスタム詳細フィールドの解析方法を決定するスキーマを生成します。

次に例を示します。

分析ルールで定義されたカスタム詳細のスクリーンショット。

これらのキーと値のペアには、次のものが含まれます。

  • 左側の列のキーは、作成するカスタム フィールドを表します。
  • 右側の列の値は、カスタム フィールドを設定するイベント データのフィールドを表します。

次の JSON コードを指定してスキーマを生成します。 このコードは、キーを配列として、値を配列内の項目として示します。 値は、値を含む列としてではなく、実際の値として示されます。

{ "FirstCustomField": [ "1", "2" ], "SecondCustomField": [ "a", "b" ] }

インシデント トリガーにカスタム フィールドを使用するには、次の操作を行います。

  1. JSON の解析 組み込みアクションを使用して新しいステップを追加します。 必要に応じて、検索フィールドに「json の解析」と入力して検索します。

  2. [動的なコンテンツ] ボックスの一覧で、インシデント トリガーの下にあるアラートのカスタム詳細を選択します。 次に例を示します。

    [動的コンテンツ] から [アラートのカスタム詳細] を選択する際のスクリーンショット。

    これにより、インシデントにアラートの配列が含まれるため、For Each ループが作成されます。

  3. [サンプル ペイロードを使用してスキーマを生成する] リンクを選択します。 次に例を示します。

    [動的コンテンツ] オプションから [サンプル ペイロードを使用してスキーマを生成する] リンクを選択する際のスクリーンショット。

  4. サンプル ペイロードを提供します。 たとえば、Log Analytics でこのアラートの別のインスタンス探して、[拡張プロパティ] の下にあるカスタム詳細オブジェクトをコピーすると、サンプル ペイロードを見つけることができます。 Azure portal の [ログ] ページ、または Defender ポータルの [高度な検出] ページで、Log Analytics データにアクセスします。 次のスクリーンショットは、上に示した JSON コードを使用しています。

    サンプル JSON ペイロードの入力を示すスクリーンショット。

カスタム フィールドは、配列型の動的フィールドを使用する準備ができました。 たとえば、次のスクリーンショットは、スキーマと、このセクションで説明した [動的コンテンツ] の下に表示される一覧の両方にある配列とその項目を示しています。

使用できるようになったスキーマのフィールドを示すスクリーンショット。

プレイブックを管理する

[自動化] > [アクティブなプレイブック] タブの順に選択して、アクセスできるすべてのプレイブックをサブスクリプション ビューでフィルター処理して表示します。

統合セキュリティ オペレーション プラットフォームにオンボードすると、既定では、[アクティブなプレイブック] タブに、オンボードされたワークスペースのサブスクリプションを含む定義済みのフィルターが表示されます。 Azure portal で、グローバル Azure ページ ヘッダーの [ディレクトリとサブスクリプション] メニューから表示しているサブスクリプションを編集します。

[アクティブなプレイブック] タブには、選択したサブスクリプションで使用可能なすべてのアクティブなプレイブックが表示されますが、プレイブックのリソース グループに Microsoft Sentinel のアクセス許可を明確に付与しない限り、既定では、プレイブックはそれが属するサブスクリプション内でのみ使用できます。

[アクティブなプレイブック] タブには、プレイブックと次の詳細が表示されます。

列名 説明
Status プレイブックが有効か無効かを示します。
プラン プレイブックの Azure Logic Apps リソースの種類が、Standard または "従量課金" のどちらであるかを示します。

種類が Standard のプレイブックは、名前付け規則 LogicApp/Workflow を使用します。これは、Standard プレイブックが単一のロジック アプリ内の他のワークフローと共に存在するワークフローをどのように表すかを反映しています。

詳細については、「Microsoft Sentinel プレイブック用 Azure Logic Apps」を参照してください。
トリガーの種類 このプレイブックを開始する Azure Logic Apps トリガーを示します。

- Microsoft Sentinel インシデント/アラート/エンティティ: プレイブックは、Sentinel トリガー (インシデント、アラート、エンティティなど) のいずれかで開始されます
- Microsoft Sentinel アクションの使用: プレイブックは Microsoft Sentinel 以外のトリガーで開始されますが、Microsoft Sentinel アクションが使用されます
- その他: プレイブックには、Microsoft Sentinel のコンポーネントは含まれません
- 初期化されていない: プレイブックは作成されましたが、コンポーネントは含まれておらず、アクションもトリガーされません。

プレイブックを選択して、その Azure Logic Apps ページを開きます。このページには、プレイブックに関するより多くの詳細が表示されます。 Azure Logic Apps ページで次の操作を行います。

  • プレイブックが実行されたすべての時刻のログを表示します
  • 成功や失敗、その他の詳細などの実行結果を表示します
  • 関連するアクセス許可がある場合、Azure Logic Apps でワークフロー デザイナーを開いてプレイブックを直接編集します

プレイブックを作成したら、それを、環境内のイベントによってトリガーされるルールにアタッチするか、特定のインシデント、アラート、またはエンティティに対してプレイブックを手動で実行します。

詳細については、以下を参照してください: