通过高级 BigQuery 导出功能流式传输数据

支持的平台:

本文档介绍了如何使用 Advanced BigQuery Export 功能在 BigQuery 中访问和使用 Google SecOps 数据。作为企业 Plus 版客户,您可以使用此功能通过全代管式流式数据流水线近乎实时地访问安全数据。此功能有助于解决安全运营中的数据延迟这一关键挑战,从而实现更及时、更有效的威胁检测和响应。

准备工作

查看以下几点,了解资格要求和必要的操作:

  • 仅限企业 Plus 版客户:此功能仅适用于 Google SecOps 企业 Plus 版客户。对于所有其他客户,请参阅导出到自行管理的 BigQuery 项目
  • 需要启用功能:此功能可根据要求启用,可能需要在贵组织的 Google SecOps 实例中进行初始配置。如有必要,请与您的 Google SecOps 代表联系,确认是否已启用此功能。
  • 数据迁移:启用此功能后,除了按照导出到 Google 管理的 BigQuery 项目中所述将数据导出到 Google 管理的 BigQuery 项目之外,系统还会开始将数据导出到 Google SecOps 实例的新 BigQuery 租户项目。这种双重操作可让您顺利过渡到新功能。在为您的账号停用旧版导出流水线之前,我们会通知您。
  • VPC Service Controls:高级 BigQuery Export 可以在 VPC Service Controls 边界内运行。如需了解详情,请参阅配置 VPC Service Controls
  • 客户管理的加密密钥 (CMEK):如果客户在 Google SecOps 实例上启用了 CMEK,则可以使用高级 BigQuery Export。如需了解详情,请参阅 Google SecOps 的 CMEK。如果您将 CMEK 与 VPC Service Controls 搭配使用,请参阅为 Google SecOps 配置 VPC Service Controls,了解相关建议和说明。

功能概览

高级 BigQuery Export 会在 Google 管理的安全 BigQuery 项目中自动预配和管理基本的 Google SecOps 数据集,包括统一数据模型 (UDM) 事件、规则检测、实体图和失陷指标 (IoC) 匹配项。您可以通过 BigQuery 关联的数据集安全地以只读方式访问这些数据,该数据集会直接显示在您自己的 Google Cloud 项目中。借助此功能,您可以查询安全数据,就像这些数据存储在本地一样,但无需管理数据流水线或存储空间,从而节省开销。

Google SecOps 会将以下类别的安全数据导出到 BigQuery:

  • UDM 事件记录:根据客户提取的日志数据创建的 UDM 记录。这些记录会添加别名信息。
  • 规则匹配项(检测结果):规则与一个或多个事件匹配的实例。
  • IoC 匹配项:与 IoC Feed 匹配的事件中的制品(例如网域或 IP 地址)。这包括与全球 Feed 和特定客户 Feed 的匹配。
  • 注入指标:统计信息,例如注入的日志行数、从日志生成的事件数,以及指示无法解析日志的日志错误数。
  • 实体图和实体关系:实体及其与其他实体之间关系的说明。

核心优势

高级 BigQuery Export 的核心优势包括:

  • 近乎实时的数据新鲜度:借助流式架构,您可以在安全数据被提取后的几分钟内查询这些数据。UDM 事件、规则检测和 IoC 匹配项的预期延迟时间为 5-10 分钟。
  • 简化且可预测的费用模式:Google SecOps 会涵盖受管理的 BigQuery 项目中的所有数据注入和存储费用。贵组织只需负责在您运行查询时产生的 BigQuery 分析费用。
  • 无需维护的数据访问权限:底层基础架构完全由 Google 管理,让您的团队专注于数据分析,而不是数据工程。
  • 数据完整性和去重:安全数据在初始提取后会经常更新或重新丰富。该功能使用精细的数据操纵语言 (DML) 合并来就地更新记录。您无需编写复杂的 SQL 去重例程,即可获得干净且去重后的数据。
  • 顺畅的 MSSP 支持(枢纽辐射型):托管安全服务提供商 (MSSP) 可以通过以编程方式从单个集中式枢纽项目订阅客户的关联数据集,高效地管理多个客户租户的分析。
  • 内置合规性:此功能原生支持 VPC Service Controls客户管理的加密密钥 (CMEK) 和数据驻留 (DRZ)。面向客户的审核日志(Access Transparency)会使用联合资源识别服务 (FRIS) 直接交付到您的 Cloud Logging 工作区。

常见使用场景

高级 BigQuery Export 专为安全分析师、威胁搜寻者、数据科学家和安全工程师而设计,可让他们直接、高效地访问最新的安全数据,以便进行临时调查、自定义分析以及与商业智能工具集成。

高级 BigQuery Export 的常见应用场景包括:

  • 直接在 BigQuery 中运行临时查询。
  • 使用您自己的商业智能工具(例如 Microsoft Power BI)创建信息中心、报告和分析。
  • 将 Google SecOps 数据与第三方数据集联接。

架构

高级 BigQuery Export 架构使用持续的流式传输流水线。Google SecOps 实例中的数据会使用高吞吐量的 BigQuery Storage Write API 推送到安全的 Google 管理的租户项目。

Google SecOps 会使用 BigQuery 共享功能创建安全的数据清单,并向您授予访问权限。在 BigQuery 的探索器窗格中,您的 Google Cloud 项目会自动订阅此商品详情,并显示为secops_linked_datalake 关联数据集

此模型支持强大的数据隔离,同时为您提供无缝的只读查询访问权限。

主要术语

以下是高级 BigQuery Export 的一些关键术语和概念:

  • 租户项目:由 Google SecOps 拥有和管理的 Google Cloud 项目。此项目用于实际存储和管理导出的安全数据。您无法直接访问此项目。
  • 自带项目 (BYOP):贵组织拥有并与 Google SecOps 实例相关联的 Google Cloud 项目。这是关联数据集显示的项目,您可以在其中运行查询并产生分析费用。
  • 项目 ID:与您的 Google SecOps 实例相关联的 Google Cloud 项目的全局唯一标识符。
  • 关联的数据集:一个只读 BigQuery 数据集,用作其他项目中共享数据集的符号链接或指针。这样一来,您无需复制数据即可查询数据,在数据提供方管理物理存储的同时,您还可以安全地访问数据。
  • 精细 DML (FGDML):Advanced BigQuery Export 用于执行 upsert(更新和插入)的自动化后端进程。如果事件延迟到达或重新丰富,系统会根据其唯一标识符(例如 metadata.id)就地更新现有行,而不是创建重复项。
  • 统一数据模型 (UDM):Google 的可扩展标准架构,用于将数百种供应商产品的安全遥测数据解析和标准化为一致的格式。
  • 代管式安全服务提供商 (MSSP):经过认证的 MSSP 可提供全面的工具和专业知识,帮助您加强防御,抵御不断演变的网络安全威胁。 Google Cloud

设置系统

如需使用高级 BigQuery Export,您必须先设置系统。根据您的环境和要求,按照以下部分之一中的说明操作。

默认设置

请按照以下步骤设置系统以使用高级 BigQuery Export 功能,并开始查询数据:

  1. 确认许可:确保您的组织拥有 Google SecOps 企业 Plus 版许可。
  2. 确定您的项目:登录 Google Cloud 控制台,然后选择与您的 Google SecOps 实例相关联的 Google Cloud 项目。
  3. 找到关联的数据集:在 BigQuery 控制台中,使用探索器窗格导航到项目的资源。您会看到一个名为 secops_linked_datalake 的关联数据集。此数据集是指向由 Google SecOps 管理的实时安全数据的只读指针。
  4. Identity and Access Management (IAM) 权限:如需查询数据,您的用户账号或服务账号必须在您的项目上获得以下 IAM 角色:

    • roles/bigquery.dataViewer:组织中的最终用户或 BI 工具需要此权限才能针对关联的数据集视图运行 SQL 查询。
    • roles/bigquery.jobUser:组织中的最终用户或 BI 工具需要此权限才能针对关联的数据集视图运行 SQL 查询。
    • Chronicle API Admin:在 Google SecOps 中是必需的,用于执行数据层 API(例如 ProvisionPartnerSubscription)来管理 MSSP 订阅。

    通过这些角色,用户(例如安全分析师和数据使用者)可以查询关联数据集中的数据,并在其项目中运行 BigQuery 作业。

  5. 运行测试查询:打开 BigQuery SQL 工作区,然后运行基本查询,以验证您的访问权限是否已正确配置。您可以使用以下代码段:

    SELECT *
    FROM `PROJECT_ID.secops_linked_datalake.events`
    LIMIT 10;
    

    PROJECT_ID 替换为您的实际 Google Cloud 项目 ID。

在 VPC Service Controls 边界内设置高级 BigQuery Export

如需在 VPC Service Controls 边界内设置高级 BigQuery Export,您需要配置特定的入站规则。此规则允许必要的 Google SecOps 服务账号与受边界保护的项目中的 BigQuery 及相关服务进行交互。如需详细说明和更多信息,请参阅为 Google Security Operations 配置 VPC Service Controls

  • 如需在 VPC Service Controls 边界内设置高级 BigQuery Export,请配置以下入站流量规则:

    - ingressFrom:
        identities:
        - serviceAccount:malachite-advanced-bq-exporter@system.gserviceaccount.com
        - serviceAccount:malachite-data-export-service@system.gserviceaccount.com
        sources:
        - accessLevel: "*"
      ingressTo:
        operations:
        - serviceName: analyticshub.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: bigquery.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - projects/PROJECT_NUMBER
    

    PROJECT_NUMBER 替换为与 Google SecOps 关联的 Google Cloud 项目编号。

对于 MSSP - 设置对子租户 BigQuery 数据的集中式访问权限

如果您是 MSSP,则可以利用 Google SecOps 数据平面 API 以编程方式在您的中央“枢纽”项目中创建 BigQuery 关联数据集。这些关联的数据集指向客户(辐条)的 BigQuery 数据,使您能够从单一管理平台跨多个租户进行查询。在此过程中,您的客户需要向您的 MSSP 实例授予访问权限。

主要优势包括:

  • 集中式查看:在一个位置分析所有客户的安全数据。
  • 高效的工作流程:简化整个客户群的威胁搜寻和报告流程。
  • 以编程方式管理:自动设置和拆解数据访问权限。

前提条件

  • MSSP

    • 一个 Google Cloud 项目,用作您的中央“枢纽”。
    • Google SecOps 实例。
    • 在枢纽项目中管理 BigQuery 数据集的相应 IAM 权限。
  • 客户(子租户)

    • Google SecOps 企业 Plus 版许可。
    • 与您的 Google SecOps 实例相关联的 Google Cloud 项目 (BYOP)。
    • 管理 Google SecOps API 访问权限的相应 IAM 权限。
    • gcloud CLI 已安装并通过身份验证。

第 1 步:客户授予 MSSP 访问权限

客户可以调用 ProvisionPartnerSubscription API,向其 MSSP 的 Google SecOps 实例授予权限。Google SecOps 会在与 MSSP 的 Google SecOps 实例相关联的 MSSP 的 Google Cloud 项目中自动预配一个 BigQuery 关联数据集,其名称格式为 secops_linked_datalake_<customer_id>。此数据集会关联到客户的 Google SecOps 数据。

API endpoint:
POST
https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription
方法

POST

请求正文

空的 JSON 对象。

{}

示例 C网址 命令(由客户运行)

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription"

替换以下占位符:

  • CUSTOMER_PROJECT:客户的 Google Cloud 项目 ID 或项目编号。请参阅创建和管理项目
  • REGION:客户的 Google SecOps 实例所在的 Google Cloud 区域(例如 us、europe-west2)。请参阅地区列表。
  • CUSTOMER_INSTANCE_ID:客户的 Google SecOps 实例 ID。
响应正文

返回包含订阅详细信息的 ProvisionPartnerSubscriptionResponse

{
  "subscriptionDetails": {
    "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
    "linkedDataset": "string"
  }
}
  • SUBSCRIBER_PROJECT_ID:订阅方 MSSP 的 Google Cloud 项目 ID。
  • SUBSCRIBER_REGION:订阅者的 Google Cloud 项目所在的区域。
  • SUBSCRIPTION_ID:现有订阅的唯一标识符。

第 2 步:MSSP 跨租户查询数据

在您的 (MSSP) Google Cloud 项目中预配多个客户的关联数据集后,您可以使用标准 BigQuery SQL 查询来分析数据。如需跨多个客户进行查询,请使用 UNION ALL 运算符。

示例查询(由 MSSP 在其枢纽项目中使用)

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_1.events`
WHERE <your_conditions>

UNION ALL

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_2.events`
WHERE <your_conditions>

-- Add more UNION ALL clauses for other customers

第 3 步:客户审核访问权限

客户可以调用 fetchSubscriptions API 来查看所有有效订阅和访问其数据的 MSSP 实例。

API 端点
GET https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions
方法

GET

示例 C网址 命令(由客户运行)

curl -X GET \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions"

替换以下占位符:

  • CUSTOMER_PROJECT:客户的 Google Cloud 项目 ID 或项目编号。请参阅创建和管理项目
  • REGION:客户的 Google SecOps 实例所在的 Google Cloud 区域(例如美国、europe-west2)。请参阅地区列表。
  • CUSTOMER_INSTANCE_ID:客户的 Google SecOps 实例 ID。
响应正文

返回 FetchSubscriptionsResponse,其中包含有效订阅的列表。

{
  "subscriptions": [
    {
      "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
      "linkedDataset": "string"
    }
  ]
}
  • SUBSCRIBER_PROJECT_ID:订阅方的 Google Cloud 项目 ID。订阅者可以指客户或 MSSP。
  • SUBSCRIBER_REGION:订阅者的 Google Cloud 项目所在的区域。
  • SUBSCRIPTION_ID:现有订阅的唯一标识符。

第 4 步:客户撤消访问权限(如果需要)

如果客户需要撤消 MSSP 的访问权限,可以使用 revokePartnerSubscription API。此操作会立即撤消使用 MSSP 的枢纽项目查询关联数据集的权限。被撤消的订阅的 ID 会变为无效。

API 端点
POST https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription
方法

POST

请求正文

需要撤消的订阅的 URI,该 URI 是通过 fetchSubscriptions API 调用获得的。

{
  "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
}

示例 C网址 命令(由客户运行)

# Set subscription details obtained from Fetch Subscriptions
export SUBSCRIBER_PROJECT_ID="partner-byop-project-id"
export SUBSCRIBER_REGION="subscription-location"
export SUBSCRIPTION_ID="subscription-id"

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
  }' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription"

替换以下占位符:

  • SUBSCRIBER_PROJECT_ID:订阅方的 Google Cloud 项目 ID。
  • SUBSCRIBER_REGION:订阅者的 Google Cloud 项目所在的区域。
  • SUBSCRIPTION_ID:现有订阅的唯一标识符。
  • CUSTOMER_PROJECT:客户的 Google Cloud 项目 ID 或项目编号。
  • REGION:客户的 Google SecOps 实例所在的 Google Cloud 区域。
  • CUSTOMER_INSTANCE_ID:客户的 Google SecOps 实例 ID。
响应正文

空的 JSON 对象。

{}

查询 BigQuery 数据

您可以直接在 BigQuery 中运行查询,也可以将自己的商业智能工具(例如 Microsoft Power BI)连接到 BigQuery。

如需详细了解查询,请参阅以下内容:

BigQuery 租户项目中的数据保留期限

BigQuery 中数据的保留期限与为 Google SecOps 租户配置的数据保留期限相同。没有单独的可配置设置来为 BigQuery 中的数据自定义保留政策。当数据超出租户的保留期限时,系统会自动从 BigQuery 表中清除这些数据。

关联的数据集

关联的数据集包含与不同类型的安全数据对应的表。

下表汇总了可用的数据集、其目标数据新鲜度以及用于确保数据完整性的唯一标识符:

数据集名称 说明 最佳预期新鲜度 用于去重的唯一标识符
events UDM 架构中的标准化安全事件。如需了解架构,请参阅 Google SecOps 事件架构 5 分钟内 id(字符串表示形式)
rule_detections 由 Google SecOps 检测引擎规则生成的检测。 5 分钟内 detection.id
ioc_matches 根据 UDM 事件发现的失陷指标 (IOC) 匹配项。 5 分钟内 day_bucket_seconds、feed_log_type、ioc_type、ioc_value 的复合键
entity_graph 有关实体(用户、资产)及其关系的情境数据。 约 4 小时(批处理) partition_day、metadata.product_entity_id、metadata.event_metadata.id 的复合键
ingestion_metrics 有关日志提取量和数据源的统计信息。 约 5 分钟 无(仅附加时间序列)
entity_enum_value_to_name_mapping 将数值映射到实体图枚举类型的字符串值。 不适用
udm_enum_value_to_name_mapping 将数值映射到 UDM 事件枚举类型的字符串值。 不适用

查询示例

以下示例展示了如何针对常见的安全用例查询数据集。

示例 - 查找过去 24 小时内来自特定 IP 地址的所有网络连接

此查询会在事件表中搜索来自可疑 IP 地址的近期网络活动。

SELECT
  metadata.product_event_type,
  principal.ip,
  target.ip,
  network.application_protocol
FROM
  `PROJECT_ID.secops_linked_datalake.events`
WHERE
  principal.ip = '192.0.2.1'
  AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);
  • PROJECT_ID 替换为您的 Google Cloud 项目 ID。

示例 - 统计检测次数最多的前 10 条规则

此针对 rule_detections 表的查询有助于识别您的环境中检测到的最常见威胁或政策违规行为。

SELECT
  rule_name,
  COUNT(*) AS detection_count
FROM
  `PROJECT_ID.secops_linked_datalake.rule_detections`
WHERE
  detection.id IS NOT NULL
GROUP BY
  1
ORDER BY
  2 DESC
LIMIT
  10;
  • PROJECT_ID 替换为您的 Google Cloud 项目 ID。

最佳做法

以下是使用高级 BigQuery Export 进行查询的一些最佳实践:

  • 优化查询费用:即使存储空间是免费的,计算费用也会计入您的项目,因此请执行以下操作:

    • 避免使用 SELECT *。在查询中,仅指定所需的列,以减少扫描的数据量并降低查询费用。
    • 请确保您的查询利用 BigQuery 分区(使用 hour_time_bucket 分区时间列)和聚类(hour_time_bucket、log_type、event_type、id)来扫描更少的数据,从而大幅降低查询费用。
  • 使用分区过滤条件:events 表按 hour_time_bucket 列进行分区。请务必在此列中添加 WHERE 子句过滤条件,以将查询限制在尽可能小的时间窗口内,从而显著提高性能并降低费用。

  • 编写高效查询:UDM 架构宽而稀疏。如需高效过滤特定事件类型,请使用 WHERE... 相关字段的 IS NOT NULL。例如,如需仅查找 DNS 查询,请过滤 WHERE network.dns.questions.name IS NOT NULL。

  • 验证查询:在运行查询之前,请使用 BigQuery 界面中的查询验证器。查询验证器会提供处理的数据量估计值,帮助您避免意外的大型查询和高成本查询。

  • 使用枚举映射表: Advanced BigQuery Export 功能包含 entity_enum_value_to_name_mapping 和 udm_enum_value_to_name_mapping 表。您可以使用这些表来与事件联接,从而将数字枚举值转换为直观易懂的字符串,而无需在查询中编写手动翻译逻辑。

  • 审核日志记录集成:高级 BigQuery Export 与 Federated Resource Identification Service (FRIS) 集成。如果 Google 人员访问了受管理的租户项目,则使用 Google Access Transparency 功能的面向客户的审核日志会以原生方式交付到您的自带平台 Cloud Logging 工作区中。

已知限制

以下是高级 BigQuery Export 功能的已知限制:

  • 实体图谱延迟时间:entity_graph 数据集使用批处理流程导出,数据新鲜度约为 4 小时。
  • UDM 架构列数限制:BigQuery 对每个表的列数设置了 10,000 的软限制。UDM 架构包含超过 27,000 个字段,并且填充稀疏。导出流水线会智能地仅包含给定事件的已填充列,从而使大多数客户的导出量远低于上限。Google SecOps 会监控列使用情况,并在列使用量接近此阈值时主动为您的租户项目申请提高限额。
  • 保留期限不可配置:导出到 BigQuery 的所有安全数据的保留期限会自动与 Google SecOps 项目的数据保留期限同步,无法单独配置。
  • 不支持 SOAR 数据:高级 BigQuery Export 不支持 Google Security Operations SOAR (search_everything_db) 中的数据。
  • 不支持跨区域联合:支持在同一区域内使用中心辐射型 MSSP 订阅。不支持跨区域联合(例如,从美国到欧洲)。
  • 可能会出现重复事件(概率低于 1%):虽然系统使用 DML 合并来自动处理重复数据删除,但由于分布式流式传输的特性,在后台合并完成之前,在边缘情况下的提取窗口中可能会出现重复事件(概率低于 1%)。
  • 历史数据可供访问,但需要使用特定方法:数据导出从启用高级 BigQuery Export 的那一刻开始,旧数据仍可在现有项目中访问。如需查询在启用高级 BigQuery Export 之前导出的数据,您需要使用单个查询来联接两个项目中的数据,或者对相应项目运行两个单独的查询(一个用于旧数据集,另一个用于新数据集)。

问题排查和支持

下表提供了您可能会遇到的常见问题的解决方案:

观测到的症状 可能的原因 推荐措施
查询失败,并显示 Access Denied: User does not have permission. 用户或服务账号缺少与 Google SecOps 实例关联的 Google Cloud 项目的必要 BigQuery IAM 角色。 向该正文授予 BigQuery Data ViewerBigQuery Job User 角色。使用 gcloud projects get-iam-policy YOUR_PROJECT_ID --flatten="bindings.members" --format='table(bindings.role)' --filter="bindings.members:user:your-user@example.com" 验证此信息
secops_linked_datalake 数据集未显示在我的 BigQuery 项目中。 1. 您不在正确的 Google Cloud 项目
中。2. 贵组织未订阅企业 Plus 版。
3. 您的组织使用的是企业 Plus 版方案,但您的 Google SecOps 实例中未启用高级 BigQuery Export。
1. 在 Google Cloud 控制台中,验证您是否已选择与 Google SecOps 实例关联的项目。
2. 请与您的 Google 代表联系,确认您的 Google SecOps 许可层级。
3. 与您的 Google SecOps 代表联系,让对方在您的 Google SecOps 实例中启用高级 BigQuery Export 功能。
API 调用失败,并显示 ProvisionPartnerSubscriptionFetchSubscriptions 的权限错误 调用身份缺少所需权限。 确保发出调用的服务账号或用户具有 Chronicle API 管理员 IAM 角色,该角色包含对 Hub 实例资源的权限。
缺少自定义列或架构不匹配 系统提取了全新的日志类型或深度嵌套的 UDM 字段。 高级 BigQuery Export 使用动态架构更新。当新的 UDM 字段填充完毕后,系统会自动检测到架构不匹配,短暂暂停,更新 BigQuery 架构,然后重试插入操作。对此,您无需执行任何操作。

常见问题解答

以下部分是一些常见问题。

我是否需要修改现有的旧版 BigQuery SQL 查询才能使用高级 Google SecOps Export?

不会。为了保持 100% 的向后兼容性,Google SecOps 会在关联的数据集中公开视图(例如 events、ioc_matches),这些视图与旧版 Google SecOps 导出功能的表架构完全匹配。

我可以调整高级 BigQuery Export 的数据保留期限吗?

不会。高级 BigQuery Export 中的数据保留期限直接反映了您的 Google SecOps 数据保留政策。当 Google SecOps 中的数据过期时,系统会自动使数据过期并将其从 BigQuery 租户项目中删除。

Will I be charged for the backend DML updates and deduplication?

不会。所有后端存储、流式插入操作和细粒度 DML 计算费用均由 Google SecOps 承担。您只需为在自带许可 (BYOP) 中明确运行的查询付费。

Google SecOps 标准版或企业版层级是否提供此功能?

不可以。高级 BigQuery Export(受管理的存储空间和流式传输)是一项仅限 Google SecOps 企业 Plus 版的高级功能。标准版和企业版客户可以使用自带 BigQuery (BYOBQ) 模式,即客户提供 BigQuery 项目并承担存储和计算费用。

为什么高级 BigQuery Export 中的数据与 Google Security Operations 界面中显示的统计信息之间可能会出现暂时性差异?

由于高级 BigQuery Export 流水线具有近乎实时、流式传输的特性,因此可能会出现暂时性差异。主要原因如下:

  • 延迟到达的数据:导出流水线旨在实现高吞吐量。大多数数据会在 5 到 10 分钟内显示在 BigQuery 中。不过,由于网络延迟或源系统问题,事件有时可能会延迟到达处理流水线。虽然系统会尽量合并这些延迟事件,但可能会出现一个短暂的时间窗口,在此期间,反映绝对最新状态的实时界面统计信息与正在持续更新的 BigQuery 数据有所不同。

  • 数据重新丰富:Google SecOps 会不断使用最新的威胁情报和背景信息来丰富事件数据。高级 BigQuery Export 会根据事件在初始丰富时的状态导出事件。如果某个事件在流式传输到 BigQuery 后重新通过新信息进行了丰富,则此更新后的版本可能不会立即反映在 BigQuery 中。这可能会导致在与始终显示完全重新丰富的数据的界面元素进行比较时出现差异。

  • DML 合并延迟时间:为了让 BigQuery 中的数据保持最新状态,并处理迟到的数据或潜在的重复数据等情况,该流水线会在后台使用数据操纵语言 (DML) MERGE 操作。虽然这些操作很高效,但并非即时完成。由于需要处理这些合并,因此会产生固有的延迟,对于细粒度更新尤其如此。在此合并间隔期间,针对 BigQuery 的查询可能无法捕获 Google Security Operations 界面中已显示的最新微更新。

由于上述因素(延迟数据、重新丰富处理和合并延迟),BigQuery 与实时界面统计信息在任何精确时刻都可能无法实现完全 1:1 的匹配。高级 BigQuery Export 提供近乎实时的数据,非常适合威胁搜寻、自定义分析和信息中心等应用场景,在这些应用场景中,数据新鲜度至关重要。如果出于审核目的需要绝对的时间点一致性,请考虑可能存在的细微瞬时差异。

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