使用 Feed 管理界面创建和管理 Feed

支持的平台:

本页介绍了如何使用 Feed 管理界面创建、管理和排查 Feed 问题。管理 Feed 包括修改、启用和删除 Feed。

准备工作

每个数据 Feed 都有自己的一组前提条件,您必须先满足这些前提条件,然后才能在 Google 安全运营中心内设置 Feed。如需了解特定于 Feed 类型的先决条件,请参阅按来源类型进行配置。搜索您需要设置的数据 Feed 类型,然后按照所提供的说明操作。

支持的压缩格式

支持的 Feed 提取压缩格式包括:.gz、.tar.gz、.tar、.targz 和 solr.gz。

添加 Feed

如需向您的 Google 安全运营账号添加 Feed,请完成以下步骤。

  1. 在 Google Security Operations 菜单中,选择设置,然后点击 Feed。 此页面上列出的数据 Feed 包括 Google 为您的账号配置的所有 Feed,以及您配置的 Feed。

  2. 点击添加新媒体资源。系统随即会显示添加 Feed 窗口。

  3. 添加 Feed 名称。

  1. 来源类型列表中,选择您打算通过哪种来源类型将数据导入 Google 安全运营。您可以从以下 Feed 来源类型中进行选择:

    • Amazon Data Firehose
    • Amazon S3
    • Amazon SQS
    • Google Cloud Pub/Sub
    • Google Cloud Storage
    • HTTP(S) 文件(非 API)
    • Microsoft Azure Blob Storage
    • 第三方 API
    • Webhook
  2. 日志类型列表中,选择与您要注入的日志对应的日志类型。可供搜索的日志因您之前选择的来源类型而异。点击下一步

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

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

  4. (可选)您可以在此处指定一个命名空间。如需详细了解命名空间,请参阅素材资源命名空间文档

  5. 点击下一步

  6. 最终确定标签页中查看新的 Feed 配置。准备就绪后,点击提交。Google Security Operations 会对新 Feed 进行验证检查。如果 Feed 通过检查,系统会为 Feed 生成一个名称,并将其提交给 Google Security Operations,然后 Google Security Operations 会开始尝试提取数据。

    最终确定 Feed 请求

删除源文件

对于包括 Cloud Storage 在内的多种 Feed 类型,添加新 Feed修改 Feed 工作流中有一个标记为来源删除选项的字段。此菜单包含以下三个选项:

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

选项 2 和 3 涉及删除操作:一个用于删除文件,另一个用于删除文件任何空目录。如果您选择其中任一选项,则需要添加特定于您的 Feed 类型的权限。如需了解特定于 Feed 类型的权限,请参阅按来源类型进行配置

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

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

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

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

设置 Pub/Sub 推送 Feed

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

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

创建 Pub/Sub 推送 Feed

  1. 在 Google Security Operations 菜单中,选择设置,然后点击 Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称。
  4. 来源类型列表中,选择 Google Cloud Pub/Sub Push
  5. 选择日志类型。例如,若要为开放式网络安全架构 (OCSF) 创建 Feed,请选择 Open Cybersecurity Schema Framework (OCSF) 作为日志类型
  6. 点击下一步
  7. 可选:为以下输入参数指定值:
    • 分隔符:用于分隔日志行(例如 \n)的分隔符。
    • 资源命名空间资源命名空间
    • 提取标签:要应用于此 Feed 中的事件的标签。
  8. 点击下一步
  9. 最终确定界面中查看新的 Feed 配置,然后点击提交
  10. 详情标签页中,从端点信息字段复制 Feed 端点网址。您需要此端点网址才能在 Pub/Sub 中创建推送订阅。
  11. 如需停用 Feed,请点击 Feed Enabled 切换开关。该 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 安全运营团队进行身份验证。
  3. 在 Amazon Data Firehose 中指定端点网址。

创建 Amazon Data Firehose Feed

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

为 Amazon Data Firehose Feed 创建 API 密钥

  1. 前往 Google Cloud 控制台的凭据页面。
  2. 点击创建凭据,然后选择 API 密钥
  3. 限制 API 密钥对 Chronicle 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 Webhook Feed

如需设置 HTTPS Webhook Feed,请执行以下操作:

  1. 创建 HTTPS webhook Feed,然后复制端点网址和密钥。
  2. 创建一个使用端点网址指定的 API 密钥。您还可以重复使用现有的 API 密钥来对 Google 安全运营进行身份验证。
  3. 在应用中指定端点网址。

前提条件

创建 HTTPS Webhook Feed

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

为该网站钩子 Feed 创建 API 密钥

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

指定端点网址

  1. 在客户端应用中,指定 webhook Feed 中提供的 HTTPS 端点。
  2. 通过在自定义标头中指定 API 密钥和密文密钥(格式如下)来启用身份验证:

    X-goog-api-key = API_KEY

    X-Webhook-Access-Key = SECRET

    我们建议您将 API 密钥作为标头指定,而不是在网址中指定。如果您的 webhook 客户端不支持自定义标头,您可以使用以下格式的查询参数指定 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 菜单中,选择设置,然后点击 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 安全运营服务账号的名称。
      4. 向 Google 安全运营服务账号分配包含读取权限的角色。例如,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 安全运营账号中。
  • InProgress - 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。系统随即会打开“DELETE FEED”(删除 Feed)窗口。如要永久删除该 Feed,请点击是,删除

控制提取速率

当租户的数据注入速率达到特定阈值时,Google 安全运营团队会限制新数据 Feed 的提取速率,以防止提取速率较高的来源影响其他数据源的提取速率。在这种情况下,会出现延迟,但不会丢失数据。提取量和租户的使用情况历史记录决定了阈值。

您可以联系 Cloud Customer Care 来申请提高速率限制。

问题排查

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

  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 安全运营支持团队联系。

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

请检查以下各项:

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

如果问题仍然存在,请与 Google 安全运营支持团队联系。

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

请检查以下各项:

  • 文件在来源上存在。
  • 相应用户有权访问该文件。

如果问题仍然存在,请与 Google 安全运营支持团队联系。

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

请检查以下各项:

  • 文件在来源上存在。
  • 相应用户有权访问该文件。

如果问题仍然存在,请与 Google 安全运营支持团队联系。

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

请检查以下各项:

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

如果问题仍然存在,请与 Google 安全运营支持团队联系。