リポジトリからカスタム コンテンツをデプロイする (パブリック プレビュー)
カスタム コンテンツを作成したら、独自の Microsoft Sentinel ワークスペースから、または外部のソース管理リポジトリから、それを管理できます。 この記事では、Microsoft Sentinel と GitHub または Azure DevOps リポジトリの間の接続を作成して管理する方法について説明します。 外部リポジトリでコンテンツを管理することで、Microsoft Sentinel の外部でコンテンツを更新し、ワークスペースに自動的にデプロイさせることができます。 詳しくは、リポジトリ接続を使ったカスタム コンテンツの更新に関する記事をご覧ください。
重要
- Microsoft Sentinel のリポジトリ機能は、現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
- Microsoft Sentinel は、Microsoft Defender ポータルの Microsoft の統合セキュリティ オペレーション プラットフォーム内で一般提供されています。 プレビューとして、Microsoft Defender XDR または E5 ライセンスなしで Microsoft Sentinel を Defender ポータルで利用できます。 詳細については、「Microsoft Defender ポータルの Microsoft Sentinel」を参照してください。
前提条件とスコープ
Microsoft Sentinel では、現在、GitHub および Azure DevOps リポジトリへの接続がサポートされています。 Microsoft Sentinel ワークスペースをお使いのソース管理リポジトリに接続する前に、次のものがあることを確認してください。
- Microsoft Sentinel ワークスペースを含むリソース グループの所有者ロール、"または"、接続を作成するためのユーザー アクセス管理者ロールと Sentinel 共同作成者ロールの組み合わせ
- GitHub リポジトリへのコラボレーター アクセスまたは Azure DevOps リポジトリへのプロジェクト管理者アクセス
- GitHub に対して有効なアクションと、Azure DevOps に対して有効なパイプライン
- Azure DevOps アプリケーション接続ポリシーに対して有効になっている OAuth によるサードパーティ アプリケーション アクセス。
- ワークスペースにデプロイするカスタム コンテンツ ファイルが、関連する Azure Resource Manager (ARM) テンプレートに含まれることを確認します。
詳しくは、「コンテンツを検証する」を参照してください。
リポジトリの接続
この手順では、GitHub または Azure DevOps リポジトリを Microsoft Sentinel ワークスペースに接続する方法について説明します。
各接続では、分析ルール、自動化ルール、ハンティング クエリ、パーサー、プレイブック、ブックなど、多くの種類のカスタム コンテンツをサポートできます。 詳細については、「Microsoft Sentinel のコンテンツとソリューションについて」を参照してください。
同じリポジトリとブランチを含む重複する接続を 1 つの Microsoft Sentinel ワークスペースに作成することはできません。
接続を作成する:
接続に使用する資格情報で、ソース管理アプリにサインインしていることを確認します。 現在、別の資格情報を使用してサインインしている場合は、まずサインアウトします。
Azure portal の Microsoft Sentinel では、[コンテンツ管理] で、[リポジトリ] を選択します。
Defender ポータルの Microsoft Sentinel では、[Microsoft Sentinel]>[コンテンツ管理]>[リポジトリ] を選びます。[新規追加] を選択し、[Create new deployment connection] (新しいデプロイ接続の作成) ページで、接続のわかりやすい名前と説明を入力します。
[ソース管理] ドロップダウンから、接続先のリポジトリの種類を選択し、 [承認] を選択します。
接続の種類に応じて、次のいずれかのタブを選択します。
入力を求められたら、GitHub 資格情報を入力します。
接続を初めて追加すると、Microsoft Sentinel への接続を承認するように求められます。 同じブラウザーで GitHub アカウントに既にログインしている場合は、GitHub 資格情報が自動的に設定されます。
[リポジトリ] 領域が [Create new deployment connection] (新しいデプロイ接続の作成) ページに表示されるようになり、そこで接続先の既存のリポジトリを選択できます。 一覧からリポジトリを選択し、 [リポジトリの追加] を選択します。
特定のリポジトリに初めて接続すると、新しいブラウザー ウィンドウまたはタブが表示され、リポジトリに Azure-Sentinel アプリをインストールするように求められます。 複数のリポジトリがある場合は、Azure-Sentinel アプリをインストールするリポジトリを選択してインストールします。
GitHub に移動し、アプリのインストールを続行します。
Azure-Sentinel アプリがリポジトリにインストールされると、[Create new deployment connection] (新しいデプロイ接続の作成) ページの [ブランチ] ドロップダウンにブランチが設定されます。 Microsoft Sentinel ワークスペースに接続するブランチを選択します。
[コンテンツ タイプ] ドロップダウンから、デプロイするコンテンツの種類を選択します。
パーサーとハンティング クエリの両方で Saved Searches API を使用してコンテンツを Microsoft Sentinel にデプロイします。 これらのコンテンツの種類のいずれかを選択し、ブランチに他の種類のコンテンツも含まれる場合は、両方のコンテンツの種類がデプロイされます。
他のすべてのコンテンツ タイプについては、[Create new deployment connection] (新しいデプロイ接続の作成) ウィンドウでコンテンツ タイプを選択すると、そのコンテンツだけが Microsoft Sentinel にデプロイされます。 他の種類のコンテンツはデプロイされません。
[作成] を選択して接続を作成します。 たとえば、次のように入力します。
接続を作成すると、新しいワークフローまたはパイプラインがリポジトリに生成されます。 リポジトリに保存されているコンテンツは、Microsoft Sentinel ワークスペースにデプロイされます。
デプロイ時間は、デプロイするコンテンツの量によって変わる可能性があります。
デプロイの状態を表示する
GitHub 内: リポジトリの [アクション] タブで、ワークフローの .yaml ファイルを選択して、詳細なデプロイ ログと具体的なエラー メッセージにアクセスします。
Azure DevOps 内: リポジトリの [パイプライン] タブからデプロイの状態を表示します。
デプロイの完了後:
リポジトリに格納されているコンテンツは、Microsoft Sentinel ワークスペースの関連する Microsoft Sentinel ページに表示されます。
[リポジトリ] ページの接続の詳細が、接続のデプロイ ログへのリンクと、直前のデプロイの状態と時刻で更新されます。 次に例を示します。
既定のワークフローでは、リポジトリへのコミットに基づいて、前回のデプロイ以降に変更されたコンテンツのみがデプロイされます。 ただし、スマート デプロイのオフへの切り替えや、他のカスタマイズを実行することもできます。 たとえば、異なるデプロイ トリガーを構成したり、特定のルート フォルダーのコンテンツのみをデプロイしたりすることができます。 詳細については、リポジトリのデプロイのカスタマイズに関する記事を参照してください。
コンテンツの編集
ソース管理リポジトリへの接続が正常に作成されると、コンテンツは Sentinel にデプロイされます。 Microsoft Sentinel 内ではなく、リポジトリ内の接続されているリポジトリに格納されているコンテンツ "のみ" 編集することが推奨されます。 たとえば、分析ルールを変更するには、GitHub または Azure DevOps で直接行います。
代わりに、Microsoft Sentinel でコンテンツを編集する場合は、次回にリポジトリ コンテンツがワークスペースにデプロイされたときに、変更が上書きされるのを防ぐために、必ずソース管理リポジトリにエクスポートしてください。
コンテンツを削除する
リポジトリからコンテンツを削除しても、Microsoft Sentinel ワークスペースからは削除されません。 リポジトリ経由でデプロイされたコンテンツを削除する場合は、リポジトリと Microsoft Sentinel の両方から削除してください。 たとえば、リポジトリでコンテンツを識別しやすくするには、ソース名に基づいてコンテンツのフィルターを設定します。
リポジトリ接続を削除する
この手順では、Microsoft Sentinel からソース管理リポジトリへの接続を削除する方法について説明します。
接続を削除するには:
- Microsoft Sentinel の [コンテンツ管理] で、[リポジトリ] を選択します。
- グリッドで、削除する接続を選択し、 [削除] を選択します。
- [はい] を選択して、削除を確認します。
接続を削除後、接続によって以前にデプロイされたコンテンツは、Microsoft Sentinel ワークスペースに残ります。 接続の削除後にリポジトリに追加されたコンテンツはデプロイされません。
接続を削除するときに問題やエラー メッセージが発生した場合は、ソース管理を確認することをお勧めします。 接続に関連する GitHub ワークフローまたは Azure DevOps パイプラインが削除されていることを確認します。
GitHub リポジトリから Microsoft Sentinel アプリを削除する
GitHub リポジトリから Microsoft Sentinel アプリを削除する場合は、"最初に" Microsoft Sentinel リポジトリ ページから関連付けられているすべての接続を削除することが推奨されます。
各 Microsoft Sentinel アプリのインストールには、接続の追加と削除時の両方で使用される一意の ID があります。 その ID が見つからないか変更されている場合は、Microsoft Sentinel の [リポジトリ] ページから接続を削除し、GitHub リポジトリから手動でワークフローを削除して、これ以降コンテンツがデプロイされないようにします。
次のステップ
Microsoft Sentinel で、すぐ利用できるコンテンツを使用する場合と同じように、カスタム コンテンツを使用します。
詳細については、次を参照してください。