Microsoft Sentinel のログを収集する
このドキュメントでは、Logic Apps と Webhook を使用してインシデントとアラートを Google Security Operations に送信するように Microsoft Sentinel を構成する方法について説明します。
Microsoft Sentinel は、クラウドネイティブのセキュリティ情報およびイベント管理(SIEM)とセキュリティ オーケストレーション、自動化、レスポンス(SOAR)ソリューションです。企業全体でインテリジェントなセキュリティ分析と脅威インテリジェンスを提供します。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- 次の権限を持つ Microsoft Azure ポータルへの特権アクセス権:
- Logic Apps を作成する
- Microsoft Sentinel の自動化ルールを構成する
- リソース グループの権限を管理する
- サービス プリンシパルを作成して管理する
- Google Cloud コンソールへのアクセス(API キーの作成用)
Google SecOps で Webhook フィードを作成する
フィードを作成する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Microsoft Sentinel Incidents)。 - [Source type] として [Webhook] を選択します。
- [Log type] として [Microsoft Sentinel] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- 分割区切り文字(省略可): 空のままにします(各インシデントまたはアラートは単一のイベントです)。
- アセットの名前空間: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
秘密鍵を生成して保存する
フィードを作成したら、認証用のシークレット キーを生成する必要があります。
- フィードの詳細ページで、[シークレット キーを生成] をクリックします。
- ダイアログに秘密鍵が表示されます。
秘密鍵をコピーして安全に保存します。
フィード エンドポイントの URL を取得する
- フィードの [詳細] タブに移動します。
- [エンドポイント情報] セクションで、[フィード エンドポイント URL] をコピーします。
URL の形式は次のとおりです。
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateまたは
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate次の手順で使用するため、この URL を保存します。
[完了] をクリックします。
Google Cloud API キーを作成する
Google SecOps では、認証に API キーが必要です。 Google Cloud コンソールで制限付き API キーを作成します。
API キーを作成する
- Google Cloud コンソールの [認証情報] ページに移動します。
- プロジェクト(Google SecOps インスタンスに関連付けられているプロジェクト)を選択します。
- [認証情報を作成> API キー] をクリックします。
- API キーが作成され、ダイアログに表示されます。
- [API キーを編集] をクリックして、キーを制限します。
API キーを制限する
- [API キー] 設定ページで、次の操作を行います。
- 名前: わかりやすい名前を入力します(例:
Google SecOps Webhook API Key)。
- 名前: わかりやすい名前を入力します(例:
- [API の制限] で次の操作を行います。
- [キーを制限] を選択します。
- [API を選択] リストで、[Google SecOps API](または [Chronicle API])を検索して選択します。
- [保存] をクリックします。
- ページ上部の [API キー] フィールドから API キーの値をコピーします。
API キーを安全に保存します。
Microsoft Sentinel インシデントの Logic App を構成する
このセクションでは、Microsoft Sentinel インシデントを Google SecOps に送信するように Logic App を構成します。
Logic App を作成する
- Azure Portal にログインします。
- [Create a resource] をクリックします。
- [Logic App] を検索します。
- [Create] をクリックして作成プロセスを開始します。
- 次の入力パラメータの値を指定します。
- Subscription: サブスクリプションを選択します。
- Resource group: リソース グループを選択します。
- 名前: Logic App の名前を入力します(例:
Sentinel-Incidents-to-SecOps)。 - Region: リージョンを選択します。
- Log Analytics workspace: Log Analytics ワークスペースを選択します。
- [Review + create] をクリックします。
- [作成] をクリックします。
- Logic App が作成されたら、[Go to resource] をクリックします。
Logic App デザイナーを構成する
- [Development Tools] > [Logic App Designer] をクリックします。
- [Add a trigger] をクリックします。
- [Microsoft Sentinel] を検索します。
- トリガーとして [Microsoft Sentinel incident] を選択します。
- Microsoft Sentinel への接続をまだ作成していない場合は、ここで作成する必要があります。
- [Create new] をクリックし、画面の指示に沿って認証します。
- [マネージド ID でログイン](推奨)または [ログイン] を選択して、認証情報を使用します。
- [Insert a new step] をクリックします。
- [Add an action] をクリックします。
- アクションとして [HTTP] を検索して選択します。
- 次の入力パラメータの値を指定します。
- URI: Google SecOps フィードからフィード エンドポイント URL を貼り付けます。
- Method: [POST] を選択します。
- Headers: 次のヘッダーを追加します。
- ヘッダー名:
X-goog-api-key - 値: 前に作成した API キーを貼り付けます。
- ヘッダー名:
X-Webhook-Access-Key - 値: フィードの作成時に生成された秘密鍵を貼り付けます。
- ヘッダー名:
- [Body] フィールドをクリックします。
- ダイナミック コンテンツ パネルで [式] タブをクリックします。
式フィールドに「
@{triggerBody()}」と入力して [OK] をクリックします。[保存] をクリックして、Logic App を保存します。
Logic App を実行する権限を Microsoft Sentinel に付与する
自動化ルールで Logic App を正常にトリガーするには、2 つの個別の権限割り当てが必要です。
権限 1: Logic App のマネージド ID に Sentinel ワークスペースへのアクセス権を付与する
Logic App のマネージド ID には、Microsoft Sentinel ワークスペースからインシデントを読み取る権限が必要です。
Logic App のマネージド ID を有効にする
- Azure Portal で、Logic App リソース(
Sentinel-Incidents-to-SecOps)に移動します。 - 左側のナビゲーションで、[設定] の [ID] を選択します。
- [システム割り当て] タブで、[ステータス] を [オン] に設定します。
- [保存] をクリックします。
- [はい] をクリックして確定します。
- 有効にしたら、表示されたオブジェクト(プリンシパル)ID をメモします。
Logic App に Microsoft Sentinel レスポンダー ロールを付与する
- Azure Portal で、Microsoft Sentinel ワークスペースに移動します。
- 左側のナビゲーションで、[設定] の [アクセス制御(IAM)] を選択します。
- [+ 追加 > ロールの割り当てを追加] をクリックします。
- [ロール] タブで、[Microsoft Sentinel レスポンダー] を検索して選択します。
- 代替手段: プレイブックがインシデントの読み取りのみを行う場合は、Microsoft Sentinel Reader ロールを使用します。
- [次へ] をクリックします。
- [メンバー] タブで、次のように構成します。
- アクセスを割り当てる: [マネージド ID] を選択します。
- [+ メンバーを選択] をクリックします。
- [マネージド ID] リストで、[Logic App] を選択します。
- リストから Logic App(
Sentinel-Incidents-to-SecOps)を選択します。
- [選択] をクリックします。
- [レビュー + 割り当て] をクリックします。
- もう一度 [確認して割り当てる] をクリックして確定します。
権限 2: リソース グループに対する Microsoft Sentinel 自動化権限を付与する
Microsoft Sentinel では、Logic App を含むリソース グループに対する Microsoft Sentinel Automation Contributor ロールが必要です。この権限がないと、自動化ルールでプレイブックをトリガーできません。
Sentinel UI を使用して自動化権限を付与する
- Azure Portal で、Microsoft Sentinel ワークスペースに移動します。
- [設定> 自動化] に移動します。
- ページ上部の [ハンドブックの権限を管理] をクリックします。
- [権限の管理] ペインで、次の構成を行います。
- Logic App(
Sentinel-Incidents-to-SecOps)を含むリソース グループを選択します。
- Logic App(
[適用] をクリックします。
自動化の権限を確認する(省略可)
- Azure Portal で、Logic App を含むリソース グループに移動します。
- 左側のナビゲーションで、[アクセス制御(IAM)] を選択します。
- [ロールの割り当て] をクリックします。
- Azure Security Insights を検索します。
Azure Security Insights に Microsoft Sentinel Automation Contributor ロールが付与されていることを確認します。
Logic App を含むリソース グループに移動します。
[Access control (IAM)] > [Add role assignment] を選択します。
[Microsoft Sentinel Automation Contributor] ロールを選択します。
[メンバー] で、[ユーザー、グループ、サービス プリンシパル] を選択します。
[+ Select members] をクリックし、Azure Security Insights を検索します。
[Azure Security Insights] を選択し、[選択] をクリックします。
[Review + assign] を 2 回クリックして確定します。
Microsoft Sentinel アラートの Logic App を構成する
このセクションでは、Microsoft Sentinel アラートを Google SecOps に送信する別の Logic App を構成します。
アラート用の Logic App を作成する
- Azure ポータルのホームページに移動します。
- [Create a resource] をクリックします。
- [Logic App] を検索します。
- [Create] をクリックして作成プロセスを開始します。
- 次の入力パラメータの値を指定します。
- Subscription: サブスクリプションを選択します。
- Resource group: リソース グループを選択します。
- 名前: Logic App の名前を入力します(例:
Sentinel-Alerts-to-SecOps)。 - Region: リージョンを選択します。
- Log Analytics workspace: Log Analytics ワークスペースを選択します。
- [Review + create] をクリックします。
- [作成] をクリックします。
- Logic App が作成されたら、[Go to resource] をクリックします。
アラート用に Logic App デザイナーを構成する
- [Development Tools] > [Logic App Designer] をクリックします。
- [Add a trigger] をクリックします。
- [Microsoft Sentinel] を検索します。
- トリガーとして [Microsoft Sentinel alert] を選択します。
- Microsoft Sentinel への接続をまだ作成していない場合は、ここで作成する必要があります。
- [Create new] をクリックし、画面の指示に沿って認証します。
- [マネージド ID でログイン](推奨)または [ログイン] を選択して、認証情報を使用します。
- [Insert a new step] をクリックします。
- [Add an action] をクリックします。
- アクションとして [HTTP] を検索して選択します。
- 次の入力パラメータの値を指定します。
- URI: Google SecOps フィードからフィード エンドポイント URL を貼り付けます。
- Method: [POST] を選択します。
- Headers: 次のヘッダーを追加します。
- ヘッダー名:
X-goog-api-key - 値: 前に作成した API キーを貼り付けます。
- ヘッダー名:
X-Webhook-Access-Key - 値: フィードの作成時に生成された秘密鍵を貼り付けます。
- ヘッダー名:
- [Body] フィールドをクリックします。
- ダイナミック コンテンツ パネルで [式] タブをクリックします。
式フィールドに「
@{triggerBody()}」と入力して [OK] をクリックします。[保存] をクリックして、Logic App を保存します。
アラート Logic App を実行する Microsoft Sentinel の権限を付与する
アラート Logic App には、インシデント Logic App の構成と同じように、2 つの別々の権限割り当てが必要です。
権限 1: アラートの Logic App マネージド ID に Sentinel ワークスペースへのアクセス権を付与する
アラート Logic App のマネージド ID には、Microsoft Sentinel ワークスペースからアラートを読み取る権限が必要です。
アラート Logic App のマネージド ID を有効にする
- Azure Portal で、アラートの Logic App リソース(
Sentinel-Alerts-to-SecOps)に移動します。 - 左側のナビゲーションで、[設定] の [ID] を選択します。
- [システム割り当て] タブで、[ステータス] を [オン] に設定します。
- [保存] をクリックします。
- [はい] をクリックして確定します。
- 有効にしたら、表示されたオブジェクト(プリンシパル)ID をメモします。
アラートの Logic App に Microsoft Sentinel レスポンダー ロールを付与する
- Azure Portal で、Microsoft Sentinel ワークスペースに移動します。
- 左側のナビゲーションで、[設定] の [アクセス制御(IAM)] を選択します。
- [+ 追加 > ロールの割り当てを追加] をクリックします。
- [ロール] タブで、[Microsoft Sentinel レスポンダー] を検索して選択します。
- 代替手段: プレイブックがアラートの読み取りのみを行う場合は、Microsoft Sentinel 閲覧者ロールを使用します。
- [次へ] をクリックします。
- [メンバー] タブで、次のように構成します。
- アクセスを割り当てる: [マネージド ID] を選択します。
- [+ メンバーを選択] をクリックします。
- [マネージド ID] リストで、[Logic App] を選択します。
- リストからアラートの Logic App(
Sentinel-Alerts-to-SecOps)を選択します。
- [選択] をクリックします。
- [レビュー + 割り当て] をクリックします。
- もう一度 [確認して割り当てる] をクリックして確定します。
権限 2: アラートの Microsoft Sentinel 自動化権限をリソース グループに付与する
Microsoft Sentinel では、アラートの Logic App を含むリソース グループに対する Microsoft Sentinel Automation Contributor ロールが必要です。
Sentinel UI を使用して自動化権限を付与する
- Azure Portal で、Microsoft Sentinel ワークスペースに移動します。
- [設定> 自動化] に移動します。
- ページ上部の [ハンドブックの権限を管理] をクリックします。
- [権限の管理] ペインで、次の構成を行います。
- アラートの Logic App(
Sentinel-Alerts-to-SecOps)を含むリソース グループを選択します。- インシデントの Logic App と同じリソース グループの場合は、すでに選択されている可能性があります。
- アラートの Logic App(
[適用] をクリックします。
アラート Logic App の自動化権限を確認する(省略可能)
- Azure Portal で、アラートの Logic App を含むリソース グループに移動します。
- 左側のナビゲーションで、[アクセス制御(IAM)] を選択します。
- [ロールの割り当て] をクリックします。
- Azure Security Insights を検索します。
- Azure Security Insights に Microsoft Sentinel Automation Contributor ロールが付与されていることを確認します。
Microsoft Sentinel の自動化ルールを構成する
自動化ルールは、Microsoft Sentinel でインシデントが作成または更新されると Logic Apps をトリガーします。
インシデント作成の自動化ルールを作成する
- Microsoft Sentinel ワークスペースに移動します。
- [構成] > [自動化] をクリックします。
- [作成] をクリックします。
- [Automation rule] を選択します。
- 次の入力パラメータの値を指定します。
- 名前: 自動化ルールの名前を入力します(
Send New Incidents to SecOpsなど)。 - Trigger: [When incident is created] を選択します。
- アクション: リストから [プレイブックを実行] を選択します。
- インシデント用に作成された Logic App(
Sentinel-Incidents-to-SecOps)を選択します。
- 名前: 自動化ルールの名前を入力します(
- [適用] をクリックします。
インシデントの更新に関する自動化ルールを作成する
- Microsoft Sentinel ワークスペースに移動します。
- [構成] > [自動化] をクリックします。
- [作成] をクリックします。
- [Automation rule] を選択します。
- 次の入力パラメータの値を指定します。
- 名前: 自動化ルールの名前を入力します(
Send Updated Incidents to SecOpsなど)。 - Trigger: [When incident is updated] を選択します。
- Condition: [Add] > [Condition (And)] > [Status] > [Changed] をクリックします。
- 名前: 自動化ルールの名前を入力します(
- [操作] セクションで、次の構成を行います。
- リストから [Run playbook] を選択します。
- インシデント用に作成された Logic App(
Sentinel-Incidents-to-SecOps)を選択します。
- [適用] をクリックします。
アラートの自動化ルールを作成する
- Microsoft Sentinel ワークスペースに移動します。
- [構成] > [自動化] をクリックします。
- [作成] をクリックします。
- [Automation rule] を選択します。
- 次の入力パラメータの値を指定します。
- 名前: 自動化ルールの名前を入力します(
Send Alerts to SecOpsなど)。 - Trigger: [When alert is created] を選択します。
- アクション: リストから [プレイブックを実行] を選択します。
- アラート用に作成した Logic App(
Sentinel-Alerts-to-SecOps)を選択します。
- 名前: 自動化ルールの名前を入力します(
- [適用] をクリックします。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。