Microsoft Sentinel リポジトリを使用すると、継続的インテグレーション/継続的デリバリー (CI/CD) のために、外部ソース管理リポジトリからカスタム Sentinel コンテンツをデプロイおよび管理できます。 この自動化により、ワークスペース間でカスタム コンテンツを更新およびデプロイするための手動プロセスが不要になります。 コードとしてのコンテンツのサブセットは、コードとしての 検出 (DaC) です。 Microsoft Sentinel Repositories は DaC も実装します。
Sentinel コンテンツの詳細については、「コンテンツとソリューションMicrosoft Sentinelについてを参照してください。
重要
Microsoft Sentinel Repositories 機能は現在、PREVIEWにあります。 ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用されるその他の法的条件については、「Microsoft Azure プレビューの追加利用規約」を参照してください。
Microsoft Sentinel リポジトリの仕組み
これらのMicrosoft Sentinelカスタム コンテンツ タイプは、Microsoft Sentinelに接続する外部ソース管理リポジトリからデプロイできます。
- 分析ルール
- オートメーション ルール
- ハンティング クエリ
- パーサー
- プレイブック
- Workbooks
Microsoft Sentinel リポジトリ内のコンテンツに対して行った更新は、Microsoft Sentinel ワークスペースに同期され、Microsoft Sentinel ポータルを使用してそのコンテンツに加えた変更が上書きされます。 Microsoft Sentinel リポジトリは、接続されたワークスペース内のカスタム コンテンツの "信頼の単一ソース" になります。
リポジトリ接続を計画する
Microsoft Sentinelリポジトリには、ワークスペースから接続するリポジトリ (リポジトリ) への適切なアクセス許可があることを確認するための慎重な計画が必要です。
- GitHubリポジトリとAzure DevOpsリポジトリへの接続のみがサポートされます。
- GitHub リポジトリへのコラボレーター アクセスまたは Azure DevOps リポジトリへのプロジェクト管理者アクセスが必要です。
- Microsoft Sentinel アプリケーションには、リポジトリへの承認が必要です。
- GitHubに対してアクションを有効にする必要があります。
- パイプラインは、Azure DevOpsに対して有効にする必要があります。
- Azure DevOps接続は、Microsoft Sentinel ワークスペースと同じテナントに存在する必要があります。
リポジトリへの接続を作成するには、Microsoft Sentinel ワークスペースを含むリソース グループに Owner ロールが必要です。
共同作成者ではないパブリック リポジトリにコンテンツがある場合は、まず、共同作成者であるリポジトリにコンテンツをインポート、フォーク、または複製します。 次に、リポジトリを Microsoft Sentinel ワークスペースに接続します。 詳細については、リポジトリからのカスタム コンテンツのデプロイに関する記事を参照してください。
最大接続数とデプロイ数
- 現在、各Microsoft Sentinel ワークスペースは 5 つのリポジトリ接続に制限されています。
- 各Azure リソース グループは、デプロイ履歴で 800 デプロイ に制限されます。 1 つまたは複数のリソース グループの大量のテンプレート デプロイがある場合は、 エラーが表示されることがあります。 詳細については、Azure Resource Manager テンプレートのドキュメントDeploymentQuotaExceeded を参照してください。
リポジトリのコンテンツを計画する
Microsoft Sentinel リポジトリは、Bicep ファイルまたは Azure Resource Manager (ARM) テンプレートとして格納するコンテンツのデプロイをサポートします。 Bicepを使用することをお勧めします。これはより直感的で、AzureリソースやMicrosoft Sentinelコンテンツを簡単に記述できるようにします。
各コンテンツ タイプのテンプレートには、Sentinel リソース テンプレート リファレンスに記載されているように、特定の構造とパラメーター名があります。 各コンテンツ タイプのサンプルについては、RepositoriesSampleContent リポジトリを参照してください。
リストされている各コンテンツ タイプのテンプレートを含むサンプル リポジトリを提供しました。 リポジトリでは、リポジトリ接続の高度な機能を使用する方法も示されます。 詳細については、Microsoft Sentinel CI/CD リポジトリのサンプルを参照してください。
テンプレートはゼロから作成できますが、多くの場合、Sentinel パブリック GitHub リポジトリの YAML ファイルから、またはすぐに使用できるMicrosoft Sentinelコンテンツから開始する方が簡単です。 次の表では、Microsoft Sentinel リポジトリで使用するために ARM テンプレートを変換する方法について説明します。
| コンテンツ タイプ | Sentinel パブリック YAML から変換する | Sentinel からのエクスポート | テンプレート リファレンス | サンプル テンプレート |
|---|---|---|---|---|
| 分析ルール | PowerShell スクリプト | Export feature または PowerShell スクリプト | Reference | ARM テンプレート |
| 自動化ルール | N/A | Export 機能 または PowerShell スクリプト | Reference | N/A |
| ハンティング クエリ | PowerShell スクリプト | Azure CLI コマンド | Reference | サンプル コンテンツ |
| パーサー | ASIM PowerShell スクリプト | Azure CLI コマンド | Reference | Templates |
| プレイブック | N/A | PowerShell ユーティリティ | Reference | N/A |
| ワークブック | N/A | ワークブックを ARM テンプレートとしてエクスポートする | Reference | N/A |
重要
Bicepの考慮事項:
- Bicep ファイルを使用するには、2024 年 11 月 1 日より前に接続が作成された場合は、リポジトリ接続を更新する必要があります。 更新するには、リポジトリ接続を削除して再作成する必要があります。
- Bicep ファイルは、
idプロパティをサポートしていません。 ARM JSON を逆コンパイルしてBicepする場合は、このプロパティがないことを確認してください。 たとえば、Microsoft Sentinelからエクスポートされた分析ルール テンプレートには、削除が必要なidプロパティがあります。 - 逆コンパイル時に最適な結果を得るために、ARM JSON スキーマをバージョン に変更します。
重要
Microsoft Sentinel Repositories 機能を使用してデプロイされた分析ルールでは、ターゲット ワークスペースがリポジトリに接続されているワークスペースと同じリソース グループ内にある場合にのみ、クロスワークスペース クエリを使用できます。
カスタム コンテンツをゼロから作成する方法については、コンテンツ タイプごとに関連する Microsoft Sentinel GitHub wiki を参照してください。
スマート デプロイを使用してパフォーマンスを向上させる
ヒント
スマート デプロイがGitHubで動作するようにするには、ワークフローにリポジトリに対する読み取りと書き込みのアクセス許可が必要です。 詳細については、「リポジトリのGitHub Actions設定の管理を参照してください。
スマート デプロイ機能は、接続されたリポジトリのコンテンツ ファイルに対して行われた変更をアクティブに追跡することでパフォーマンスを向上させるバックエンド機能です。 リポジトリの フォルダー内の CSV ファイルを使って、各コミットを監査します。 前回のデプロイ以降に変更されていないコンテンツは、ワークフローで再デプロイされません。 このプロセスにより、デプロイのパフォーマンスが向上し、ワークスペース内の変更されていないコンテンツの改ざん (分析ルールの動的スケジュールのリセットなど) を防ぐことができます。
新しく作成される接続では、スマート デプロイが既定で有効になります。 デプロイがトリガーされるたびに、ソース管理コンテンツがすべてデプロイされるようにしたい場合、そのコンテンツが変更されたかどうかに関わらず、スマート デプロイを無効にするようにワークフローを変更します。 詳しくは、「ワークフローまたはパイプラインをカスタマイズする」を参照してください。
デプロイのカスタマイズのオプションを検討する
Microsoft Sentinel リポジトリを使用してコンテンツをデプロイする場合は、次のカスタマイズ オプションを検討してください。
ワークフローまたはパイプラインをカスタマイズする
ワークフローまたはパイプラインは、次のいずれかの方法でカスタマイズします。
- 異なるデプロイ トリガーを構成する
- 特定のワークスペースについては特定のルート フォルダーからのみコンテンツをデプロイする
- ジョブの定期的な実行をスケジュールする
- 異なるワークフロー イベントを組み合わせる
- スマート デプロイをオフにする
これらのカスタマイズは、ワークフローまたはパイプラインに固有の .yml ファイルで定義されます。 実装方法について詳しくは、「リポジトリのデプロイをカスタマイズする」を参照してください
デプロイをカスタマイズする
ワークフローまたはパイプラインがトリガーされると、デプロイは次のシナリオをサポートします。
- コンテンツを優先して、リポジトリコンテンツのほかのものより前にデプロイする
- デプロイからコンテンツを除外する
- ARM テンプレートのパラメーター ファイルを指定する
これらのオプションは、ワークフローまたはパイプラインから呼び出される PowerShell デプロイ スクリプトの機能を通じて使用できます。 これらのカスタマイズの実装方法について詳しくは、「リポジトリのデプロイをカスタマイズする」を参照してください。
API を使用してMicrosoft Sentinel リポジトリを管理する
API を使用したMicrosoft Sentinel リポジトリの管理については、Microsoft Sentinel REST API の Source Control および Source Controls アクションを参照してください。
重要
June 1、2026 以降、Microsoft Sentinel リポジトリで使用される古い API バージョンはサポートされなくなります。 API を使用してリポジトリ接続を作成および管理する場合は、サービスの中断を回避するために、 2026 年 6 月 1 日より前に API バージョン 2025-09-01、 2025-06-01、または 2025-07-01-preview に移行します。 既存のリポジトリ接続は影響を受けません。
次のステップ
Microsoft Sentinelリポジトリのデプロイに関するその他の例と手順を説明します。
- リポジトリからカスタム コンテンツをデプロイする
- Microsoft Sentinel CI/CD サンプル リポジトリ
- Sentinel と DevOps の統合を自動化する