コードレス コネクタ フレームワーク (CCF) を使用して Google Cloud Platform (GCP) データ コネクタを作成するには、Microsoft Sentinel REST API for Data Connectors ドキュメントの補足としてこのリファレンスを使用します。
各 dataConnector
は、Microsoft Sentinel データ コネクタの特定の connection を表します。 1 つのデータ コネクタに複数の接続があり、異なるエンドポイントからデータをフェッチする場合があります。 この参照ドキュメントを使用して構築された JSON 構成は、CCF データ コネクタのデプロイ テンプレートを完成させるために使用されます。
詳細については、「 Microsoft Sentinel 用のコードレス コネクタを作成する」を参照してください。
GCP CCF データ コネクタを構築する
サンプルの GCP CCF データ コネクタデプロイ テンプレートを使用して GCP データ ソースを接続する開発を簡略化します。
ほとんどのデプロイ テンプレート セクションを入力したら、最初の 2 つのコンポーネント (出力テーブルと DCR) をビルドするだけで済みます。 詳細については、「 出力テーブルの定義 および Data コレクション 規則 (DCR) のセクションを参照してください。
データ コネクタ - 作成または更新
REST API ドキュメントの Create または Update 操作を参照して、最新の安定した API バージョンまたはプレビュー API バージョンを見つけます。 createとupdate操作の違いは、更新に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 バージョンの詳細については、「 Data コネクタ - 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(Google Cloud Platform)
GCP は、Google Cloud Platform (GCP) データ ソースのページングと予想される応答ペイロードが既に構成されている CCF データ コネクタを表します。 GCP Pub/Sub にデータを送信するように GCP サービスを構成するには、個別に行う必要があります。 詳細については、「Pub/Sub の概要 Publish メッセージを参照してください。
名前 | 必須 | タイプ | 説明 |
---|---|---|---|
名前 | 正しい | ひも | URI パラメーターに一致する接続の一意の名前 |
親切 | 正しい | ひも | |
etag | GUID(グローバルユニーク識別子) | 新しいコネクタを作成する場合は空のままにします。 更新操作の場合、etag は既存のコネクタの etag (GUID) と一致する必要があります。 | |
properties.connectorDefinitionName | ひも | データ コネクタの UI 構成を定義する DataConnectorDefinition リソースの名前。 詳細については、「 Data コネクタ定義」を参照してください。 | |
properties.認証 | 正しい | 入れ子の JSON | GCP データをポーリングするための資格情報について説明します。 詳細については、 認証の構成を参照してください。 |
properties.依頼 | 正しい | 入れ子の JSON | データをポーリングするための GCP プロジェクト ID と GCP サブスクリプションについて説明します。 詳細については、「要求の構成」をご覧ください。 |
プロパティ。dcrConfig | 入れ子の JSON | データがデータ収集規則 (DCR) に送信されるときに必要なパラメーター。 詳細については、 DCR 構成を参照してください。 |
認証の構成
Microsoft Sentinel からの GCP への認証では、GCP Pub/Sub が使用されます。 認証は個別に構成する必要があります。 Terraform スクリプト ここを使用します。 詳細については、別のクラウド プロバイダーからの GCP Pub/Sub 認証を参照してください。
ベスト プラクティスとして、資格情報をハードコーディングする代わりに、認証セクションのパラメーターを使用します。 詳細については、「 安全な機密入力」を参照してください。
パラメーターも使用するデプロイ テンプレートを作成するには、追加の開始 [
を使用して、このセクションのパラメーターをエスケープする必要があります。 これによりパラメータは、コネクタとのユーザー操作に基づいて値を割り当てることができます。 詳細については、テンプレート式のエスケープ文字に関するページを参照してください。
UI から資格情報を入力できるようにするには、 connectorUIConfig
セクションで目的のパラメーターを instructions
する必要があります。 詳細については、 コードレス コネクタ フレームワークのデータ コネクタ定義リファレンスを参照してください。
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 | 正しい | 糸 | DCE (データ収集エンドポイント) 例: https://example.ingest.monitor.azure.com 。 |
DataCollectionRuleImmutableId | 正しい | 糸 | DCR の変更できない ID。 DCR 作成応答を表示するか、 DCR API を使用して検索します |
StreamName | 正しい | ひも | この値は、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 の例を参照してください。