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

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

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

Microsoft Sentinel リポジトリのしくみ

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

  • 分析ルール
  • 自動化ルール
  • カスタム検出ルール (プレビュー)
  • ハンティング クエリ
  • パーサー
  • プレイブック
  • Workbooks

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 を参照してください。

カスタム検出ルールをコードとしてデプロイする (プレビュー)

重要

Microsoft Sentinel リポジトリでのカスタム検出ルールのサポートは現在プレビュー段階です。 ベータ版、プレビュー版、または他の方法で一般公開されていない Azure の機能に適用される法的条件については、Microsoft Azure プレビューの追加利用規約を参照してください。

Microsoft Security BICEP 拡張機能を使用して、リポジトリ内のコードとしてカスタム検出ルールを管理できます。 カスタム検出ルールでは、他のMicrosoft Sentinelコンテンツ タイプとは異なる BICEP 拡張機能とリソース プロバイダーが使用されます。

カスタム検出ルールの前提条件

標準 のリポジトリ接続の前提条件に加えて、カスタム検出規則には次のものが必要です。

  • Microsoft 365 E5 ライセンス (または、Microsoft Defender XDRを含む同等のライセンス)。
  • Microsoft Defender ポータルにオンボードされた Microsoft Sentinel ワークスペース。

Microsoft Security BICEP 拡張機能を構成する

カスタム検出ルールには、Microsoft Security BICEP 拡張機能が必要です。 リポジトリのルートに bicepconfig.json ファイルを作成します。

{
  "extensions": {
    "MicrosoftSecurity": "br:mcr.microsoft.com/bicep/extensions/microsoftsecurity:v1.0.1"
  }
}

この構成は、リポジトリ ベースの同期と BICEP の直接デプロイの両方に必要です。

カスタム検出規則 BICEP ファイルを作成する

Microsoft.Security/detectionRules リソースの種類を使用して、カスタム検出ルールを定義します。 次の構造の .bicep ファイル (たとえば、 detectionRule.bicep) を作成します。

extension MicrosoftSecurity

resource detectionRule 'Microsoft.Security/detectionRules@2026-06-01-preview' = {
  id: 'custom-rule-id'
  displayName: 'Custom Rule Display Name'
  status: 'enabled'
  queryCondition: {
    queryText: 'DeviceProcessEvents | take 10 | project DeviceId, Timestamp, FileName'
  }
  schedule: {
    frequency: 'PT1H'
  }
  detectionAction: {
    alertTemplate: {
      title: '<ruleTitle>'
      description: 'Custom detection rule'
      severity: 'medium'
      tactics: [
        {
          tactic: 'Execution'
          techniques: [
            {
              technique: 'T1059'
            }
          ]
        }
      ]
      entityMappings: {
        hosts: [
          {
            id: 'h'
            deviceIdColumn: 'DeviceId'
          }
        ]
      }
    }
  }
}

ルールは、テンプレートで指定する必要がある ID によって一意に識別されます。

カスタム検出ルールをデプロイする

次のいずれかの方法を使用して、カスタム検出ルールをデプロイできます。

デプロイ方法 説明 誰がデプロイを行うか
Microsoft Sentinel リポジトリ (同期) GitHubまたはAzure DevOps リポジトリからMicrosoft Sentinelへの自動同期。 Sentinel は、コミットごとにデプロイを自動的に実行します。
BICEP CLI (直接) Azure CLIからaz deployment group createを使用してデプロイします。 デプロイは、手動で実行するか、カスタム パイプラインから実行します。

オプション 1: Microsoft Sentinel リポジトリを使用してデプロイする

  1. BICEP ファイルをコミットし、GitHubまたはAzure DevOps リポジトリにbicepconfig.jsonします。
  2. Microsoft Defender ポータルで、Microsoft Sentinel>Content management>Repositories に移動します。
  3. 新しいリポジトリ接続を作成するか、既存のリポジトリ接続を編集します。
  4. 接続設定で、[コンテンツ タイプ] で [カスタム検出ルール] を選択します。
  5. 接続を保存します。

有効にすると、Microsoft Sentinelはリポジトリからカスタム検出ルールを自動的に同期します。

オプション 2: BICEP を直接使用してデプロイする

次の Azure CLI コマンドを実行します。

az deployment group create \
  --resource-group <RESOURCE_GROUP> \
  --template-file detectionRule.bicep \
  --name mtp-deployment

リソース グループでデプロイが正常に完了したことを確認します。

デプロイメントを検証する

いずれかのオプションを使用してデプロイした後:

  1. Microsoft Defender ポータルのカスタム検出ルールの一覧に検出ルールが表示されたことを確認します。
  2. ルールが有効になっており、期待される結果が生成されていることを確認します。
  3. リポジトリ同期 (オプション 1) を使用した場合は、リポジトリを変更して同期動作を検証します。

プレビューの制限事項

プレビュー期間中:

  • Microsoft Sentinel データのカスタム頻度はサポートされていません。
  • カスタムの詳細はサポートされていません。

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

ヒント

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リポジトリのデプロイに関する詳細な例と手順を説明します。