将 BigQuery 与 Google SecOps 集成

本文档介绍了如何将 BigQuery 与 Google Security Operations (Google SecOps) 集成。

集成版本:15.0

此集成使用一个或多个开源组件。 您可以从 Cloud Storage 存储桶下载此集成的源代码的压缩副本。

使用场景

在 Google SecOps 平台中,BigQuery 集成可帮助您解决以下使用情形:

  • 威胁情报丰富化:自动使用存储在 BigQuery 中的威胁情报数据来丰富安全提醒,以评估潜在威胁的严重程度和可信度。

    例如,您可以配置 Google SecOps,使其在可疑 IP 地址触发提醒时,每次都查询包含已知恶意 IP 地址的 BigQuery 表。Google SecOps 会在 BigQuery 表中检查是否存在匹配项,并检索关联的恶意软件系列等其他上下文信息。

  • 用户行为分析:通过分析存储在 BigQuery 中的历史用户活动日志来识别异常用户活动,从而检测内部威胁和遭入侵的账号。

    例如,您可以配置 Google SecOps,使其在 BigQuery 中查询用户在其常用地理位置之外的登录尝试,并针对检测到的可疑活动触发自动事件响应。

  • 安全数据湖分析:利用 BigQuery 的查询功能,分析数据湖中汇总的来自各种来源的大量安全数据,以改进威胁搜寻和事件调查。

    例如,您可以配置 Google SecOps,以在数据湖中存储的多个安全工具日志中查询与特定文件哈希相关的所有事件(通过 BigQuery)。

  • 长期保留安全数据:使用 BigQuery 存储空间长期保留大量安全日志,以支持历史分析、合规性报告和取证调查。

    例如,您可以配置 Google SecOps,使其自动将已解决的突发事件数据归档到 BigQuery 中以进行长期存储,从而帮助确保数据可用于未来的审核或调查。

准备工作

如需使用此集成,您需要拥有 Google Cloud 服务账号。

创建和配置服务账号

如需将 BigQuery 与 Google SecOps 集成,您可以使用现有服务账号,也可以创建新服务账号。如需有关创建服务账号的指导,请参阅创建服务账号

如果您未使用工作负载身份电子邮件地址来配置集成,请在创建服务账号后以 JSON 格式创建服务账号密钥。配置集成参数时,您需要提供下载的 JSON 密钥文件的完整内容。

出于安全考虑,我们建议您使用工作负载身份电子邮件地址,而不是服务账号 JSON 密钥。如需详细了解工作负载身份,请参阅工作负载的身份

集成参数

BigQuery 集成需要以下参数:

参数 说明
Account Type

可选。

BigQuery 账号的类型。

提供服务账号密钥 JSON 文件中 type 参数中设置的值。

默认值为 service_account

Project ID

可选。

BigQuery 账号的项目 ID。

提供在身份验证 JSON 文件的 project_id 参数中设置的值。

Private Key ID

可选。

BigQuery 账号的私钥 ID。

提供身份验证 JSON 文件的 private_key_id 参数中设置的值。

Private Key

可选。

BigQuery 账号的私钥。

提供在身份验证 JSON 文件的 private_key 参数中设置的值。

Client Email

可选。

BigQuery 账号的客户端电子邮件地址。

提供在身份验证 JSON 文件的 client_email 参数中设置的值。

Client ID

可选。

BigQuery 账号的客户端 ID。

提供在身份验证 JSON 文件的 client_id 参数中设置的值。

Auth URI

可选。

BigQuery 账号的身份验证 URI。

提供身份验证 JSON 文件的 auth_uri 参数中设置的值。

默认值为 https://accounts.google.com/o/oauth2/auth

Token URI

可选。

BigQuery 账号的令牌 URI。

提供身份验证 JSON 文件的 token_uri 参数中设置的值。

默认值为 https://oauth2.googleapis.com/token

Auth Provider X509 URL

可选。

BigQuery 账号的身份验证提供方 X.509 网址。

提供身份验证 JSON 文件的 auth_provider_x509_cert_url 参数中设置的值。

默认值为 https://www.googleapis.com/oauth2/v1/certs

Client X509 URL

可选。

BigQuery 账号的客户端 X.509 网址。

提供身份验证 JSON 文件的 client_x509_cert_url 参数中设置的值。

默认值为 https://www.googleapis.com/oauth2/v1/certs

Service Account Json File Content

可选。

服务账号密钥 JSON 文件的内容。

您可以配置此参数或 Workload Identity Email 参数,也可以设置所有前面的集成参数。

如需配置此参数,请提供您在创建服务账号时下载的服务账号密钥 JSON 文件的完整内容。

如果您配置此参数,集成会忽略其他连接参数。

Workload Identity Email

可选。

您的服务账号的客户端电子邮件地址。

您可以配置此参数或 Service Account Json File Content 参数。

如果您设置了此参数,请配置 Quota Project ID 参数。

如需使用工作负载身份联合模拟服务账号,请向您的服务账号授予 Service Account Token Creator 角色。如需详细了解工作负载身份以及如何使用它们,请参阅工作负载的身份

Quota Project ID

可选。

您用于 Google Cloud API 和结算的 Google Cloud 项目 ID。此形参要求您向服务账号授予 Service Usage Consumer 角色。

如果您未为此参数设置值,集成会从您的 Google Cloud 服务账号中检索项目 ID。

Verify SSL

可选。

如果选中此选项,集成会在连接到 Google Cloud时验证 SSL 证书。

此选项将会默认选中。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在剧本中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例

操作

如需详细了解操作,请参阅处理“工作台”中的待处理操作执行手动操作

Ping

使用 Ping 操作测试与 BigQuery 的连接。

此操作不适用于 Google SecOps 实体。

操作输入

无。

操作输出

Ping 操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 不可用
输出消息 可用
脚本结果 可用
输出消息

Ping 操作可以返回以下输出消息:

输出消息 消息说明
Successfully connected to the Google BigQuery server with the provided connection parameters! 操作成功。
Failed to connect to the Google BigQuery server! Error is ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Ping 操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

运行自定义查询

使用运行自定义查询操作在 BigQuery 中执行自定义查询。

此操作不适用于 Google SecOps 实体。

操作输入

运行自定义查询操作需要以下参数:

参数 说明
Query

必填。

要执行的 SQL 查询。

Max Results To Return

可选。

每个响应返回的结果数。

默认值为 50

操作输出

运行自定义查询操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用运行自定义查询操作时收到的 JSON 结果输出:

{
    "Airport_Code": "CODE",
    "Airport_Name": "NAME",
    "Time_Label": "2015/05",
    "Time_Month": 5,
    "Time_Month_Name": "May",
    "Time_Year": 2015,
    "Statistics___of_Delays_Carrier": 351,
    "Statistics___of_Delays_Late_Aircraft": 546,
    "Statistics___of_Delays_National_Aviation_System": 292,
    "Statistics___of_Delays_Security": 2,
    "Statistics___of_Delays_Weather": 100,
    "Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
    "Statistics_Carriers_Total": 3,
    "Statistics_Flights_Cancelled": 88,
    "Statistics_Flights_Delayed": 1289,
    "Statistics_Flights_Diverted": 32,
    "Statistics_Flights_On_Time": 6182,
    "Statistics_Flights_Total": 7591,
    "Statistics_Minutes_Delayed_Carrier": 19332,
    "Statistics_Minutes_Delayed_Late_Aircraft": 34376,
    "Statistics_Minutes_Delayed_National_Aviation_System": 12346,
    "Statistics_Minutes_Delayed_Security": 48,
    "Statistics_Minutes_Delayed_Total": 76163,
    "Statistics_Minutes_Delayed_Weather": 100061
}
输出消息

运行自定义查询操作可以返回以下输出消息:

输出消息 消息说明
Successfully executed query in Google BigQuery! 操作成功。
Error executing action "Run Custom Query". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用运行自定义查询操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

运行 SQL 查询

使用 Run SQL Query 操作在 BigQuery 中执行查询。

此操作不适用于 Google SecOps 实体。

操作输入

运行 SQL 查询操作需要以下参数:

参数 说明
Dataset Name

必填。

执行查询时要使用的数据集的名称。

Query

必填。

要执行的 SQL 查询。

Max Results To Return

可选。

每个响应返回的结果数。

默认值为 50

操作输出

运行 SQL 查询操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 不可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例介绍了使用运行 SQL 查询操作时收到的 JSON 结果输出:

{
    "Airport_Code": "CODE",
    "Airport_Name": "NAME",
    "Time_Label": "2015/05",
    "Time_Month": 5,
    "Time_Month_Name": "May",
    "Time_Year": 2015,
    "Statistics___of_Delays_Carrier": 351,
    "Statistics___of_Delays_Late_Aircraft": 546,
    "Statistics___of_Delays_National_Aviation_System": 292,
    "Statistics___of_Delays_Security": 2,
    "Statistics___of_Delays_Weather": 100,
    "Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
    "Statistics_Carriers_Total": 3,
    "Statistics_Flights_Cancelled": 88,
    "Statistics_Flights_Delayed": 1289,
    "Statistics_Flights_Diverted": 32,
    "Statistics_Flights_On_Time": 6182,
    "Statistics_Flights_Total": 7591,
    "Statistics_Minutes_Delayed_Carrier": 19332,
    "Statistics_Minutes_Delayed_Late_Aircraft": 34376,
    "Statistics_Minutes_Delayed_National_Aviation_System": 12346,
    "Statistics_Minutes_Delayed_Security": 48,
    "Statistics_Minutes_Delayed_Total": 76163,
    "Statistics_Minutes_Delayed_Weather": 100061
}
输出消息

运行 SQL 查询操作可以返回以下输出消息:

输出消息 消息说明
Successfully executed query in the BigQuery dataset DATASET_NAME. 操作成功。
Error executing action "Run SQL Query". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Run SQL Query 操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。