Codeless Connector Framework (CCF) を使用して Google Cloud Platform (GCP) データ コネクタを作成するには、このリファレンスを、Microsoft Sentinel REST API for Data Connectors ドキュメントの補足資料として使用します。
各dataConnectorは、Microsoft Sentinel データ コネクタの特定の接続を表します。 1 つのデータ コネクタに複数の接続があり、異なるエンドポイントからデータをフェッチします。 このリファレンス ドキュメントを使用して構築された JSON 構成は、CCF データ コネクタのデプロイ テンプレートを完了するために使用されます。
詳細については、「Microsoft Sentinel用のコードレス コネクタを作成する」を参照してください。
GCP CCF データ コネクタを構築する
サンプルの GCP CCF データ コネクタデプロイ テンプレートを使用して GCP データ ソースを接続する開発を簡略化します。
ほとんどのデプロイ テンプレート セクションが入力された状態で、最初の 2 つのコンポーネント (出力テーブルと DCR) をビルドするだけで済みます。 詳細については、「 出力テーブル定義 」および「 データ収集規則 (DCR)」 セクションを参照してください。
データ コネクタ - 作成または更新
REST API ドキュメントの 作成または更新 操作を参照して、最新の安定した API バージョンまたはプレビュー API バージョンを見つけます。 作成操作と更新操作の違いは、更新に etag 値が必要です。
PUT メソッド
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
URI パラメーター
最新の API バージョンの詳細については、「 データ コネクタ - URI パラメーターの作成または更新」を参照してください。
| 名前 | 説明 |
|---|---|
| dataConnectorId | データ コネクタ ID は一意の名前である必要があり、要求本文の name パラメーターと同じです。 |
| resourceGroupName | 大文字と小文字を区別しないリソース グループの名前。 |
| subscriptionId | ターゲット サブスクリプションの ID。 |
| workspaceName | ID ではなくワークスペースの 名前 。 正規表現パターン: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
| api-version | この操作に使用する API バージョン。 |
要求本文
GCP CCF データ コネクタの要求本文には、次の構造があります。
{
"name": "{{dataConnectorId}}",
"kind": "GCP",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"dcrConfig": ""
}
}
GCP
GCP は、Google Cloud Platform (GCP) データ ソースのページングと予想される応答ペイロードが既に構成されている CCF データ コネクタを表します。 GCP Pub/Sub にデータを送信するように GCP サービスを構成するには、個別に行う必要があります。 詳細については、「 Pub/Sub でのメッセージの発行の概要」を参照してください。
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
| name | はい | string | URI パラメーターに一致する接続の一意の名前 |
| kind | はい | string | にする必要があります。 |
| etag | GUID | 新しいコネクタを作成する場合は、空のままにします。 更新操作の場合、etag は既存のコネクタの etag (GUID) と一致する必要があります。 | |
| properties.connectorDefinitionName | string | データ コネクタの UI 構成を定義する DataConnectorDefinition リソースの名前。 詳細については、「 データ コネクタの定義」を参照してください。 | |
| プロパティ。認証 | True | 入れ子になった JSON | GCP データをポーリングするための資格情報について説明します。 詳細については、「 認証の構成」を参照してください。 |
| プロパティ。要求 | True | 入れ子になった JSON | データをポーリングするための GCP プロジェクト ID と GCP サブスクリプションについて説明します。 詳細については、「 要求の構成」を参照してください。 |
| プロパティ。dcrConfig | 入れ子になった JSON | データがデータ収集規則 (DCR) に送信されるときに必要なパラメーター。 詳細については、「 DCR の構成」を参照してください。 |
認証の構成
Microsoft Sentinelからの GCP への認証では、GCP Pub/Sub が使用されます。 認証は個別に構成する必要があります。 Terraform スクリプトは、ここで使用します。 詳細については、「別の クラウド プロバイダーからの GCP Pub/Sub 認証」を参照してください。
ベスト プラクティスとして、資格情報をハードコーディングする代わりに、認証セクションでパラメーターを使用します。 詳細については、「 機密入力をセキュリティで保護する」を参照してください。
パラメーターも使用するデプロイ テンプレートを作成するには、追加の開始 [を使用して、このセクションのパラメーターをエスケープする必要があります。 これにより、パラメーターは、コネクタとのユーザー操作に基づいて値を割り当てることができます。 詳細については、「 テンプレート式のエスケープ文字」を参照してください。
UI から資格情報を入力できるようにするには、[ connectorUIConfig ] セクションで目的のパラメーターを instructions する必要があります。 詳細については、「 Codeless Connector Framework のデータ コネクタ定義リファレンス」を参照してください。
GCP 認証の例:
"auth": {
"serviceAccountEmail": "[[parameters('GCPServiceAccountEmail')]",
"projectNumber": "[[parameters('GCPProjectNumber')]",
"workloadIdentityProviderId": "[[parameters('GCPWorkloadIdentityProviderId')]"
}
要求の構成
要求セクションには、GCP Pub/Sub からの projectId と subscriptionNames が必要です。
GCP 要求の例:
"request": {
"projectId": "[[parameters('GCPProjectId')]",
"subscriptionNames": [
"[[parameters('GCPSubscriptionName')]"
]
}
DCR 構成
| フィールド | 必須 | 型 | 説明 |
|---|---|---|---|
| DataCollectionEndpoint | True | 文字列 | DCE (データ収集エンドポイント) 例: https://example.ingest.monitor.azure.com。 |
| DataCollectionRuleImmutableId | True | 文字列 | DCR 不変 ID。 DCR 作成応答を表示するか、DCR API を使用して検索します |
| StreamName | はい | string | この値は、DCR で定義されている streamDeclaration です (プレフィックスは Custom で始まる必要があります) |
CCF データ コネクタの例
GCP CCF データ コネクタ JSON のすべてのコンポーネントの例を次に示します。
{
"kind": "GCP",
"properties": {
"connectorDefinitionName": "[[parameters('connectorDefinitionName')]",
"dcrConfig": {
"streamName": "[variables('streamName')]",
"dataCollectionEndpoint": "[[parameters('dcrConfig').dataCollectionEndpoint]",
"dataCollectionRuleImmutableId": "[[parameters('dcrConfig').dataCollectionRuleImmutableId]"
},
"dataType": "[variables('dataType')]",
"auth": {
"serviceAccountEmail": "[[parameters('GCPServiceAccountEmail')]",
"projectNumber": "[[parameters('GCPProjectNumber')]",
"workloadIdentityProviderId": "[[parameters('GCPWorkloadIdentityProviderId')]"
},
"request": {
"projectId": "[[parameters('GCPProjectId')]",
"subscriptionNames": [
"[[parameters('GCPSubscriptionName')]"
]
}
}
}
詳細については、「 GCP データ コネクタ REST API の例の作成」を参照してください。