リポジトリからコードとしてコンテンツをデプロイする (プレビュー)

カスタム コンテンツを作成するときは、独自のMicrosoft Sentinel ワークスペースまたは外部ソース管理リポジトリから管理できます。 この記事では、Microsoft Sentinelと GitHub または devOps リポジトリAzure間の接続を作成および管理する方法について説明します。 外部リポジトリでコンテンツを管理すると、Microsoft Sentinelの外部でそのコンテンツを更新し、ワークスペースに自動的にデプロイすることができます。 詳細については、「 リポジトリ接続を使用してカスタム コンテンツを更新する」を参照してください。

重要

前提条件

Microsoft Sentinelは現在、GitHub および DevOps リポジトリへの接続Azureサポートしています。 Microsoft Sentinel ワークスペースをソース管理リポジトリに接続する前に、次の点を確認してください。

  • Microsoft Sentinel ワークスペースを含むリソース グループに所有者ロールがある
  • ワークスペースにデプロイするカスタム コンテンツ ファイルは、サポートされている形式です。 サポートされている形式については、「 リポジトリコンテンツを計画する」を参照してください。
  • 接続の作成に使用するアカウントは、ホーム テナントにあります。 B2B ゲスト アカウントや委任されたアクセスなどの外部 ID はサポートされていません。
  • GitHub リポジトリへのコラボレーター アクセス
  • Azure DevOps で有効になっている GitHub とパイプラインに対して有効なアクション

デプロイ可能なコンテンツ タイプの詳細については、「 リポジトリ コンテンツを計画する」を参照してください。

リポジトリを接続する

この手順では、GitHub または Azure DevOps リポジトリを Microsoft Sentinel ワークスペースに接続する方法について説明します。

各接続では、分析ルール、オートメーション ルール、ハンティング クエリ、パーサー、プレイブック、ブックなど、複数の種類のカスタム コンテンツをサポートできます。 詳細については、「Microsoft Sentinelのコンテンツとソリューションについて」を参照してください。

同じリポジトリとブランチを使用して、1 つのMicrosoft Sentinel ワークスペースに重複する接続を作成することはできません。

接続を作成します

  1. 接続に使用する資格情報を使用して、ソース管理アプリにサインインしていることを確認します。 現在、別の資格情報を使用してサインインしている場合は、最初にサインアウトします。

  2. Azure portalの [Microsoft Sentinel] で、[コンテンツ管理] で [リポジトリ] を選択します
    Defender ポータルでMicrosoft Sentinelする場合は、[Microsoft Sentinel>Content management>Repositories] を選択します。

  3. [ 新規追加] を選択し、[ 新しいデプロイ接続の作成 ] ページで、接続のわかりやすい名前と説明を入力します。

  4. [ ソース管理 ] ドロップダウンから、接続するリポジトリの種類を選択し、[承認] を選択 します

  5. 接続の種類に応じて、次のいずれかのタブを選択します。

    1. プロンプトが表示されたら、GitHub 資格情報を入力します。

      初めて接続を追加すると、Microsoft Sentinelへの接続を承認するように求められます。 同じブラウザーで GitHub アカウントに既にログインしている場合は、GitHub の資格情報が自動入力されます。

    2. [新しいデプロイ接続の作成] ページに [リポジトリ] 領域が表示されるようになりました。ここで、接続する既存のリポジトリを選択できます。 一覧からリポジトリを選択し、[ リポジトリの追加] を選択します。

      特定のリポジトリに初めて接続すると、新しいブラウザー ウィンドウまたはタブが表示され、Azure-Sentinel アプリをリポジトリにインストールするように求められます。 複数のリポジトリがある場合は、Azure-Sentinel アプリをインストールするリポジトリを選択してインストールします。

      アプリのインストールを続行するには、GitHub に指示されます。

    3. Azure Sentinel アプリがリポジトリにインストールされると、[新しいデプロイ接続の作成] ページの [ブランチ] ドロップダウンにブランチが表示されます。 Microsoft Sentinel ワークスペースに接続するブランチを選択します。

    4. [ コンテンツ タイプ] ドロップダウンから、展開するコンテンツの種類を選択します。

      • パーサーとハンティング クエリはどちらも、Saved Searches API を使用してコンテンツをMicrosoft Sentinelにデプロイします。 これらのコンテンツ タイプの 1 つを選択し、ブランチ内に他の種類のコンテンツがある場合は、両方のコンテンツ タイプがデプロイされます。

      • その他のすべてのコンテンツ タイプの場合、[新しいデプロイ接続の作成] ウィンドウでコンテンツ タイプを選択すると、そのコンテンツのみがMicrosoft Sentinelに展開されます。 他の種類のコンテンツはデプロイされません。

    5. [ 作成] を 選択して接続を作成します。 例:

      新しい GitHub リポジトリ接続のスクリーンショット。

接続を作成すると、リポジトリに新しいワークフローまたはパイプラインが生成されます。 リポジトリに格納されているコンテンツは、Microsoft Sentinel ワークスペースにデプロイされます。

デプロイ時間は、デプロイするコンテンツの量によって異なる場合があります。

デプロイの状態を表示する

GitHub: リポジトリの [アクション] タブで、ワークフロー .yaml ファイルを選択して、詳細なデプロイ ログと特定のエラー メッセージにアクセスします。

[Azure DevOps: リポジトリの [パイプライン] タブからデプロイの状態表示します。

デプロイが完了したら、次の手順を実行します。

  • リポジトリに格納されているコンテンツは、関連するMicrosoft Sentinel ページの Microsoft Sentinel ワークスペースに表示されます。

  • [ リポジトリ ] ページの接続の詳細は、接続のデプロイ ログへのリンクと、最後のデプロイの状態と時刻で更新されます。 例:

    GitHub リポジトリ接続のデプロイ ログのスクリーンショット。

既定のワークフローでは、リポジトリへのコミットに基づいて最後のデプロイ以降に変更されたコンテンツのみがデプロイされます。 ただし、スマート デプロイをオフにしたり、他のカスタマイズを実行したりすることもできます。 たとえば、さまざまなデプロイ トリガーを構成したり、特定のルート フォルダーからのみコンテンツをデプロイしたりできます。 詳細については、「 リポジトリのデプロイをカスタマイズする」を参照してください。

コンテンツの編集

ソース管理リポジトリへの接続が正常に作成されると、コンテンツはSentinelにデプロイされます。 接続されているリポジトリに格納されているコンテンツは、Microsoft Sentinelではなく、リポジトリ内でのみ編集することをお勧めします。 たとえば、分析ルールを変更するには、GitHub で直接変更するか、DevOps をAzureします。

代わりにMicrosoft Sentinelでコンテンツを編集する場合は、次にリポジトリコンテンツがワークスペースにデプロイされるときに変更が上書きされないように、ソース管理リポジトリにエクスポートしてください。

コンテンツを削除する

リポジトリからコンテンツを削除しても、Microsoft Sentinel ワークスペースから削除されることはありません。 リポジトリを介してデプロイされたコンテンツを削除する場合は、リポジトリとMicrosoft Sentinelの両方から削除します。 たとえば、リポジトリからコンテンツを識別しやすくするために、ソース名に基づいてコンテンツのフィルターを設定します。

リポジトリのソース名でフィルター処理された分析ルールのスクリーンショット。

リポジトリ接続を削除する

この手順では、ソース管理リポジトリへの接続をMicrosoft Sentinelから削除する方法について説明します。 Bicep ファイルを使用するには、リポジトリ接続が 2024 年 11 月 1 日より新しい必要があります。 接続を更新するには、次の手順に従って接続を削除し、再作成します。

接続を削除するには:

  1. Microsoft Sentinelで、[コンテンツ管理] で [リポジトリ] を選択します
  2. グリッドで、削除する接続を選択し、[削除] を選択 します
  3. [ はい] を 選択して削除を確認します。

接続を削除した後、接続を介して以前にデプロイされたコンテンツは、Microsoft Sentinel ワークスペースに残ります。 接続を削除した後にリポジトリに追加されたコンテンツはデプロイされません。

接続を削除するときに問題やエラー メッセージが発生した場合は、ソース管理をチェックすることをお勧めします。 接続に関連付けられている GitHub ワークフローまたは Azure DevOps パイプラインが削除されていることを確認します。

GitHub リポジトリからMicrosoft Sentinel アプリを削除する

GitHub リポジトリからMicrosoft Sentinel アプリを削除する場合は、まず、[Microsoft Sentinel リポジトリ] ページから関連付けられているすべての接続を削除することをお勧めします。

各Microsoft Sentinelアプリのインストールには、接続の追加と削除の両方で使用される一意の ID があります。 ID が見つからないか変更されている場合は、[Microsoft Sentinel リポジトリ] ページから接続を削除し、GitHub リポジトリからワークフローを手動で削除して、今後のコンテンツのデプロイを防ぎます。

Microsoft Sentinelのカスタム コンテンツは、すぐに使用できるコンテンツと同じ方法で使用します。

詳細については、以下を参照してください: