無碼連接器框架的 GCP 資料連接器參考

若要使用 CCF) Codeless Connector Framework (GCP) 資料連接器建立 Google Cloud Platform (,請使用此參考資料作為 Microsoft Sentinel REST API for Data Connectors 文件的補充。

每個dataConnector節點代表 Microsoft Sentinel 資料連接器的特定連接。 一個資料連接器可能有多個連接點,從不同端點擷取資料。 使用此參考文件建立的 JSON 配置用來完成 CCF 資料連接器的部署範本。

欲了解更多資訊,請參閱「為 Microsoft Sentinel 建立無程式碼連接器」。

建立 GCP CCF 資料連接器

簡化連接 GCP 資料來源與範例 GCP CCF 資料連接器部署範本的開發過程。

GCP CCF 範例範本

大部分部署範本部分都填滿後,你只需要建立前兩個元件:輸出表和 DCR。 欲了解更多資訊,請參閱 輸出表定義DCR) (資料收集規則 章節。

資料連接器 - 建立或更新

參考 REST 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 資源群組名稱,不區分大小寫。
訂閱ID 目標訂閱的 ID。
工作區名稱 工作區 名稱 ,不是 ID。
正則表達式模式: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$
API 版本 用於此操作的 API 版本。

要求內文

CCF 資料連接器的請求體 GCP 結構如下:

{
   "name": "{{dataConnectorId}}",
   "kind": "GCP",
   "etag": "",
   "properties": {
        "connectorDefinitionName": "",
        "auth": {},
        "request": {},
        "dcrConfig": ""
   }
}

GCP

GCP 代表一個 CCF 資料連接器,Google Cloud Platform (GCP) 資料來源的分頁與預期回應負載已設定好。 設定你的 GCP 服務要把資料傳送到 GCP 發佈/訂閱,必須另外完成。 更多資訊請參閱 發佈/訂閱總覽中的「發佈訊息」。

名稱 必要項目 類型 描述
name string 唯一與 URI 參數相符的連線名稱
種類 string 必須是 GCP
ETAG GUID 留空以建立新的連接器。 在更新操作中,etag 必須與現有連接器的 etag (GUID) 相符。
properties.connectorDefinitionName 字串 定義資料連接器 UI 配置的 DataConnectorDefinition 資源名稱。 更多資訊請參閱 資料連接器定義
屬性。認證 True 巢狀 JSON 描述輪詢 GCP 資料的憑證。 欲了解更多資訊,請參閱 認證設定
屬性。請求 True 巢狀 JSON 描述 GCP 專案 ID 及用於輪詢資料的 GCP 訂閱。 欲了解更多資訊,請參閱 請求設定
屬性。dcrConfig 巢狀 JSON 資料傳送至資料收集規則 (DCR) 時所需的參數。 欲了解更多資訊,請參閱 DCR 配置

認證設定

從 Microsoft Sentinel 認證到 GCP 是使用 GCP 發佈/訂閱。 你必須另外設定認證。 在此使用 Terraform 腳本。 更多資訊請參閱 其他雲端供應商的 GCP Pub/Sub 認證

最佳做法是,在驗證部分使用參數,而不是硬編碼憑證。 欲了解更多資訊,請參閱 安全機密輸入

為了建立同樣使用參數的部署範本,你需要用額外的起始 [碼來跳脫本節的參數。 這讓參數能根據使用者與連接器的互動來指派一個值。 更多資訊請參見 範本表達式跳脫字元。

為了讓憑證能從使用者介面輸入,該 connectorUIConfig 區塊需要 instructions 具備所需參數。 欲了解更多資訊,請參閱無碼連接器框架的資料連接器定義參考。

GCP 認證範例:

"auth": {
    "serviceAccountEmail": "[[parameters('GCPServiceAccountEmail')]",
    "projectNumber": "[[parameters('GCPProjectNumber')]",
    "workloadIdentityProviderId": "[[parameters('GCPWorkloadIdentityProviderId')]"
}

請求設定

請求部分需提供 projectId 來自GCP出版/訂閱的及 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 此值即 streamDeclaration 為 DCR 定義 (前綴必須以 Custom-)

CCF 資料連接器範例

這裡有一個 CCF 資料連接器 JSON 所有元件 GCP 的範例。

{
    "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 範例