Microsoft Sentinelで AI を使用してプレイブックを生成する

SOAR プレイブック ジェネレーターは、AI コーディング エージェントである Cline との会話エクスペリエンスを通じて共同編集された Python ベースの自動化ワークフローを作成します。 自動化ロジックを自然言語で記述し、完全なドキュメントと視覚的なフロー図を含む検証済みのコード ベースのプレイブックが生成されます。 プレイブック生成体験は、Defenderポータル内に埋め込まれたVS Code環境によって支えられており、ポータルを離れることなくプレイブックの作成や洗練が可能です。 生成されたプレイブックは、ターゲット プロバイダーの統合を構成する限り、アラート データを入力として使用し、必要な API 呼び出しを動的に生成します。

この記事では、AI を使用してプレイブックを生成し、必要な統合を構成し、自動化ワークフローをデプロイする方法について説明します。

AI搭載のプレイブックジェネレーターは、Microsoft Sentinelの顧客がMicrosoft Defenderポータルで利用可能です。 別途Microsoft Security CopilotライセンスやSecurity Compute Unitsは必要ありません。

プレイブックの生成には、次の機能があります。

  • AI との共同執筆: Defender ポータルに埋め込まれた VS Code 環境でホストされている AI コーディング エージェントである Cline との自然言語会話を通じてプレイブックを構築します。
  • テスト: プレイブックが生成されたら、実際のアラートを入力として提供することでテストできます。
  • 自動ドキュメント: 包括的なプレイブックドキュメントとビジュアルフロー図を自動的に生成する
  • サードパーティの統合: 統合プロファイルを介して外部ツールと API をシームレスに接続する
  • 広範なアラート カバレッジ: Microsoft Sentinel、Microsoft Defender、XDR プラットフォームからのアラートに自動化を適用する

Microsoft Defender ポータル内の埋め込み VS Code 環境がエクスペリエンスを強化します。 ポータルを離れずにプレイブックを作成および調整できます。

前提条件

プレイブックを生成するために事前のコーディング エクスペリエンスは必要ありませんが、VS Code や Entra ID アプリの登録などのツールを理解するのに役立ちます。

また、次の要件も満たす必要があります。

環境要件

  • Microsoft Sentinelワークスペース:Microsoft DefenderポータルにMicrosoft Sentinelワークスペースをオンボーディングしている必要があります。

必要な役割と権限

Microsoft Defender統合ロールベースのアクセス制御 (RBAC) には、次のアクセス許可が必要です。

  • プレイブックを作成・展開するには:

    • 自動化: 自動化プレイブック(読み書き)
  • 自動化ルールを作成するには:

    • Defender でそれらを含む該当のワークスペースまたはリソース グループに対するMicrosoft Sentinel Contributorロール

注:

アクセス許可は、割り当て後に有効になるまでに最大 2 時間かかる場合があります。

主な概念

プレイブックを生成する前に、プレイブック ジェネレーターが依存する次の概念を理解してください。

統合プロファイル

統合プロファイルは、生成されたプレイブックが外部 API と対話できるようにするセキュリティで保護された構成です。 各統合には、次のものが含まれます。

  • ベースURL
  • 認証方法
  • 必須の資格情報

プレイブック ジェネレーターは、構成された各統合プロファイルを使用して、対応するサービスの API 呼び出しを実行します。 統合が見つからない場合は、プレイブックの生成を続行する前に作成するように求められます。 Defender ポータルの [ Automation ] タブで統合プロファイルを一元的に管理します。プレイブックを作成する前に、必要なすべての統合を構成してください。

統合を追加するには、[Automation] タブから [ 統合 ] を選択するか、VS Code ページの上部にある [統合の追加] リンクを使用します。 既存の統合リンクの URL を編集することはできません。 必要に応じて新しい統合リンクを作成し、古い統合リンクを削除します。

拡張アラート トリガー

拡張アラート トリガーは、次の機能を提供することで、標準のアラート トリガーを超えて自動化機能を拡張します。

  • より広範な対象範囲: Microsoft Sentinel、Microsoft Defender、XDR プラットフォーム全体にわたるアラートを対象にします
  • テナント レベルのアプリケーション: 複数のワークスペース間で一貫性を確保する
  • 高度な条件: 自動化をトリガーするための詳細な条件を定義する

強化アラートトリガーは、生成されたプレイブックをセキュリティエコシステム全体で自動実行できるようにします。

新しいプレイブックを生成する

新しいプレイブックを生成するには、必要な統合プロファイルを構成し、埋め込み VS Code 環境にプレイブックを作成します。

手順 1. Graph API統合プロファイルを作成し、利用するその他の必要な統合を追加する

次の手順を実行して、Microsoft Entra ID アプリケーションを登録し、Graph API統合プロファイルを作成します。

  1. Azure portalで、[Microsoft Entra ID>Manage>アプリの登録 に移動します。

  2. [新規登録] を選択します。

    Microsoft Entra IDの [新しい登録] ページのスクリーンショット。

  3. 登録が完了したら、アプリの登録を選択し、[ 概要] に移動します。

  4. アプリケーション (クライアント) IDディレクトリ (テナント) ID をコピーします。 後で使用するために、これらの値を保存します。

  5. 管理>証明書とシークレット>クライアント シークレット の順に移動します。

  6. [ 新しいクライアント シークレット] を選択し、名前と有効期限を指定して、[ 追加] を選択します。

    Microsoft Entra IDの [新しいクライアント シークレット] ページのスクリーンショット。

  7. クライアント シークレット Value を すぐにコピーし、安全に保存します。 この値を再度取得することはできません。

統合プロファイルを作成する

アプリを登録したら、Microsoft Defender ポータルで統合プロファイルを作成します。

  1. Microsoft Defender ポータルで、[Microsoft Sentinel>Configuration>Automation] に移動します。

  2. [ 統合プロファイル] タブを 選択します。

  3. [ 作成] を 選択し、次の情報を指定します。

    フィールド
    統合名 わかりやすい名前 ("Graph Integration" など)
    説明 簡単な説明(例: "Microsoft Graph API との統合"
    基本 API URL https://graph.microsoft.com
    認証方法 OAuth2
    クライアント ID 前にコピーしたアプリケーション (クライアント) ID を貼り付けます
    クライアント シークレット 先ほどコピーしたクライアント シークレット値を貼り付けます
    トークン エンドポイント https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token
    ({TENANT_ID} をディレクトリ (テナント) ID に置き換えます)
    スコープ https://graph.microsoft.com/.default

    Microsoft Sentinelの [統合プロファイルの作成] ページのスクリーンショット。

  4. [Microsoft Graph /アプリケーション] の下で [SecurityAlert.Read.All] が一覧表示されていること、および [Status (状態)] が "Granted for <tenant>" (テナントに対して付与) になっていることを確認します。

Microsoft Entra IDの API アクセス許可のスクリーンショット。

追加の統合プロファイルを作成する

プレイブックで使用する他のサードパーティサービスの統合プロファイルを構成します。 各統合には、次のものが必要です。

  • 一意の名前と説明
  • サービスの基本 API URL
  • 認証方法 (OAuth2 クライアント資格情報、API キー、AWS 認証、ユーザーとパスワード、ベアラー/JWT、Hawk)
  • 選択した認証方法の適切な資格情報

注:

作成後に API URL と認証方法を変更することはできません。 統合の名前と説明のみを編集できます。

手順 2. 生成されたプレイブックを作成する

次の手順を実行して、Microsoft Defender ポータルで生成されたプレイブックを作成します。

  1. [ プレイブック ] タブを選択します。

  2. [ 作成>プレイブック ジェネレーター] を選択します

  3. プレイブックの名前を入力し、[続行] を選択 します

    埋め込み Visual Studio Code 環境が Cline で開きます。

    プレイブック ジェネレーターを使用した埋め込み Visual Studio Code 環境のスクリーンショット。

プラン モードで作業する

エディターが開くと、プレイブック ジェネレーター セッションが プラン モードで開始されます。 このモードでは、自動化の要件を説明し、プレイブック ジェネレーターによってレビューの計画が生成されます。

  1. チャット インターフェイスで、プレイブックの要件について詳しく説明します。 明示的に次のことを行います。

    • どのデータを処理するか
    • 実行するアクション
    • どの条件を評価するか
    • 予想される結果

    : "フィッシング アラートをトリガーするプレイブックを作成します。 送信者のメール アドレスを抽出します。 ユーザーがディレクトリに存在するかどうかを確認し、存在する場合は、アカウントを一時的に無効にして、セキュリティ チームに通知します。その他のプロンプト例については、「 ユース ケースの例」を参照してください。

  2. プレイブック ジェネレーターがドキュメントの URL を取得するための承認を要求する場合は、要求を承認します。 この承認により、プレイブック ジェネレーターは関連する API ドキュメントにアクセスして正確なコードを生成できます。

    埋め込み Visual Studio Code 環境の承認要求ダイアログのスクリーンショット。

  3. プレイブック ジェネレーターは要求を分析し、次の場合があります。

    • 明確な質問をする
    • Web 検索でアクセスできない場合は API ドキュメントを要求する
    • 統合プロファイルが見つからない場合に通知する
    • 予備計画とフロー図を生成する
  4. プレイブック ジェネレーターが不足している統合プロファイルを識別する場合:

    1. [ 保存] を 選択し、VS Code 環境を終了します。

    2. [統合プロファイル] タブで、不足している 統合プロファイルを 作成します。

    3. 続行するには、プレイブックの編集画面に戻ってください。

    埋め込み Visual Studio Code 環境に統合プロファイルが見つからないを示すスクリーンショット。

プランを確認して承認する

プレイブック ジェネレーターが計画を作成したら、コード生成に進む前に確認して承認します。

  1. 生成された計画とフロー図を慎重に確認します。

  2. 変更が必要な場合は、チャットの変更について説明します。 プレイブック ジェネレーターは、それに応じてプランを修正します。

  3. プランに満足したら、指示に従って Act モードに切り替えます。

    プレイブック ジェネレーターを使用した Act モードの埋め込み Visual Studio Code 環境のスクリーンショット。

Act モードでプレイブックを生成する

  1. プレイブックジェネレーターセッションをアクトモードに切り替えると、以下の機能を提供します:

    • Python の完全なプレイブック コード
    • コードの検証
    • 自然言語でのプレイブックの視覚的なフロー図と説明を含む包括的なドキュメント
  2. プレイブック ジェネレーターは、プレイブックのテストを実行するためのアラート ID をユーザーに求めます。 テストを実行する前に、プレイブック ジェネレーターは環境に適用される変更の概要を示し、ユーザーの承認の続行を要求します。

  3. プレイブックジェネレーターはコード生成の承認を求めることがあります。 承認なしの自動生成を有効にするには、[自動承認] の下の [編集] チェック ボックスをオンにします。

    埋め込み Visual Studio Code 環境の [Autoapprove] チェック ボックスのスクリーンショット。

    ヒント

    チャットで 「保存 」を選択すると、プレイブックジェネレーターが現在のステップを保存し、承認を確認します。 プレイブック全体は保存されません

プレイブックを検証して保存する

Important

新しく作成したプレイブックはデフォルトで無効化されています。 プレイブックを検証して保存した後、実行するには必ず有効化が必要です。

  1. 正確性を確保するには、生成されたコードとドキュメントを手動で確認します。

  2. Markdown 形式でドキュメントをプレビューするには:

    • Windows/Linux: Ctrl + Shift + V を押します
    • macOS: Cmd + Shift + V キーを押します
  3. エディターの左下にある [ 保存] を 選択します。

    プレイブックは無効な状態で作成されます。

  4. 完了したらエディターを閉じます。

    プレイブック ジェネレーターで作成されたアラート通知のプレビューのスクリーンショット。

プレイブックを有効化してデプロイする

作成後、生成されたプレイブックでは、応答の自動化を開始するためにアクティブ化とアラート トリガーが必要です。

プレイブックを有効にする

生成されたプレイブックは無効な状態で作成されます。 次の手順を実行してプレイブックを有効にします。

  1. [ オートメーション ] ページで、[ アクティブなプレイブック ] タブを選択します。

  2. 新しく作成したプレイブックを探します。

  3. プレイブックの状態を [アクティブ化] に切り替えます。

拡張アラート トリガーを作成する

特定のアラート条件が満たされたときにプレイブックを自動的に実行する拡張アラート トリガーを作成します。

  1. [ Automation Rules]\(オートメーションルール\) タブに移動します。

  2. [ 作成] を 選択して、拡張トリガーを使用して新しいルールを定義します。

  3. トリガー条件を設定します。

    設定 説明
    条件 アラート タイトル、重大度、プロバイダー、その他の属性などの条件を定義する
    ワークスペース このルールが適用される 1 つ以上のワークスペースを選択します。 追加のアクセス許可を必要とするワークスペースが淡色表示される
    アクション [ Playbook の実行 ] を選択し、有効なプレイブックを選択します
  4. [保存] を選択します。

生成されたプレイブックは、指定した条件に一致するアラートが生成されたときに自動的に実行されるようになりました。

ヒント

拡張アラート トリガーは、テナント レベルで機能します。 複数のワークスペースとアラート ソースに自動化を適用して、包括的なカバレッジを実現できます。

プレイブックの実行を監視する

生成されたプレイブックの実行の詳細を表示するには:

  1. 関連するアラートが含まれているインシデント ページに移動します。

  2. [アクティビティ] タブを選択します。

  3. 実行プレイブックというラベルが付いた行を見つけて、実行の状態と詳細を表示します。

注:

自動化ルールの実行結果は、[インシデント アクティビティ] タブで表示できますが、Microsoft Sentinel正常性テーブルには表示されません。

使用例

一般的なシナリオのプレイブックを生成するために使用できるプロンプトの例を次に示します。

  • VirusTotal データを使用してアラート URL エンティティをエンリッチし、関連するインシデントにコメントとして結果を追加するプレイブックを作成します。
  • AWS IAM ユーザーをブロックし、アラートを John に割り当て、重大度の高いアラートに IAM ユーザー エンティティが含まれている場合に修復コメントを追加するプレイブックを作成します。

AI生成プレイブックの限界

生成されたプレイブックを使用する場合は、次の制限事項に注意してください。

プレイブックの制限事項

生成されるプレイブックには、次の制限があります。

  • 言語のサポート: プレイブックの作成では Python のみがサポートされています
  • 入力制約: プレイブックは現在、唯一の入力の種類としてアラートを受け入れます
  • 同時編集: 1 人のユーザーが一度に編集できるプレイブックは 1 つだけです。 ただし、複数のユーザーが異なるプレイブックを同時に編集できます
  • ライブラリのサポート: 外部ライブラリは現在サポートされていません
  • コード検証: コードの自動検証は提供されません。 ユーザーは手動で正確性を確認する必要があります
  • プレイブックの数: テナントごとに最大 100 個のプレイブックを作成できます
  • プレイブックのサイズ: 各プレイブックには最大 5,000 行を使用できます
  • ランタイム: プレイブックの実行あたりの最大ランタイムは 10 分です
  • 統合: テナントあたりの統合の最大数は 500 です。
  • AI 対話: テナントあたり 1 日あたり最大 800 万トークン
  • プレイブックの入れ子: プレイブック間の呼び出しはサポートされていません。 プレイブックは別のプレイブックを呼び出すことはできません。

統合プロファイルの制限事項

統合プロファイルには、次の制限があります。

  • 統合の制限事項: Microsoft Graph とAzure Resource Manager統合は既定では有効になっていないので、手動で作成する必要があります
  • 認証方法: 使用可能な方法には、OAuth2 クライアント資格情報、API キー、AWS 認証、ユーザーとパスワード、ベアラー/JWT 認証、Hawk が含まれます
  • 統合構成: API URL と認証方法は、作成後に変更できません

オートメーション ルールアラートトリガーの制限事項

拡張アラート トリガー ルールには、次の制限があります。

  • トリガーの制限事項: 拡張アラート トリガー ルールでは、優先順位の順序付けや有効期限がサポートされていません
  • 使用可能なアクション: 現在、使用可能なアクションは、生成されたプレイブックのトリガーとアクション アラートの更新のみです
  • ワークスペースのアクセス許可 – アクセス許可 を持つワークスペースを明示的に指定する必要があります。トリガーは、アクセスできないワークスペースには適用されません。
  • 別個のルール テーブル – 拡張アラート トリガー ルールは、Standard アラート トリガー ルールと並んで、別個の Automation Rules テーブル内に存在します。 現時点では、Standardアラート トリガー ルールの自動移行はありません。
  • 実行結果の可視性 – オートメーション ルールの実行結果は、Sentinel正常性テーブルに書き込まれません。 ただし、対象となるアラートを含む [インシデント] の [アクティビティ] タブ で、実行とその結果を表示できます。
  • 作成できるアクティブな自動化ルールの最大数は、テナントごとに 500 です。
  • ルールごとに 1 つのアクションを実行できます。