Feed 管理用户指南

概览和前提条件

借助 Google Security Operations Feed 管理功能,您可以创建和管理 Google Security Operations 账号的数据 Feed。Feed 管理界面是以 Feed Management API 为基础构建的。如需了解详情,请参阅 Feed Management API 文档。

每个数据 Feed 都有自己的一套前提条件,在 Google Security Operations 中设置 Feed 之前必须完成这些前提条件。Feed Management API 文档的按类型划分的 Feed 配置部分列出了这些前提条件。搜索您需要设置的数据 Feed 类型,然后按照提供的说明操作。

删除源文件

概览部分所述,不同类型的 Feed 有不同的前提条件。

对于多种 Feed 类型(包括 Cloud Storage),添加新 Feed修改 Feed 工作流程中都有一个名为来源删除选项的字段。此菜单有三个选项:

  1. 永不删除文件
  2. 删除转移的文件和空目录
  3. 删除传输的文件

方法 2 和方法 3 涉及删除:一次删除文件,一次删除文件和任何空目录。如果您选择这两个选项中的任意一个,则需要添加特定于您的 Feed 类型的权限,详情请参阅 Feed Management API 文档的按类型划分的 Feed 配置部分。

通过此选项,您可以在转移对象后将其从存储系统中删除。Feed 会始终记住已传输的对象(或文件),并且绝不会传输同一个文件两次(除非文件已更新),但如果您希望系统在传输(成功)传输后删除源对象,则必须设置此选项。

Microsoft Azure Blob Storage 不支持删除源文件。以下来源删除选项不得用于 Microsoft Azure Blob Storage 来源类型:

  • 删除转移的文件和空目录
  • 删除传输的文件

使用 Microsoft Azure Blob Storage 源创建 Feed 时,请仅选择永不删除文件选项。

创建和修改 Feed

如需访问 Feed 管理界面,请按以下步骤操作:

  1. 在导航栏中,点击设置

  2. 设置下,点击 Feed

此页面上列出的数据 Feed 除了包含您已配置的 Feed 外,还包含 Google 为您的帐号配置的所有 Feed。

添加 Feed

如需向您的 Google Security Operations 账号添加 Feed,请完成以下步骤。在尝试在此处添加新 Feed 之前,请务必满足您计划添加的数据 Feed 类型的前提条件。如需了解详情,请参阅概览和前提条件部分。

对于每种日志类型,最多可以添加五个 Feed。

  1. 点击 Add New(新增)。系统随即会显示添加 Feed 窗口。

  2. 添加 Feed 名称。
    注意:新 Feed 需要有 Feed 名称。现有 Feed 的“Feed”页面上会显示[未配置]

  3. 从菜单中选择来源类型。来源类型是您打算用来将数据引入 Google Security Operations 的机制。您可以从以下 Feed 来源类型中进行选择:

    • Amazon 数据 Firehose
    • Amazon S3
    • Amazon SQS
    • Google Cloud Pub/Sub
    • Google Cloud Storage
    • HTTP(S) 文件(非 API)
    • Microsoft Azure Blob Storage
    • 第三方 API
    • Webhook
  4. 从菜单中选择日志类型。可用的日志取决于您之前选择的来源类型。点击下一步

    如果选择 Google Cloud Storage 作为来源类型,请使用获取服务帐号选项获取唯一服务帐号。有关本文档,请参阅 Google Cloud Storage Feed 设置示例

  5. Input Parameters(输入参数)标签页指定所需的参数。此处显示的选项因在设置属性标签页上选择的来源和日志类型而异。将鼠标指针悬停在每个字段对应的问号图标上,即可详细了解您需要提供的信息。

  6. (可选)您可以在此处指定命名空间。如需详细了解命名空间,请参阅资产命名空间文档

  7. 点击下一步

  8. 敲定标签页中查看新 Feed 的配置。一切就绪后,点击提交。Google Security Operations 会完成新 Feed 的验证检查。如果 Feed 通过检查,系统会为该 Feed 生成一个名称,并将其提交给 Google Security Operations,然后 Google Security Operations 会开始尝试提取数据。

    完成 Feed 请求

    图 4. 完成 Feed 请求

设置 Pub/Sub 推送 Feed

如需设置 Pub/Sub 推送 Feed,请执行以下操作:

  1. 创建 Pub/Sub 推送 Feed。
  2. 在 Pub/Sub 订阅中指定端点网址。

创建 Pub/Sub 推送 Feed

  1. 在 Google Security Operations 菜单中,选择 Settings,然后点击 Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称。
  4. 来源类型列表中,选择 Google Cloud Pub/Sub 推送
  5. 选择日志类型。例如,如需为 Open Cybersecurity Schema Framework 创建 Feed,请选择 Open Cybersecurity Schema Framework (OCSF) 作为 Log type
  6. 点击下一步
  7. 可选:指定以下输入参数的值:
    • 拆分分隔符:用于分隔日志行的分隔符,例如 \n
    • 资产命名空间资产命名空间
    • 提取标签:要应用于此 Feed 中的事件的标签。
  8. 点击下一步
  9. 敲定屏幕中检查新 Feed 配置,然后点击提交
  10. 详细信息标签页中,从端点信息字段复制 Feed 端点网址。 您需要此端点网址才能在 Pub/Sub 中创建推送订阅。
  11. 要停用 Feed,请点击已启用 Feed 切换开关。默认情况下,Feed 处于启用状态。
  12. 点击完成

指定端点网址

创建 Pub/Sub 推送 Feed 后,在 Pub/Sub 中创建推送订阅、指定 HTTPS 端点并启用身份验证。

  1. 在 Pub/Sub 中创建推送订阅。如需详细了解如何创建推送订阅,请参阅创建推送订阅
  2. 指定端点网址,您可以在 Google Cloud Pub/Sub 推送 Feed 中找到该网址。
  3. 选择启用身份验证,然后选择一个服务帐号。

设置 Amazon Data Firehose Feed

要设置 Amazon Data Firehose Feed,请执行以下操作:

  1. 创建 Amazon Data Firehose Feed 并复制端点网址和密钥。
  2. 创建 API 密钥以向 Google Security Operations 进行身份验证。您还可以重复使用现有的 API 密钥向 Google Security Operations 进行身份验证。
  3. 在 Amazon Data Firehose 中指定端点网址。

创建 Amazon Data Firehose Feed

  1. 在 Google Security Operations 菜单中,选择 Settings,然后点击 Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称。
  4. 来源类型列表中,选择 Amazon Data Firehose
  5. 选择日志类型。例如,如需为 Open Cybersecurity Schema Framework 创建 Feed,请选择 Open Cybersecurity Schema Framework (OCSF) 作为 Log type
  6. 点击下一步
  7. 可选:指定以下输入参数的值:
    • 拆分分隔符:用于分隔日志行的分隔符,例如 \n
    • 资产命名空间资产命名空间
    • 提取标签:要应用于此 Feed 中的事件的标签。
  8. 点击下一步
  9. 敲定屏幕中检查新 Feed 配置,然后点击提交
  10. 点击 Generate Secret Key(生成密钥),以生成用于对此 Feed 进行身份验证的密钥。
  11. 复制并存储密钥,因为您无法再查看此密钥。您可以再次生成新的密钥,但重新生成密钥会使以前的密钥失效。
  12. 详细信息标签页中,从端点信息字段复制 Feed 端点网址。 在 Amazon Data Firehose 中指定传送流的目标设置时,您需要使用此端点网址。
  13. 要停用 Feed,请点击已启用 Feed 切换开关。默认情况下,Feed 处于启用状态。
  14. 点击完成

为 Amazon Data Firehose Feed 创建 API 密钥

  1. 前往 Google Cloud 控制台的凭据页面。
  2. 点击创建凭据,然后选择 API 密钥
  3. 限制对 Chronicle API 的 API 密钥访问。

指定端点网址

在 Amazon Data Firehose 中,指定 HTTPS 端点和访问密钥。

  1. 将 API 密钥附加到 Feed 端点网址,并按以下格式将此网址指定为 HTTP 端点网址:

      ENDPOINT_URL?key=API_KEY
    

    请替换以下内容:

    • ENDPOINT_URL:Feed 端点网址。
    • API_KEY:用于向 Google Security Operations 进行身份验证的 API 密钥。
  2. 对于访问密钥,请指定您在创建 Amazon Data Firehose Feed 时获取的密钥。

设置 HTTPS 网络钩子 Feed

如需设置 HTTPS 网络钩子 Feed,请执行以下操作:

  1. 创建 HTTPS 网络钩子 Feed 并复制端点网址和密钥。
  2. 创建使用端点网址指定的 API 密钥。您还可以重复使用现有的 API 密钥向 Google Security Operations 进行身份验证。
  3. 在您的应用中指定端点网址。

创建 HTTPS 网络钩子 Feed

  1. 在 Google Security Operations 菜单中,选择 Settings,然后点击 Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称。
  4. 来源类型列表中,选择网络钩子
  5. 选择日志类型。例如,如需为 Open Cybersecurity Schema Framework 创建 Feed,请选择 Open Cybersecurity Schema Framework (OCSF) 作为 Log type
  6. 点击下一步
  7. 可选:指定以下输入参数的值:
    • 拆分分隔符:用于分隔日志行的分隔符,例如 \n
    • 资产命名空间资产命名空间
    • 提取标签:要应用于此 Feed 中的事件的标签。
  8. 点击下一步
  9. 敲定屏幕中检查新 Feed 配置,然后点击提交
  10. 点击 Generate Secret Key(生成密钥),以生成用于对此 Feed 进行身份验证的密钥。
  11. 复制并存储密钥,因为您无法再查看此密钥。您可以再次生成新的密钥,但重新生成密钥会使以前的密钥失效。
  12. 详细信息标签页中,从端点信息字段复制 Feed 端点网址。 您需要在客户端应用中指定此端点网址。
  13. 要停用 Feed,请点击已启用 Feed 切换开关。默认情况下,Feed 处于启用状态。
  14. 点击完成

为网络钩子 Feed 创建 API 密钥

  1. 前往 Google Cloud 控制台的凭据页面。
  2. 点击创建凭据,然后选择 API 密钥
  3. 限制对 Chronicle API 的 API 密钥访问。

指定端点网址

  1. 在客户端应用中,指定 webhook 供稿中提供的 HTTPS 端点。
  2. 请按以下格式将 API 密钥和密钥指定为自定义标头的一部分,从而启用身份验证:

    X-goog-api-key = API_KEY

    X-Webhook-Access-Key = SECRET

    我们建议您将 API 密钥指定为标头,而不是在网址中指定。如果您的网络钩子客户端不支持自定义标头,则可以使用以下格式的查询参数指定 API 密钥和密钥:

      ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    请替换以下内容:

    • ENDPOINT_URL:Feed 端点网址。
    • API_KEY:用于向 Google Security Operations 进行身份验证的 API 密钥。
    • SECRET:您为了对 Feed 进行身份验证而生成的密钥。

Google Cloud Storage Feed 设置示例

  1. 在 Google Security Operations 菜单中,选择 Settings,然后点击 Feed
  2. 点击 Add New(新增)。
  3. 选择 Google Cloud Storage 作为来源类型
  4. 选择日志类型。例如,如需为 Google Kubernetes Engine 审核日志创建 Feed,请选择 Google Kubernetes Engine 审核日志作为日志类型
  5. 点击获取服务帐号。Google Security Operations 提供唯一的服务帐号,Google Security Operations 可使用该服务帐号注入数据。
  6. 为服务帐号配置访问 Cloud Storage 对象的访问权限。 在本文档中,请参阅授予对 Google Security Operations 服务账号的访问权限
  7. 点击下一步
  8. 根据您创建的 Cloud Storage 配置,为以下字段指定值:
    • 存储桶 URI
    • URI 是
    • 来源删除选项
  9. 点击下一步,然后点击提交

向 Google Security Operations 服务帐号授予访问权限

  1. 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。

    进入“存储桶”

  2. 向服务帐号授予对相关 Cloud Storage 对象的访问权限。

    • 如需授予对特定文件的读取权限,请完成以下步骤:

      1. 选择相应文件,然后点击修改权限
      2. 点击添加主账号
      3. 新的主账号字段中,输入 Google Security Operations 服务帐号的名称。
      4. 向 Google Security Operations 服务帐号分配包含读取权限的角色。例如,Storage Object Viewer (roles/storage.objectViewer)。仅当您未启用统一存储桶级访问权限时,才能执行此操作。
      5. 点击保存
    • 如需授予对多个文件的读取权限,您必须授予存储桶级访问权限。您必须将 Google Security Operations 服务帐号作为主账号添加到存储桶中,并为其授予 IAM Storage Object Viewer (roles/storage.objectViewer) 角色。

      如果您将 Feed 配置为删除源文件,则必须在存储桶上将 Google Security Operations 服务帐号添加为主账号,并为其授予 IAM Storage Object Admin (roles/storage.objectAdmin) 角色。

配置 VPC Service Controls

如果启用了 VPC Service Controls,则需要有入站规则才能提供对 Cloud Storage 存储桶的访问权限。

入站流量规则中必须允许使用以下 Cloud Storage 方法:

  • google.storage.objects.list。单个文件 Feed 是必需的。
  • google.storage.objects.get - 对于需要目录或子目录访问权限的 Feed 而言是必需的。
  • google.storage.objects.delete - 对于需要删除源文件的 Feed 是必需的。

示例入站流量规则

- ingressFrom:
  identities:
    - serviceAccount:8911409095528497-0-account@partnercontent.gserviceaccount.com
  sources:
  - accessLevel: "*"
  ingressTo:
  operations:
  - serviceName: storage.googleapis.com
    methodSelectors:
    - method: google.storage.objects.list
    - method: google.storage.objects.get
    - method: google.storage.objects.delete
  resources:
  - projects/PROJECT_ID

Feed 状态

您可以在最初的 Feed 页面中监控 Feed 的状态。Feed 可能具有以下状态:

  • 有效 - Feed 已配置,可以将数据注入到您的 Google Security Operations 账号。
  • 正在进行 - Google Security Operations 正在尝试从所配置的第三方提取数据。
  • 已完成 - 此 Feed 已成功检索到数据。
  • 已归档 - Feed 已停用。
  • 失败 - Feed 无法成功提取数据。这可能是由于配置问题造成的。点击问题以显示配置错误。更正错误并重新提交 Feed 后,请返回 Feed 页面,确定 Feed 现在是否在正常运行。

修改 Feed

Feed 页面中,您可以修改现有的 Feed:

  1. 将指针悬停在现有 Feed 上,然后点击右列中的 more_vert

  2. 点击修改 Feed。您现在可以更改 Feed 的输入参数,并将其重新提交给 Google Security Operations。Google Security Operations 将尝试使用修改后的 Feed。

启用和停用 Feed

状态列中,已启用的 Feed 会标记为有效处理中已完成失败。已停用的字段会带有已归档标签。有关说明,请参阅 Feed 状态

Feed 页面中,您可以启用或停用任何现有 Feed:

  1. 将指针悬停在现有 Feed 上,然后点击右列中的 more_vert

  2. 要启用 Feed,请点击启用 Feed 切换开关。

  3. 要停用某个 Feed,请点击停用 Feed 切换开关。Feed 现在的标签为已归档

删除 Feed

Feed 页面中,您还可以删除现有 Feed:

  1. 将指针悬停在现有 Feed 上,然后点击右列中的 more_vert

  2. 点击删除 Feed。系统会打开“删除 Feed”窗口。要永久删除 Feed,请点击是,删除

控制提取速率

当租户的数据注入速率达到特定阈值时,Google Security Operations 会限制新数据 Feed 的注入速率,以防止注入速率较高的来源影响其他数据源的注入速率。在这种情况下,会有延迟,但不会丢失任何数据。阈值由注入量和租户的使用历史记录决定。

您可以与 Cloud Customer Care 团队联系,以申请提高速率限制。

问题排查

Feed 页面中,您可以查看来源类型、日志类型、Feed ID 和现有 Feed 的状态等详细信息:

  1. 将指针悬停在现有 Feed 上,然后点击右列中的 more_vert

  2. 点击查看 Feed。系统会显示一个对话框,其中会显示 Feed 详情。对于失败的 Feed,您可以在详细信息 > 状态下找到错误详情。

对于失败的 Feed,详细信息包括错误原因和修正步骤。 下表说明了您在使用数据 Feed 时可能会遇到的错误消息。

错误代码 原因 问题排查
ACCESS_DENIED Feed 配置中提供的身份验证账号缺少必需的权限。 验证 Feed 配置中提供的身份验证账号是否具有所需权限。请参阅 Feed 文档,了解必要的权限。
ACCESS_TOO_FREQUENT Feed 失败,因为尝试访问来源的次数过多。 与 Google Security Operations 支持团队联系。
CONNECTION_DROPPED 已建立与来源的连接,但连接在 Feed 完成之前就断开了。 此错误是暂时性的,应用会重试请求。如果问题仍然存在,请与支持团队联系。
CONNECTION_FAILED 应用无法连接到来源 IP 地址和端口。

请检查以下各项:

  • 来源可用。
  • 防火墙未阻止连接。
  • 与服务器关联的 IP 地址正确无误。
  • 如果问题仍然存在,请与 Google Security Operations 支持团队联系。

DNS_ERROR 来源主机名无法解析。 服务器主机名可能拼写有误。请检查网址并验证拼写。
FILE_FAILED 已建立与来源的连接,但文件或资源存在问题。

请检查以下各项:

  • 文件未损坏。
  • 文件级权限正确无误。

如果问题仍然存在,请与 Google Security Operations 支持团队联系。

FILE_NOT_FOUND 已建立与来源的连接,但找不到文件或资源。

请检查以下各项:

  • 来源中存在相应文件。
  • 相应用户拥有文件的访问权限。

如果问题仍然存在,请与 Google Security Operations 支持团队联系。

GATEWAY_ERROR API 针对 Google Security Operations 进行的调用返回了网关错误。 验证 Feed 的来源详细信息。应用将重试请求。
INTERNAL_ERROR 由于内部错误,无法注入数据。 如果问题仍然存在,请与 Google Security Operations 支持团队联系。
INVALID_ARGUMENT 已建立与来源的连接,但由于参数无效,Feed 失败。 检查 Feed 配置。请参阅 Feed 文档,详细了解如何设置 Feed。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
INVALID_FEED_CONFIG Feed 配置中包含无效值。 请检查 Feed 配置是否存在不正确的设置。请参阅 Feed 文档,了解正确的语法。
INVALID_REMOTE_RESPONSE 已建立与来源的连接,但响应不正确。 检查 Feed 配置。详细了解如何设置 Feed。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
LOGIN_FAILED 已建立与来源的连接,但凭据不正确或缺失。 请重新输入来源凭据,以确认其正确无误。
NO_RESPONSE 已与来源建立连接,但来源未响应。 确保来源可以支持来自 Google Security Operations 的请求。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
PERMISSION_DENIED 已建立与来源的连接,但授权出现问题。 确认是否已添加所需的访问权限和权限。
REMOTE_SERVER_ERROR 已与来源建立连接,但来源未响应数据。 请确保该来源可用且以数据响应。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
REMOTE_SERVER_REPORTED_BAD_REQUEST 已建立与来源的连接,但来源拒绝了请求。 检查 Feed 配置。如需了解详情,请参阅 Feed 文档。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
SOCKET_READ_TIMEOUT 已建立与来源的连接,但连接在数据传输完成之前超时。 此错误是暂时性的,应用会重试请求。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
TOO_MANY_ERRORS Feed 超时,因为它在来源中遇到多个错误。 与 Google Security Operations 支持团队联系。
TRANSIENT_INTERNAL_ERROR Feed 出现临时内部错误。 此错误是暂时性的,应用会重试请求。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
UNSAFE_CONNECTION 由于 IP 地址受到限制,应用未能建立连接。 此错误是暂时性的,Google Security Operations 会重试请求。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
HTTP_400 Feed 因请求无效而失败。 检查 Feed 配置。详细了解如何设置 Feed。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
HTTP_403 已建立与来源的连接,但授权出现问题。 确认是否已添加所需的访问权限和权限。
HTTP_404 已建立与来源的连接,但找不到文件或资源。

请检查以下各项:

  • 来源中存在相应文件。
  • 相应用户拥有文件的访问权限。

如果问题仍然存在,请与 Google Security Operations 支持团队联系。

HTTP_429 Feed 超时,因为尝试访问来源的次数过多。 与 Google Security Operations 支持团队联系。
HTTP_500 已与来源建立连接,但来源未响应数据。 请确保该来源可用且以数据响应。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
HTTP_502 Feed 遇到了网关错误。 此错误是暂时性的,应用会重试请求。如果问题仍然存在,请与 Google Security Operations 支持团队联系。
HTTP_504 Google Security Operations 无法连接到来源 IP 地址和端口。 此错误是暂时性的,应用会重试请求。

请检查以下各项:

  • 来源可用。
  • 防火墙未阻止连接。
  • 与服务器关联的 IP 地址正确无误。

如果问题仍然存在,请与 Google Security Operations 支持团队联系。