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

支持的平台:

本文档介绍了如何通过高级 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):高级 BigQuery Export 功能适用于在其 Google SecOps 实例上启用了 CMEK 的客户。如需了解详情,请参阅 Google SecOps 的 CMEK。如果您将 CMEK 与 VPC Service Controls 搭配使用,请参阅为 Google SecOps 配置 VPC Service Controls,了解相关建议和说明。

功能概览

高级 BigQuery 导出功能会在 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 导出架构使用持续流处理流水线。Google SecOps 实例中的数据会使用高吞吐量 BigQuery Storage Write API (gRPC) 推送到安全的 Google 管理的租户项目。

Google SecOps 会使用 BigQuery Sharing 功能创建安全的数据清单,并为您提供访问权限。在 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):高级 BigQuery Export 功能用于执行 upsert(更新和插入)的自动化后端流程。如果事件延迟到达或重新丰富,系统会根据其唯一标识符(例如 metadata.id)就地更新现有行,而不是创建重复行。
  • 统一数据模型 (UDM):Google 的可扩展标准架构,用于将数百种供应商产品的安全遥测数据解析和标准化为一致的格式。
  • 托管式安全服务提供商 (MSSP): Google Cloud 经过认证的 MSSP 可提供一整套工具和专业知识,帮助您强化防御,抵御不断演变的网络安全威胁。

设置系统

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

默认设置

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

  1. 确认您的许可:确保您的组织拥有 Google SecOps Enterprise 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 导出

如需在 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 端点:
POST
https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription
方法

POST

请求正文

空的 JSON 对象。

{}

示例 CURL 命令(由客户运行):

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 区域(例如,美国、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

CURL 命令示例(由客户运行):

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 区域(例如 us、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"
}

CURL 命令示例(由客户运行):

# 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)来扫描更少的数据,并显著降低查询费用。
  • 使用分区过滤条件:事件表按 hour_time_bucket 列进行分区。请务必在此列中添加 WHERE 子句过滤条件,以将查询限制在尽可能小的时间窗口内,从而显著提高性能并降低费用。

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

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

  • 使用枚举映射表:高级 BigQuery Export 功能包含 entity_enum_value_to_name_mapping 和 udm_enum_value_to_name_mapping 表。使用这些表可针对您的事件进行联接,从而将数字枚举值转换为人类可读的字符串,而无需在查询中编写手动翻译逻辑。

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

已知限制

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

  • 实体图谱延迟时间:实体图谱数据集使用批处理流程导出,数据新鲜度约为 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 Viewer 和 BigQuery 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 导出功能。
1. 在 Google Cloud 控制台中,验证您是否已选择与 Google SecOps 实例关联的项目。
2. 请与您的 Google 代表联系,确认您的 Google SecOps 许可层级。
3. 请与您的 Google SecOps 代表联系,让他们在您的 Google SecOps 实例中启用高级 BigQuery Export。
API 调用失败,并显示 ProvisionPartnerSubscription 或 FetchSubscriptions 的权限错误 调用身份缺少所需权限。 确保发出调用的服务账号或用户具有 Chronicle API Administrator IAM 角色,该角色包含对 hub 实例资源的权限。
缺少自定义列或架构不匹配 注入了全新的日志类型或深度嵌套的 UDM 字段。 高级 BigQuery Export 功能使用动态架构更新。当新的 UDM 字段填充完毕后,系统会自动检测到架构不匹配,短暂暂停,更新 BigQuery 架构,然后重试插入操作。对此,您无需执行任何操作。

常见问题解答

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

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

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

我可以调整高级 BigQuery 导出功能的数据保留期限吗?

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

我是否需要为后端 DML 更新和重复数据删除付费?

不会。所有后端存储、流式插入操作和细粒度 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 与实时界面统计信息在任何精确秒数内可能并不总是完美匹配。高级 BigQuery 导出功能提供近乎实时的数据,针对威胁搜寻、自定义分析和信息中心等应用场景进行了优化,在这些应用场景中,几分钟内的数据新鲜度至关重要。对于需要绝对时间点一致性的审核目的,请考虑可能存在细微的暂时性差异。

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