你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

无代码连接器框架的 GCP 数据连接器参考

若要使用无代码连接器框架(CCF)创建 Google Cloud Platform (GCP) 数据连接器,请使用此参考作为 数据连接器文档的 Microsoft Sentinel REST API 的 补充。

每个 dataConnector 都表示 Microsoft Sentinel 数据连接器的一个特定连接。 一个数据连接器可能有多个连接,这些连接从不同的终结点提取数据。 使用此参考文档生成的 JSON 配置用于完成 CCF 数据连接器的部署模板。

有关详细信息,请参阅为 Microsoft Sentinel 创建无代码连接器

生成 GCP CCF 数据连接器

简化使用示例 GCP CCF 数据连接器部署模板连接 GCP 数据源的开发。

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 资源组的名称,不区分大小写。
subscriptionId 目标订阅的 ID。
workspaceName 工作区的名称,而不是 ID
正则表达式模式:^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$
api-version 要用于此操作的 API 版本。

请求正文

CCF 数据连接器的请求正文 GCP 具有以下结构:

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

GCP

GCP 表示 CCF 数据连接器,其中已配置 Google Cloud Platform (GCP) 数据源的分页和预期响应有效负载。 必须将 GCP 服务配置为将数据发送到 GCP Pub/Sub,必须单独完成。 有关详细信息,请参阅 发布/订阅中的消息概述

名称 必需 类型​​ 描述
名字 真 实 字符串 与 URI 参数匹配的连接的唯一名称
kind 真 实 字符串 必须是 GCP
etag GUID 为创建新连接器留空。 对于更新操作,etag 必须与现有连接器的 etag (GUID) 匹配。
properties.connectorDefinitionName 字符串 定义数据连接器 UI 配置的 DataConnectorDefinition 资源的名称。 有关详细信息,请参阅数据连接器定义
properties.auth 真 实 嵌套的 JSON 描述用于轮询 GCP 数据的凭据。 有关详细信息,请参阅身份验证配置
properties.request 真 实 嵌套的 JSON 描述用于轮询数据的 GCP 项目 ID 和 GCP 订阅。 有关详细信息,请参阅请求配置
properties.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')]"
}

请求配置

请求部分需要 projectIdsubscriptionNames GCP Pub/Sub。

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 数据连接器示例

下面是 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 示例”。