Microsoft Sentinel プレイブックを作成して管理する
プレイブックは、インシデント全体、個々のアラート、または特定のエンティティに対応して Microsoft Sentinel から実行できる手続きのコレクションです。 プレイブックは、対応の自動化と調整に役立ちます。プレイブックを分析ルールまたは自動化ルールにアタッチすると、特定のアラートが生成された場合、またはインシデントが作成または更新された場合に自動的に実行できます。 また、特定のインシデント、アラート、またはエンティティに対し、オンデマンドで、手動でプレイブックを実行することもできます。
この記事では、Microsoft Sentinel プレイブックを作成して管理する方法について説明します。 これらのプレイブックは、後で分析ルールまたは自動化ルールにアタッチすることも、特定のインシデント、アラート、またはエンティティに対して手動で実行することもできます。
Note
Microsoft Sentinel のプレイブックは Azure Logic Apps で構築されたワークフローをベースにしています。これは、Logic Apps のすべての機能、カスタマイズ性、組み込みテンプレートを利用できることを意味します。 追加料金が適用される場合があります。 価格情報については、Azure Logic Apps の価格ページを参照してください。
重要
Microsoft Sentinel は現在、Microsoft Defender ポータルの Microsoft 統合セキュリティ オペレーション プラットフォーム内で一般提供されています。 詳しくは、「Microsoft Defender ポータルの Microsoft Sentinel」を参照してください。
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
プレイブックを作成して管理するには、次のいずれかの Azure ロールを使用して Microsoft Sentinel にアクセスする必要があります。
ロジック アプリ Azure ロール 説明 従量課金プラン Logic App Contributor ロジック アプリを編集および管理します。 従量課金プラン Logic App Operator ロジック アプリの読み取り、有効化、無効化を行います。 Standard Logic Apps Standard Operator ワークフローの有効化、再送信、無効化を行います。 Standard Logic Apps Standard Developer ワークフローを作成および編集します。 Standard Logic Apps Standard Contributor ワークフローのすべての側面を管理します。 詳しくは、次のドキュメントをご覧ください。
プレイブックを作成する前に、「Microsoft Sentinel プレイブック用 Azure Logic Apps」を読むことをお勧めします。
プレイブックを作成する
Microsoft Sentinel に新しいプレイブックを作成するには、これらの手順に従います。
Azure portal または Defender ポータルで Microsoft Sentinel ワークスペースに移動します。 ワークスペース メニューの [構成] で [オートメーション] を選択します。
上部のメニューで [作成]を選択し、次のいずれかのオプションを選択します。
従量課金のプレイブックを作成する場合は、使用するトリガーに応じて次のいずれかのオプションを選択し、従量課金ロジック アプリの手順に従います。
- インシデント トリガーを使用したプレイブック
- アラート トリガーを使用したプレイブック
- エンティティ トリガーを使用したプレイブック
このガイドでは、エンティティ トリガーを使用したプレイブックを選択して続行します。
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 に接続するために必要な情報を指定します。
[認証] で、次の方法から選択します。これは後続の接続パラメーターに影響します。
Method 説明 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 クエリ ルールを作成または開きます。
[ルール ロジックの設定] タブで、[カスタム詳細] セクションを展開します。次に例を示します。
次の表は、これらのキーと値のペアの詳細情報を示しています。
項目 場所 説明 Key 左列 作成するカスタム フィールドを表します。 Value 右列 カスタム フィールドを設定するイベント データのフィールドを表します。 スキーマを生成するには、次の JSON コード例を指定します。
{ "FirstCustomField": [ "1", "2" ], "SecondCustomField": [ "a", "b" ] }
このコードは、キーを配列として、値を配列内の項目として示します。 値は、値を含む列としてではなく、実際の値として示されます。
インシデント トリガーにカスタム フィールドを使用するには、ワークフローで次の手順に従います。
ワークフロー デザイナーの [Microsoft Sentinel インシデント] トリガーで、Parse JSON という名前の組み込みアクションを追加します。
アクションの [コンテンツ] パラメーター内を選択し、動的コンテンツ リスト オプション (稲妻アイコン) を選択します。
一覧のインシデント トリガーの選択で、[アラートのカスタム詳細] を検索して選択します。次に例を示します。
インシデントにはアラートの配列が含まれているため、この選択により、[Parse JSON] の周りに [For each] ループが自動的に追加されます。
[Parse JSON] 情報ペインで、[サンプル ペイロードを使用してスキーマを生成する] を選択します。次に例を示します。
[サンプル JSON ペイロードを入力または貼り付ける] ボックスにサンプル ペイロードを指定し、[完了] を選択します。
たとえば、Log Analytics でこのアラートの別のインスタンス探して、[拡張プロパティ] の下にあるカスタム詳細オブジェクトをコピーすると、サンプル ペイロードを見つけることができます。 Log Analytics データにアクセスするには、Azure portal の [ログ] ページ、または Defender ポータルの [高度な追求] ページに移動します。
次の例は、前述のサンプル JSON コードを示しています。
完了すると、[スキーマ] ボックスに、指定したサンプルに基づいて生成されたスキーマが含まれるようになりました。 [Parse JSON] アクションによってカスタム フィールドが作成され、ワークフローの後続のアクションで [配列] 型の動的フィールドとして使用できるようになりました。
次の例は、スキーマと動的コンテンツ リストの両方における、Compose という名前の後続のアクションに対する配列とその項目を示しています。
プレイブックを管理する
[自動化] > [アクティブなプレイブック] タブの順に選択して、アクセスできるすべてのプレイブックをサブスクリプション ビューでフィルター処理して表示します。
統合セキュリティ オペレーション プラットフォームにオンボードすると、既定では、[アクティブなプレイブック] タブに、オンボードされたワークスペースのサブスクリプションを含む定義済みのフィルターが表示されます。 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 でワークフロー デザイナーを開いてプレイブックを直接編集します
関連するコンテンツ
プレイブックを作成したら、それを、環境内のイベントによってトリガーされるルールにアタッチするか、特定のインシデント、アラート、またはエンティティに対してプレイブックを手動で実行します。
詳細については、以下を参照してください: