Microsoft Sentinel プレイブックでトリガーとアクションを使用する

このドキュメントでは、プレイブックで Microsoft Sentinel やワークスペースのテーブル内の情報を操作するために使用する Logic Apps Microsoft Sentinel コネクタのトリガーとアクションの種類について説明します。 さらに、必要になる可能性がある特定の種類の Microsoft Sentinel 情報にアクセスする方法についても説明します。

このドキュメントは、「Microsoft Sentinel へのプレイブックの認証」のガイドと共に、他のプレイブック ドキュメント「チュートリアル: Microsoft Sentinel でオートメーション ルールとプレイブックを使用する」と一体になっています。 これら 3 つのドキュメントは、互いを前後に参照します。

プレイブックの概要については、「Microsoft Sentinel のプレイブックを使用して脅威への対応を自動化する」を参照してください。

Microsoft Sentinel コネクタの完全な仕様については、Logic Apps コネクタのドキュメントを参照してください。

重要

Microsoft Sentinel は、Microsoft Defender ポータルの統合セキュリティ オペレーション プラットフォームのパブリック プレビューの一部として利用できます。 詳細については、「Microsoft Defender ポータルの Microsoft Sentinel」を参照してください。

必要なアクセス許可

ロールまたはコネクタ コンポーネント トリガー 「Get」アクション インシデントの更新、
コメントを追加
Microsoft Sentinel 閲覧者
Microsoft Sentinel レスポンダー/共同作成者

Microsoft Sentinel のアクセス許可の詳細を参照してください

Microsoft Sentinel トリガーの概要

Microsoft Sentinel コネクタはさまざまな方法で使用できますが、このコネクタのコンポーネントは、それぞれ別の Microsoft Sentinel の発生によってトリガーされる次の 3 つのフローに分けることができます。

トリガー (Logic Apps デザイナーのフル ネーム) いつ使用するか 既知の制限事項
Microsoft Sentinel インシデント (プレビュー) ほとんどのインシデント自動化シナリオに推奨されます。

プレイブックは、エンティティやアラートを含むインシデント オブジェクトを受け取ります。 このトリガーを使用すると、プレイブックをオートメーション ルールにアタッチできるため、Microsoft Sentinel でインシデントが作成されたときにそれをトリガーでき、そのインシデントにオートメーション ルールのベネフィットのすべてを適用できます。
このトリガーを使用するプレイブックでは、アラートのグループ化はサポートされていません。つまり、各インシデントで送信された最初のアラートのみを受信します。

更新: 2023 年 2 月の時点で、このトリガーに対してアラート グループがサポートされています。
Microsoft Sentinel アラート (プレビュー) アラートに対して Microsoft Sentinel ポータルから手動で実行する必要のあるプレイブック、またはアラートに対してインシデントを生成しないスケジュールされた分析ルールに推奨されます。 このトリガーを使用して、Microsoft セキュリティ分析ルールによって生成されたアラートの応答を自動化することはできません。

このトリガーを使用するプレイブックは、自動化ルールで呼び出すことはできません。
Microsoft Sentinel エンティティ (プレビュー) 調査または脅威ハンティングのコンテキストで、特定のエンティティに対して手動で実行する必要があるプレイブックに使用します。 このトリガーを使用するプレイブックは、自動化ルールで呼び出すことはできません。

これらのフローで使用されるスキーマは同一ではありません。 推奨される方法は、ほとんどのシナリオに適用できる Microsoft Sentinel インシデント トリガー フローの使用です。

インシデントの動的フィールド

Microsoft Sentinel インシデントから受信した Incident オブジェクトには、次の動的フィールドが含まれます。

  • インシデントのプロパティ (「Incident: field name」として表示)

  • アラート (配列)

    • インシデントのプロパティ (「Alert: field name」として表示)

      Alert: < プロパティ名>などのアラート プロパティを選択すると、1 つのインシデントに複数のアラートを含めることができるため、for each ループが自動的に生成されます。

  • エンティティ (すべてのアラートのエンティティの配列)

  • ワークスペース情報フィールド (インシデントが作成された Sentinel ワークスペースに適用される)

    • サブスクリプション ID
    • ワークスペース名
    • ワークスペース ID
    • リソース グループ名

Microsoft Sentinel アクションの概要

コンポーネント いつ使用するか
Alert - Get Incident プレイブック内でアラート トリガーで始まります。 インシデントのプロパティ取得や、インシデントの更新インシデントにコメントを追加のアクションで使用するインシデントの ARM IDを取得する場合に便利です。
インシデントの取得 外部ソースから、または Sentinel 以外のトリガーを使用してプレイブックをトリガーする場合。 インシデント ARM ID を使用して識別します。 インシデントのプロパティとコメントを取得します。
インシデントの更新 インシデントのStatus変更 (インシデントを閉じるときなど)、Ownerの割り当て、タグの追加や削除、SeverityTitleDescriptionの変更などを行うことができます。
インシデントにコメントを追加 外部ソースから収集された情報でインシデントを強化するため。プレイブックがエンティティに対して行ったアクションを監査するため。インシデントの調査に有用な追加情報を提供するため。
エンティティ - <エンティティ型> の取得 特定のエンティティタイプ (IPAccountHostURLFileHash) で動作するプレイブックでは、プレイブック作成時に既知であり、それを解析して固有のフィールドで動作させる必要があります。

インシデントの使用 - 使用例

ヒント

アクションインシデントの更新インシデントへのコメントの追加には、インシデント ARM ID が必要です。

Alert - Get Incidentアクションを使用して、事前にインシデント ARM ID を取得します。

インシデントの更新

  • プレイブックは Microsoft Sentinel インシデントによってトリガーされます

    インシデント トリガーの単純な更新フローの例

  • プレイブックは Microsoft Sentinel アラートによってトリガーされます

    アラート トリガーの単純なインシデント更新フローの例

インシデント情報の使用

インシデントの詳細をメールで送信する基本的なプレイブック:

  • プレイブックは Microsoft Sentinel インシデントによってトリガーされます

    インシデント トリガーの単純な取得フローの例

  • プレイブックは Microsoft Sentinel アラートによってトリガーされます

    アラート トリガーの単純なインシデント取得フローの例

インシデントにコメントを追加する

  • プレイブックは Microsoft Sentinel インシデントによってトリガーされます

    インシデント トリガーの単純なコメント追加の例

  • プレイブックは Microsoft Sentinel アラートによってトリガーされます

ユーザーを無効にします

  • プレイブックは Microsoft Sentinel エンティティによってトリガーされます

    ユーザーを無効にするためにエンティティ トリガー プレイブックで実行するアクションを示すスクリーンショット。

インシデント ID のないエンティティ プレイブック

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

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

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

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

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

  3. [式] タブと length(collection) 関数を選択します。

  4. [動的コンテンツ] タブと [インシデント ARM ID] フィールドを選択します。

  5. 結果の式が length(triggerBody()?['IncidentArmID']) であることを確認し、[OK] を選択します。

    プレイブック条件のフィールドを選択する動的コンテンツ ダイアログのスクリーンショット。

  6. 条件の演算子を "is greater than" および "0" に設定します。

    前のスクリーンショットで説明した条件の最終的な定義のスクリーンショット。

  7. True フレームで、プレイブックがインシデント コンテキストから実行される場合に実行するアクションを追加します。

    False フレームで、プレイブックが非インシデント コンテキストから実行される場合に実行するアクションを追加します。

特定のエンティティ型を使用する

エンティティ の動的フィールドは JSON オブジェクトの配列で、それぞれがエンティティを表します。 各エンティティ型には、一意のプロパティに応じて、独自のスキーマがあります。

「エンティティ - <エンティティ型の取得>」 アクションを使用すると、次の操作を実行できます:

  • 要求された型でエンティティの配列をフィルター処理します。
  • この型の特定のフィールドを解析して、次のアクションで動的フィールドとして使用できるようにします。

入力はエンティティ動的フィールドです。

応答は特殊なプロパティが解析されたエンティティの配列であり、For each ループで直接使用できます。

次のエンティティの型がサポートされています:

その他のエンティティ型の場合は、Logic Apps の組み込みアクションを使用して同様の機能を実現できます。

  • フィルター配列を使用して要求された型でエンティティの配列をフィルター処理します。

  • Parse JSON を使用したアクションで動的フィールドとして使用できるように、この型の特定のフィールドを解析します。

カスタム詳細を操作する

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

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

次の例を参照してください。

分析ルールで定義されたカスタム詳細。

これらのキーと値のペアでは、キー (左側の列) は作成するカスタム フィールドを表し、値 (右側の列) はカスタム フィールドを設定するイベント データのフィールドを表します。

スキーマを生成するには、次の JSON コードを指定できます。 このコードでは、キー名を配列として表示し、値 (値を含む列ではなく、実際の値を示す) を配列の項目として表示しています。

{ "FirstCustomField": [ "1", "2" ], "SecondCustomField": [ "a", "b" ] }
  1. JSON の解析 組み込みアクションを使用して新しいステップを追加します。 検索フィールドに「json の解析」と入力して検索できます。

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

    動的コンテンツから [Alert custom details (カスタム詳細のアラート)] を選択します。

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

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

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

  4. サンプル ペイロードを提供します。 サンプルのペイロードを検索するには、このアラートに別のインスタンスがないかどうかを Log Analytics で確認するとともに、カスタムの詳細オブジェクト ([Extended Properties] にあります) をコピーします。 Azure portal の [ログ] ページ、または Defender ポータルの [高度な検出] ページで、Log Analytics データにアクセスします。 次のスクリーンショットは、上に示した JSON コードを使用しています。

    サンプルの JSON ペイロードを入力します。

  5. カスタム フィールドは、配列型の動的フィールドを使用する準備ができています。 ここで説明したように、配列とその項目は、スキーマと動的コンテンツの下に表示される一覧の両方に表示されます。

    スキーマで使用準備ができているフィールド。

次のステップ

この記事では、脅威に対応するために Microsoft Sentinel プレイブックでトリガーとアクションを使用する方法について詳しく学習しました。