プレイブックは、インシデント全体、個々のアラート、または特定のエンティティに対応して Microsoft Sentinel から実行できる手続きのコレクションです。 プレイブックは、応答の自動化と調整に役立ち、特定のアラートが生成されたとき、またはインシデントが作成または更新されたときに自動的に実行されるように自動化ルールにアタッチできます。 また、特定のインシデント、アラート、またはエンティティに対し、オンデマンドで、手動でプレイブックを実行することもできます。
この記事では、Microsoft Sentinel プレイブックを作成して管理する方法について説明します。 これらのプレイブックは、後で分析ルールまたは自動化ルールにアタッチすることも、特定のインシデント、アラート、またはエンティティに対して手動で実行することもできます。
注
Microsoft Sentinel のプレイブックは 、Azure Logic Apps に組み込まれているワークフローに基づいています。つまり、ロジック アプリのすべての機能、カスタマイズ性、組み込みのテンプレートを取得できます。 追加料金が適用される場合があります。 価格情報については、 Azure Logic Apps の価格に関するページを参照してください。
重要
Microsoft Sentinel は、Microsoft Defender XDR または E5 ライセンスを持たないお客様を含め、Microsoft Defender ポータルで一般提供されています。 詳細については、 Microsoft Defender ポータルの Microsoft Sentinel を参照してください。
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをお持ちでない場合は、 無料の Azure アカウントにサインアップしてください。
プレイブックを作成して管理するには、次のいずれかの Azure ロールを使用して Microsoft Sentinel にアクセスする必要があります。
ロジック アプリ Azure ロール 説明 従量課金プラン ロジック アプリ共同作成者 ロジック アプリを編集および管理します。 従量課金プラン ロジック アプリ オペレーター ロジック アプリの読み取り、有効化、無効化を行います。 スタンダード Logic Apps Standard オペレーター ワークフローの有効化、再送信、無効化を行います。 スタンダード Logic Apps Standard Developer ワークフローを作成および編集します。 スタンダード Logic Apps 標準共同作成者 ワークフローのすべての側面を管理します。 詳しくは、次のドキュメントをご覧ください。
プレイブックを作成する前に、 Azure Logic Apps for Microsoft Sentinel プレイブックをお読みすることをお勧めします。
プレイブックを作成する
Microsoft Sentinel に新しいプレイブックを作成するには、これらの手順に従います。
Defender ポータルまたは Azure portal で、Microsoft Sentinel ワークスペースに移動します。 ワークスペース メニューの [ 構成] で、[Automation] を選択 します。
上部のメニューから [ 作成] を選択し、次のいずれかのオプションを選択します。
従量課金プレイブックを作成する場合は、使用するトリガーに応じて次のいずれかのオプションを選択し、従量課金ロジック アプリの手順に従います。
- インシデント トリガーを使用したプレイブック
- アラート トリガーを使用したプレイブック
- エンティティ トリガーを使用したプレイブック
このガイドは、 エンティティ トリガーを含むプレイブックに進みます。
Standard プレイブックを作成する場合は、[空のプレイブック] を選択し、Standard ロジック アプリの種類の手順に従います。
詳細については、「 サポートされているロジック アプリの種類 」と「 Microsoft Sentinel プレイブックでサポートされているトリガーとアクション」を参照してください。
プレイブックのロジック アプリを準備する
プレイブックのロジック アプリを作成する方法の詳細については、従量課金または Standard のどちらのロジック アプリを使用するかに応じて、次のタブのいずれかを選択します。 詳細については、「 サポートされているロジック アプリの種類」を参照してください。
ヒント
プレイブックで、Azure 仮想ネットワーク内または Azure 仮想ネットワークに接続されている保護されたリソースにアクセスする必要がある場合は、 Standard ロジック アプリ ワークフローを作成します。
Standard ワークフローはシングルテナントの Azure Logic Apps で実行され、受信トラフィックにプライベート エンドポイントの使用がサポートされているため、ワークフローは仮想ネットワークとプライベートかつ安全に通信できます。 標準ワークフローでは、送信トラフィックに仮想ネットワーク統合もサポートされます。 詳細については、 プライベート エンドポイントを使用した仮想ネットワークとシングルテナントの Azure Logic Apps 間のトラフィックのセキュリティ保護に関するページを参照してください。
インシデント、アラート、またはエンティティ トリガーを含むトリガーを選択すると、次に例を示す プレイブックの作成 ウィザードが表示されます。
プレイブックを作成するには、次の手順に従います。
[ 基本 ] タブで、次の情報を指定します。
[ サブスクリプション ] と [リソース] グループで、それぞれのリストから目的の値を選択します。
リージョンの値は、関連付けられている Log Analytics ワークスペースと同じリージョンに設定されます。
プレイブック名には、プレイブックの名前を入力します。
診断目的でこのプレイブックのアクティビティを監視するには、[ Log Analytics で診断ログを有効にする] を選択し、ワークスペースを既に選択していない限り 、Log Analytics ワークスペース を選択します。
[次へ: 接続>] を選択します。
[ 接続 ] タブでは、既定値のままにすることをお勧めします。この既定値は、マネージド ID を使用して Microsoft Sentinel に接続するようにロジック アプリを構成します。
詳細については、「 Microsoft Sentinel に対するプレイブックの認証」を参照してください。
続行するには、[次へ: 確認して>を作成する] を選択します。
[ 確認と作成 ] タブで、構成の選択内容を確認し、[ プレイブックの作成] を選択します。
Azure でプレイブックを作成してデプロイするには数分かかります。 デプロイが完了すると、 Azure Logic Apps の従量課金ワークフロー デザイナーでプレイブックが開きます。 先ほど選択したトリガーがワークフローの最初のステップとして自動的に表示されるので、ここからワークフローの構築を続けることができます。
デザイナーで、Microsoft Sentinel トリガーを選択します (まだ選択されていない場合)。
[ 接続の作成 ] ウィンドウで、次の手順に従って、Microsoft Sentinel に接続するために必要な情報を指定します。
[認証] では、後続の接続パラメーターに影響する次の方法から選択します。
メソッド 説明 OAuth Open Authorization (OAuth) は、パスワードなどの個人情報を公開することなく、アプリまたはサービスが別のアプリまたはサービスにサインインすることを承認できるテクノロジ標準です。 OAuth 2.0 は認可のための業界プロトコルであり、保護されたリソースへの制限付きアクセスを許可します。 詳細については、次のリソースを参照してください。
- OAuth とは
- Microsoft Entra ID を使用した OAuth 2.0 承認サービス プリンシパル サービス プリンシパルは、Microsoft Entra テナントによってセキュリティ保護されているリソースへのアクセスを必要とするエンティティを表します。 詳細については、「 サービス プリンシパル オブジェクト」を参照してください。 マネージド ID Microsoft Entra ID で自動的に管理される ID。 アプリはこの ID を使用して、Microsoft Entra 認証をサポートするリソースにアクセスし、資格情報を管理することなく Microsoft Entra トークンを取得できます。
最適なセキュリティを確保するために、可能な場合はマネージド ID を認証に使用することをお勧めします。 このオプションによって優れたセキュリティが提供され、認証情報が安全に保たれます。この機密情報をユーザー側で管理する必要がなくなります。 詳細については、次のリソースを参照してください。
- Azure リソースのマネージド ID とは
- Azure Logic Apps でマネージド ID を使用して、Azure リソースへのアクセスと接続を認証します。詳細については、「 認証プロンプト」を参照してください。
選択した認証オプションに基づいて、対応するオプションに必要なパラメーター値を指定します。
これらのパラメーターの詳細については、 Microsoft Sentinel コネクタ リファレンスを参照してください。
テナント IDでは、Microsoft Entra テナント ID を選択してください。
完了したら、[サインイン] を選択 します。
以前に エンティティ トリガーを使用してプレイブックを選択した場合は、このプレイブックを入力として受信するエンティティの種類を選択します。
認証プロンプト
認証を必要とするトリガーまたは後続のアクションを追加すると、対応するリソース プロバイダーでサポートされている使用可能な認証の種類から選択するように求められる場合があります。 この例では、Microsoft Sentinel トリガーは、ワークフローに追加する最初の操作です。 そのため、リソース プロバイダーは Microsoft Sentinel であり、複数の認証オプションをサポートしています。 詳しくは、次のドキュメントをご覧ください。
プレイブックにアクションを追加する
これでプレイブックのワークフローが作成されたので、プレイブックを呼び出すときの動作を定義します。 アクション、論理条件、ループ、または切り替えのケース条件をすべて追加するには、デザイナーで正符号 (+) を選択します。 詳細については、「 トリガーまたはアクションを使用してワークフローを作成する」を参照してください。
この選択により、[ アクションの追加 ] ウィンドウが開き、サービス、アプリケーション、システム、制御フロー アクションなどを参照または検索できます。 検索語句を入力するか、目的のリソースを選択すると、結果の一覧に使用可能なアクションが表示されます。
各アクションでは、フィールド内で選択すると、次のオプションが表示されます。
動的コンテンツ (稲妻アイコン): Microsoft Sentinel トリガーを含む、ワークフロー内の上記のアクションから使用可能な出力の一覧から選択します。 たとえば、これらの出力には、プレイブックに渡されたアラートまたはインシデントの属性 (マップされたすべての エンティティ の値と属性、アラートまたはインシデントの カスタムの詳細 など) を含めることができます。 現在のアクションへの参照を追加するには、これらの出力を選択します。
動的コンテンツの使用例については、次のセクションを参照してください。
式エディター (関数アイコン): ワークフローにロジックを追加するには、関数の大規模なライブラリから選択します。
詳細については、「 Microsoft Sentinel プレイブックでサポートされているトリガーとアクション」を参照してください。
動的コンテンツ: インシデント ID のないエンティティ プレイブック
Microsoft Sentinel エンティティ トリガーで作成されたプレイブックでは、多くの場合、インシデント ARM ID フィールドが使用されます。たとえば、エンティティに対してアクションを実行した後にインシデントを更新します。 このようなプレイブックが、インシデントに関係のないシナリオ (たとえば、脅威ハンティングの場合など) でトリガーされた場合、このフィールドに設定できるインシデント ID はありません。 代わりに、このフィールドには null 値が設定されます。 その結果、プレイブックの実行を完了できない可能性があります。
このエラーを回避するには、ワークフローが他のアクションを実行する前に、[インシデント ID] フィールドの値をチェックする条件を作成することをお勧めします。 プレイブックがインシデントから実行されていないために、フィールドに null 値が設定されている場合に実行する別のアクション セットを指定できます。
ワークフローで、[ インシデント ARM ID ] フィールドを参照する最初のアクションの前に 、次の一般的な手順に従って 条件 アクションを追加します。
条件ペインの条件行で、左側の [値の選択] フィールドを選択し、動的コンテンツ オプション (稲妻アイコン) を選択します。
動的コンテンツリストの Microsoft Sentinel インシデントで、検索ボックスを使用して インシデント ARM ID を検索して選択します。
ヒント
出力が一覧に表示されない場合は、トリガー名の横にある [ 詳細] を選択します。
中央フィールドで、演算子リストから等しくないを選択します。
右側の [値の選択 ] フィールドで、式エディター オプション (関数アイコン) を選択します。
エディターで 「null」と入力し、[ 追加] を選択します。
完了すると、条件は次の例のようになります。
動的コンテンツ: カスタム詳細を操作する
Microsoft Sentinel インシデント トリガーでは、アラートのカスタム詳細出力は JSON オブジェクトの配列であり、それぞれがアラートのカスタム詳細を表します。 カスタム詳細は、キーと値のペアです。これを使用すると、アラート内のイベントからの情報を表示できるため、イベントをインシデントの一部として表現、追跡、分析することができます。
アラートのこのフィールドはカスタマイズ可能であるため、スキーマは、表示されるイベントの種類によって異なります。 カスタム詳細出力を解析する方法を決定するスキーマを生成するには、このイベントのインスタンスからのデータを指定します。
Microsoft Sentinel ワークスペース メニューの [構成] で、[ 分析] を選択します。
既存の スケジュールされたクエリ ルール または NRT クエリ ルールを作成または開く手順に従います。
[ルール ロジックの設定] タブで、[カスタムの詳細] セクションを展開します。次に例を示します。
次の表は、これらのキーと値のペアの詳細情報を示しています。
項目 場所 説明 鍵 左列 作成するカスタム フィールドを表します。 価値 右列 カスタム フィールドを設定するイベント データのフィールドを表します。 スキーマを生成するには、次の JSON コード例を指定します。
{ "FirstCustomField": [ "1", "2" ], "SecondCustomField": [ "a", "b" ] }
このコードは、キーを配列として、値を配列内の項目として示します。 値は、値を含む列としてではなく、実際の値として示されます。
インシデント トリガーにカスタム フィールドを使用するには、ワークフローで次の手順に従います。
ワークフロー デザイナーの Microsoft Sentinel インシデント トリガーで、[ JSON の解析] という名前の組み込みアクションを追加します。
アクションの Content パラメーター内を選択し、動的コンテンツ リスト オプション (稲妻アイコン) を選択します。
一覧のインシデント トリガー セクションで、[ アラートのカスタム詳細] を見つけて選択します。次に例を示します。
インシデントにはアラートの配列が含まれているため、この選択により、JSON の解析に関する For each ループが自動的に追加されます。
[JSON 情報の 解析 ] ウィンドウで、[ サンプル ペイロードを使用してスキーマを生成する] を選択します。次に例を示します。
[ サンプル JSON ペイロードの入力または貼り付け ] ボックスにサンプル ペイロードを入力し、[ 完了] を選択します。
たとえば、Log Analytics でこのアラートの別のインスタンスを探し、カスタム詳細オブジェクトをコピーすることで、サンプル ペイロードを見つけることができます。このオブジェクトは[ 拡張プロパティ] の下にあります。 Log Analytics データにアクセスするには、Azure portal の [ログ ] ページまたは Defender ポータルの [高度なハンティング ] ページに移動します。
次の例は、前述のサンプル JSON コードを示しています。
完了すると、[ スキーマ ] ボックスに、指定したサンプルに基づいて生成されたスキーマが含まれるようになりました。 JSON の解析アクションでは、ワークフローの後続のアクションで Array 型の動的フィールドとして使用できるカスタム フィールドが作成されます。
次の例は、スキーマと、 Compose という名前の後続のアクションの動的コンテンツ リストの両方に配列とその項目を示しています。
プレイブックを管理する
[オートメーション] > [アクティブなプレイブック] タブの順に選択して、アクセスできるすべてのプレイブックをサブスクリプション ビューでフィルター処理して表示します。
Microsoft Defender ポータルにオンボードした後、既定では、[ アクティブなプレイブック ] タブには、オンボードされたワークスペースのサブスクリプションを含む定義済みのフィルターが表示されます。 Azure portal で、グローバル Azure ページ ヘッダーの [ディレクトリ + サブスクリプション ] メニューから表示されているサブスクリプションを編集します。
[アクティブなプレイブック] タブには、選択したサブスクリプションで利用可能なすべてのアクティブなプレイブックが表示されますが、プレイブックのリソース グループに対して Microsoft Sentinel のアクセス許可を明示的に付与しない限り、既定ではプレイブックは、そのプレイブックが属するサブスクリプション内でのみ使用できます。
[ アクティブなプレイブック ] タブには、プレイブックと次の詳細が表示されます。
列名 | 説明 |
---|---|
地位 | プレイブックが有効か無効かを示します。 |
計画 | プレイブックで Standard または Consumption の Azure Logic Apps リソースの種類を使用するかどうかを示します。 Standard 型のプレイブックでは、 LogicApp/Workflow 名前付け規則が使用されます。これは、Standard プレイブックが 1 つのロジック アプリ内の他のワークフローと共に存在するワークフローを表す方法を反映しています。 詳細については、「 Azure Logic Apps for Microsoft Sentinel プレイブック」を参照してください。 |
トリガーの種類 | このプレイブックを開始する Azure Logic Apps のトリガーを示します。 - Microsoft Sentinel インシデント/アラート/エンティティ: プレイブックは、インシデント、アラート、エンティティなど、Sentinel トリガーのいずれかで開始されます - Microsoft Sentinel アクションの使用: プレイブックは Microsoft Sentinel 以外のトリガーで開始されますが、Microsoft Sentinel アクションを使用します - その他: プレイブックには Microsoft Sentinel コンポーネントが含まれていません - 初期化されていません: プレイブックは作成されましたが、コンポーネントは含まれていません。どちらの場合もアクションはトリガーされません。 |
プレイブックを選択して、その Azure Logic Apps ページを開きます。このページには、プレイブックに関するより多くの詳細が表示されます。 Azure Logic Apps ページで次の操作を行います。
- プレイブックが実行されたすべての時刻のログを表示します
- 成功や失敗、その他の詳細などの実行結果を表示します
- 関連するアクセス許可がある場合、Azure Logic Apps でワークフロー デザイナーを開いてプレイブックを直接編集します
関連するコンテンツ
プレイブックを作成したら、それを、環境内のイベントによってトリガーされるルールにアタッチするか、特定のインシデント、アラート、またはエンティティに対してプレイブックを手動で実行します。
詳細については、以下を参照してください: