Microsoft Sentinel リポジトリを使用してコンテンツをコードとして管理する

Microsoft Sentinel リポジトリを使用すると、継続的インテグレーション/継続的デリバリー (CI/CD) のために、外部ソース管理リポジトリからカスタム Sentinel コンテンツをデプロイおよび管理できます。 この自動化により、ワークスペース間でカスタム コンテンツを更新およびデプロイするための手動プロセスの必要性が排除されます。 コードとしてのコンテンツのサブセットは、コードとしての 検出 (DaC) です。 Microsoft Sentinelリポジトリでは、DaC も実装されます。

Sentinelコンテンツの詳細については、「Microsoft Sentinelコンテンツとソリューションについて」を参照してください。

リポジトリのMicrosoft Sentinelのしくみ

これらのMicrosoft Sentinelカスタム コンテンツ タイプは、Microsoft Sentinelに接続する外部ソース管理リポジトリからデプロイできます。

  • 分析ルール
  • 自動化ルール
  • ハンティング クエリ
  • パーサー
  • プレイブック
  • ブック

Microsoft Sentinel リポジトリ内のコンテンツに対して行ったUpdatesは、Microsoft Sentinel ワークスペースに同期され、Microsoft Sentinel ポータルでそのコンテンツに加えた変更はすべて上書きされます。 Microsoft Sentinel リポジトリは、接続されたワークスペース内のカスタム コンテンツの単一の信頼のソースになります。

リポジトリ接続を計画する

Microsoft Sentinelリポジトリには、ワークスペースから接続するリポジトリ (リポジトリ) への適切なアクセス許可があることを確認するための慎重な計画が必要です。

  • GitHub および devOps リポジトリAzureへの接続のみがサポートされます。
  • GitHub リポジトリへのコラボレーター アクセスまたはプロジェクト管理者は、Azure DevOps リポジトリにアクセスする必要があります。
  • Microsoft Sentinel アプリケーションには、リポジトリに対する承認が必要です。
  • GitHub でアクションを有効にする必要があります。
  • Azure DevOps に対してパイプラインを有効にする必要があります。
  • Azure DevOps 接続は、Microsoft Sentinel ワークスペースと同じテナントに存在する必要があります。

リポジトリへの接続を作成するには、Microsoft Sentinel ワークスペースを含むリソース グループの所有者ロールが必要です。

共同作成者ではないパブリック リポジトリにコンテンツが見つかった場合は、まず、コンテンツを共同作成者であるリポジトリにインポート、フォーク、または複製します。 次に、リポジトリを Microsoft Sentinel ワークスペースに接続します。 詳細については、「 リポジトリからカスタム コンテンツをデプロイする」を参照してください。

最大接続数とデプロイ数

  • 各Microsoft Sentinelワークスペースは現在、5 つのリポジトリ接続に制限されています。
  • 各Azure リソース グループは、そのデプロイ履歴で 800 デプロイに制限されます。 1 つ以上のリソース グループに大量のテンプレートデプロイがある場合は、 Deployment QuotaExceeded エラーが表示されることがあります。 詳細については、Azure Resource Manager テンプレートのドキュメントの「DeploymentQuotaExceeded」を参照してください。

リポジトリのコンテンツを計画する

Microsoft Sentinel リポジトリでは、Bicep ファイルまたは Azure Resource Manager (ARM) テンプレートとして格納するコンテンツのデプロイがサポートされます。 Bicep を使用することをお勧めします。これは、より直感的で、AzureリソースとMicrosoft Sentinelコンテンツを簡単に記述できるようにします。

各コンテンツ タイプのテンプレートには、Sentinel リソース テンプレート リファレンスに記載されているように、特定の構造とパラメーター名があります。 各コンテンツ タイプのサンプルについては、「 RepositoriesSampleContent リポジトリ」を参照してください。

一覧表示されている各コンテンツ タイプのテンプレートを含むサンプル リポジトリを提供しました。 リポジトリでは、リポジトリ接続の高度な機能を使用する方法も示します。 詳細については、「MICROSOFT SENTINEL CI/CD リポジトリのサンプル」を参照してください。

リポジトリ接続が成功したスクリーンショット。RepositoriesSampleContent が表示されます。このスクリーンショットは、サンプルが SentinelCICD リポジトリから FourthCoffee organizationのプライベート GitHub リポジトリにインポートされた後です。

テンプレートはゼロから作成できますが、多くの場合、Sentinelパブリック GitHub リポジトリ YAML ファイルから、またはすぐに使用できるMicrosoft Sentinelコンテンツから開始する方が簡単です。 次の表では、Microsoft Sentinel リポジトリで使用するために ARM テンプレートを変換する方法について説明します。

コンテンツ タイプ Sentinel パブリック YAML からの変換 Sentinelからエクスポートする テンプレート リファレンス サンプル テンプレート
分析ルール PowerShell スクリプト 機能または PowerShell スクリプトをエクスポートする Reference ARM テンプレート
自動化ルール 該当なし 機能 または PowerShell スクリプトをエクスポートする Reference 該当なし
ハンティング クエリ PowerShell スクリプト AZURE CLI コマンド Reference サンプル コンテンツ
パーサー ASIM PowerShell スクリプト AZURE CLI コマンド Reference Templates
プレイブック 該当なし PowerShell ユーティリティ Reference 該当なし
Workbooks 該当なし ARM テンプレートとしてのブックのエクスポート Reference 該当なし

重要

Bicep に関する考慮事項:

  • Bicep ファイルを使用するには、2024 年 11 月 1 日より前に接続が作成された場合、リポジトリ接続を更新する必要があります。 更新するには、リポジトリ接続を 削除 して再作成する必要があります。
  • Bicep ファイルは、 id プロパティをサポートしていません。 ARM JSON を Bicep に逆コンパイルする場合は、このプロパティがないことを確認してください。 たとえば、Microsoft Sentinelからエクスポートされた分析ルール テンプレートには、削除が必要なid プロパティがあります。
  • 逆コンパイル時に最適な結果を得るには、ARM JSON スキーマをバージョン 2019-04-01 に変更します。

重要

Microsoft Sentinel リポジトリ機能を使用してデプロイされた分析ルールでは、対象ワークスペースがリポジトリに接続されているワークスペースと同じリソース グループ内にある場合にのみ、ワークスペース間クエリを使用できます。

カスタム コンテンツをゼロから作成する方法については、コンテンツ タイプごとに関連する Microsoft Sentinel GitHub Wiki を参照してください。

スマートデプロイでパフォーマンスを向上させる

ヒント

GitHub でスマートデプロイを確実に機能させるには、ワークフローにリポジトリに対する読み取りと書き込みのアクセス許可が必要です。 詳細については、「リポジトリのGitHub Actions設定の管理」を参照してください。

スマートデプロイ機能は、接続されたリポジトリのコンテンツ ファイルに加えられた変更を積極的に追跡することでパフォーマンスを向上させるバックエンド機能です。 リポジトリ内の .sentinel フォルダー内の CSV ファイルを使用して、各コミットを監査します。 ワークフローは、前回のデプロイ以降に変更されなかったコンテンツの再デプロイを回避します。 このプロセスにより、展開のパフォーマンスが向上し、分析ルールの動的スケジュールをリセットするなど、ワークスペース内の変更されていないコンテンツが改ざんされるのを防ぎます。

スマート デプロイは、新しく作成された接続で既定で有効になります。 デプロイがトリガーされるたびに展開されるすべてのソース管理コンテンツが必要な場合は、そのコンテンツが変更されたかどうかにかかわらず、ワークフローを変更してスマートデプロイを無効にします。 詳細については、「 ワークフローまたはパイプラインをカスタマイズする」を参照してください。

デプロイのカスタマイズ オプションを検討する

Microsoft Sentinel リポジトリを使用してコンテンツをデプロイする場合は、次のカスタマイズ オプションを検討してください。

ワークフローまたはパイプラインをカスタマイズする

次のいずれかの方法でワークフローまたはパイプラインをカスタマイズします。

  • さまざまなデプロイ トリガーを構成する
  • 特定のワークスペースの特定のルート フォルダーからのみコンテンツを展開する
  • ワークフローを定期的に実行するようにスケジュールする
  • さまざまなワークフロー イベントを組み合わせる
  • スマート デプロイをオフにする

これらのカスタマイズは、ワークフローまたはパイプラインに固有の.yml ファイルで定義されます。 実装方法の詳細については、「リポジトリのデプロイをカスタマイズする」を参照してください。

デプロイをカスタマイズする

ワークフローまたはパイプラインがトリガーされると、デプロイでは次のシナリオがサポートされます。

  • リポジトリ コンテンツの残りの部分の前にデプロイするコンテンツに優先順位を付ける
  • 展開からコンテンツを除外する
  • ARM テンプレート パラメーター ファイルを指定する

これらのオプションは、ワークフローまたはパイプラインから呼び出される PowerShell デプロイ スクリプトの機能を通じて使用できます。 これらのカスタマイズを実装する方法の詳細については、「 リポジトリのデプロイをカスタマイズする」を参照してください。

API を使用してMicrosoft Sentinelリポジトリを管理する

API を使用してMicrosoft Sentinelリポジトリを管理する方法については、Microsoft Sentinel REST API のソース管理アクションとソース管理アクションに関するページを参照してください。

重要

2026 年 6 月以降、Microsoft Sentinel リポジトリで使用される古い API バージョンはサポートされなくなります。 API を使用してリポジトリ接続を作成および管理する場合は、サービスの中断を回避するために、 2026 年 6 月 15 日より前に API バージョン 2025-09-012025-06-01、または 2025-07-01-preview に移行します。 既存のリポジトリ接続は影響を受けません。

次の手順

Microsoft Sentinelリポジトリのデプロイに関する詳細な例と手順を説明します。