Microsoft Sentinel カスタム コネクタを作成するためのリソース

Microsoft Sentinel を使用すると、Azure サービスと外部ソリューション用のさまざまな組み込みコネクタが提供され、一部のソースからの専用コネクタを使用しないデータの取り込みもサポートされます。

利用可能な既存のソリューションを使用してデータ ソースを Microsoft Sentinel に接続できない場合は、独自のデータ ソース コネクタを作成することを検討してください。

サポートされているコネクタの完全な一覧については、Microsoft Sentinel: コネクタの総計 (CEF、Syslog、Direct、Agent、Custom など) に関するブログ投稿を参照してください。

カスタム コネクタの方法を比較する

次の表は、この記事で説明されている各カスタム コネクタ作成方法に関する重要な詳細を比較したものです。 各方法の詳細については、表内のリンクを選択してください。

方法の説明 機能 サーバーレス 複雑さ
コードレス コネクタ プラットフォーム (CCP)
高度な開発を行うことなく、経験の少ない技術者が構成ファイルを使用して SaaS コネクタを作成する場合に最適です。
コードで使用できるすべての機能がサポートされます。 はい 低、シンプルでコード不要の開発
Log Analytics エージェント
オンプレミスと IaaS のソースからファイルを収集する場合に最適です
ファイル収集のみ いいえ
Logstash
オンプレミスと IaaS のソース、プラグインを利用できるソース、および Logstash に既に慣れている組織に最適です
利用可能なプラグインとカスタム プラグインの機能により、高い柔軟性が提供されます。 いいえ、実行するには VM または VM クラスターが必要です 低、プラグインで多くのシナリオがサポートされます
Logic Apps
高コストであり、大量のデータへの使用は避けます
少量のクラウド ソースに最適です
コード不要のプログラミングのため柔軟性は制限され、アルゴリズムの実装はサポートされません。

要件が既にサポートされている使用可能なアクションがない場合、カスタム アクションを作成すると複雑になる可能性があります。
はい 低、シンプルでコード不要の開発
PowerShell
プロトタイプと定期的なファイル アップロードに最適です
ファイル収集が直接サポートされます。

PowerShell を使用すると、より多くのソースを収集できますが、スクリプトをコーディングし、サービスとして構成する必要があります。
いいえ
Log Analytics API
統合を実装する ISV、および固有の収集要件に最適です
コードで使用できるすべての機能がサポートされます。 実装によって異なります
Azure Functions
大量のクラウド ソースおよび固有の収集要件に最適です
コードで使用できるすべての機能がサポートされます。 はい 高、プログラミングに関する知識が必要です

ヒント

Logic Apps と Azure Functions を同じコネクタに使用する場合の比較については、次を参照してください。

コードレス コネクタ プラットフォームを使用した接続

コードレス コネクタ プラットフォーム (CCP) では、顧客とパートナーの両方が使用できる構成ファイルを提供し、独自のワークスペースにデプロイするか、Microsoft Sentinel のソリューションのギャラリーにソリューションとしてデプロイします。

CCP を使用して作成されたコネクタは完全な SaaS であり、サービスのインストールに必要な要件がなく、Microsoft Sentinel による稼働状況の監視と完全なサポートも含まれています。

詳細については、「 Microsoft Sentinel 用のコードレス コネクタを作成する」を参照してください。

Log Analytics エージェントを使用して接続する

データ ソースによってファイルにイベントが配信される場合は、Azure Monitor Log Analytics エージェントを使用してカスタム コネクタを作成することをお勧めします。

Logstash を使用して接続する

Logstash を使い慣れている場合は、Logstash と Microsoft Sentinel 用 Logstash 出力プラグインを使用して、カスタム コネクタを作成できます。

Microsoft Sentinel の Logstash 出力プラグインを使用すると、Logstash の任意の入力およびフィルター プラグインを使用し、Logstash パイプラインの出力として Microsoft Sentinel を構成することができます。 Logstash に用意されているプラグインの大きなライブラリを使用すると、Event Hubs、Apache Kafka、ファイル、データベース、クラウド サービスなど、さまざまなソースから入力できます。 フィルター プラグインを使用すると、イベントの解析、不要なイベントの除外、値の難読化などを行うことができます。

Logstash をカスタム コネクタとして使用する例については、次を参照してください。

役に立つ Logstash プラグインの例については、次を参照してください。

ヒント

Logstash を使用すると、クラスターを使用するスケーリングされたデータ収集も有効になります。 詳細については、負荷分散された Logstash VM の大規模な使用に関するページを参照してください。

Logic Apps を使用して接続する

Microsoft Sentinel 用のサーバーレスのカスタム コネクタを作成するには、Azure Logic Apps を使用します。

注意

Logic Apps を使用してサーバーレス コネクタを作成すると便利な場合がありますが、コネクタに Logic Apps を使用すると、大量のデータではコストがかかる可能性があります。

この方法は、量の少ないデータ ソースの場合、またはデータのアップロードをエンリッチする場合にのみ使用することをお勧めします。

  1. 次のいずれかのトリガーを使用して、Logic Apps を開始します

    トリガー [説明]
    定期的なタスク たとえば、特定のファイル、データベース、または外部 API から定期的にデータを取得するように、ロジック アプリをスケジュールします。
    詳細については、Azure Logic Apps での定期的なタスクとワークフローの作成、スケジュール、実行に関するページを参照してください。
    オンデマンド トリガー 手動によるデータの収集とテストのために、ロジック アプリをオンデマンドで実行します。
    詳細については、HTTPS エンドポイントを使用したロジック アプリの呼び出し、トリガー、入れ子化に関するページを参照してください。
    HTTP/S エンドポイント ストリーミングの場合、およびソース システムがデータ転送を開始できる場合に推奨されます。
    詳細については、HTTP または HTTPS によるサービス エンドポイントの呼び出しに関するページを参照してください。
  2. 情報を読み取るいずれかの Logic Apps コネクタを使用して、イベントを取得します。 次に例を示します。

    ヒント

    REST API、SQL Server、ファイル システムへのカスタム コネクタでは、オンプレミスのデータ ソースからのデータの取得もサポートされています。 詳細については、オンプレミス データ ゲートウェイのインストールに関するドキュメントを参照してください。

  3. 取得する情報を準備します

    たとえば、JSON 解析アクションを使用して JSON コンテンツのプロパティにアクセスすると、ロジック アプリの入力を指定するときに、動的コンテンツ リストからそれらのプロパティを選択できるようになります。

    詳細については、「Azure Logic Apps でデータの操作を実行する」を参照してください。

  4. Log Analytics にデータを書き込みます

    詳細については、Azure Log Analytics データ コレクターのドキュメントを参照してください。

Logic Apps を使用して Microsoft Sentinel 用のカスタム コネクタを作成する方法の例については、次を参照してください。

PowerShell で接続する

Upload-AzMonitorLog PowerShell スクリプトを使用すると、コマンド ラインから PowerShell を使用してイベントまたはコンテキスト情報を Microsoft Sentinel にストリーミングできます。 このストリーミングにより、実質的に、データ ソースと Microsoft Sentinel の間のカスタム コネクタが作成されます。

たとえば、次のスクリプトを使用すると、CSV ファイルが Microsoft Sentinel にアップロードされます。

Import-Csv .\testcsv.csv
| .\Upload-AzMonitorLog.ps1
-WorkspaceId '69f7ec3e-cae3-458d-b4ea-6975385-6e426'
-WorkspaceKey $WSKey
-LogTypeName 'MyNewCSV'
-AddComputerName
-AdditionalDataTaggingName "MyAdditionalField"
-AdditionalDataTaggingValue "Foo"

Upload-AzMonitorLog PowerShell スクリプトで使用されるパラメーターは次のとおりです。

パラメーター [説明]
WorkspaceId データを格納する Microsoft Sentinel ワークスペースの ID。 ワークスペースの ID とキーを確認します
WorkspaceKey データを格納する Microsoft Sentinel ワークスペースのプライマリまたはセカンダリ キー。 ワークスペースの ID とキーを確認します
LogTypeName データを格納するカスタム ログ テーブルの名前。 サフィックス _CL が、テーブル名の末尾に自動的に追加されます。
AddComputerName このパラメーターが存在する場合、スクリプトにより、すべてのログ レコードの Computer という名前のフィールドに、現在のコンピューター名が追加されます。
TaggedAzureResourceId このパラメーターが存在する場合、スクリプトにより、アップロードされたすべてのログ レコードと指定した Azure リソースが関連付けられます。

この関連付けにより、アップロードされたログ レコードはリソース コンテキスト クエリに対して有効になり、リソース中心のロールベースのアクセス制御に準拠します。
AdditionalDataTaggingName このパラメーターが存在する場合、スクリプトにより、構成されている名前および AdditionalDataTaggingValue パラメーターに構成されている値を使用して、すべてのログ レコードに別のフィールドが追加されます。

この場合、AdditionalDataTaggingValue を空にすることはできません。
AdditionalDataTaggingValue このパラメーターが存在する場合、スクリプトにより、構成されている値および AdditionalDataTaggingName パラメーターに構成されている名前を使用して、すべてのログ レコードに別のフィールドが追加されます。

AdditionalDataTaggingName パラメーターが空であるのに、値が構成されている場合、既定のフィールド名は DataTagging になります。

ワークスペースの ID とキーを確認する

Microsoft Sentinel で WorkspaceIDWorkspaceKey パラメーターの詳細を確認します。

  1. Microsoft Sentinel の左側で [設定] を選択し、 [ワークスペースの設定] タブを選択します。

  2. [Log Analytics の使用を開始する]>[1 データ ソースへの接続] で、 [Windows and Linux agents management]\(Windows および Linux エージェントの管理\) を選択します。

  3. [Windows サーバー] タブで、ワークスペース ID、プライマリ キー、セカンダリ キーを確認します。

Log Analytics API を使用して接続する

Log Analytics Data Collector API を使用して RESTful エンドポイントを直接呼び出すことにより、Microsoft Sentinel にイベントをストリーミングできます。

RESTful エンドポイントを直接呼び出すには、より多くのプログラミングが必要ですが、柔軟性も高くなります。

詳細については、Log Analytics Data Collector API に関するページの、特に次の例を参照してください。

Azure Functions を使用して接続する

Azure Functions と RESTful API および PowerShell などのさまざまなコーディング言語を使用して、サーバーレスのカスタム コネクタを作成します。

この方法の例については、以下を参照してください。

カスタム コネクタのデータを解析する

カスタム コネクタで収集されたデータを利用するには、コネクタを使用する高度なセキュリティ情報モデル (ASIM) パーサーを開発しますASIM を使用すると、Microsoft Sentinel の組み込みコンテンツでカスタム データを使用し、アナリストがデータを照会しやすくなります。

コネクタ メソッドで許可されている場合、解析の一部をコネクタの一部として実装し、クエリ時間の解析パフォーマンスを向上させることができます。

  • Logstash を使用した場合は、Grok フィルター プラグインを使用してデータを解析します。
  • Azure 関数を使用した場合は、コードを使用してデータを解析します。

ASIM パーサーを実装する必要がありますが、解析の一部をコネクタで直接実装すると、解析が簡略化され、パフォーマンスが向上します。

次のステップ

Microsoft Sentinel に取り込まれたデータを使用して、次のいずれかのプロセスで環境をセキュリティ保護します。

また、ズームを監視するカスタム コネクタを作成する例についても説明します。Microsoft Sentinel を使用したズームの監視に関するページを参照してください。