使用 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 请求

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 安全运营服务账号授予访问权限
  7. 点击下一步
  8. 根据您创建的 Cloud Storage 配置,为以下字段指定值:
    • 存储分区 URI
    • URI 是
    • 来源删除选项
  9. 点击下一步,然后点击提交

删除源文件

借助来源删除选项,您可以在成功转移后从存储空间中删除 Feed 来源对象(文件和文件夹)。此选项仅适用于部分 Feed 来源类型,包括 Cloud Storage。这些 Feed 来源类型在其添加新 Feed修改 Feed 工作流中包含来源删除选项字段。

来源删除选项

  • 对于受支持的 Feed 来源类型(包括 Cloud Storage),SOURCE DELETION OPTION 字段提供了以下三个选项:

    • 永不删除文件
    • 删除传输的文件和空目录
    • 删除传输的文件
  • Microsoft Azure Blob Storage (AZURE_BLOBSTORE) 不支持删除源文件。对于来源删除选项字段,请仅选择永不删除文件选项。

  • 对于以下 Feed 来源 ("feedSourceType"):GOOGLE_CLOUD_STORAGE_V2AMAZON_S3_V2AMAZON_SQS_V2AZURE_BLOBSTORE_V2SOURCE DELETION OPTION 字段提供了两个选项:

    • 永不:在转移后永不删除任何文件。
    • ON_SUCCESS:在传输完成后删除所有文件和空目录。

设置 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 Security Operations 服务账号的访问权限

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

    进入“存储桶”

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

    • 特定文件授予读取权限。

      请完成以下步骤:

      1. 选择相应文件,然后点击修改访问权限
      2. 点击添加主账号
      3. 新的主账号字段中,输入 Google 安全运营服务账号的名称。
      4. 向 Google 安全运营服务账号分配包含读取权限的角色。例如,Storage Object Viewer (roles/storage.objectViewer)。只有在您未启用统一存储分区级访问权限的情况下,才能执行此操作。
      5. 点击保存
    • 多个文件授予读取权限。

      如需在存储分区级别授予访问权限,请按如下方式操作:

      • 对于 "feedSourceType": "GOOGLE_CLOUD_STORAGE"
        1. 将 Google Security Operations 服务账号添加为存储分区的主账号,并向其授予 IAM Storage Object Viewer (roles/storage.objectViewer) 角色。
        2. 如果您将 Feed 配置为删除源文件,则必须将 Google Security Operations 服务账号添加为存储分区的主账号,并为其授予 IAM Storage Object Admin (roles/storage.objectAdmin) 角色。
      • 对于 "feedSourceType": "GOOGLE_CLOUD_STORAGE_V2"
        1. 将 Google Security Operations 服务账号添加为存储分区的主账号,并向其授予 IAM Storage Legacy Bucket Viewer (roles/storage.legacyBucketViewer) 角色。
        2. 如果您将 Feed 配置为删除源文件,则必须将 Google Security Operations 服务账号添加为存储分区的主账号,并向其授予 IAM Storage Legacy Bucket Writer (roles/storage.legacyBucketWriter) 角色。

配置 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 账号中。
  • 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 文档。如需了解权限,请参阅 [按来源类型配置](/chronicle/docs/reference/feed-management-api#source-types)。
ACCESS_TOO_FREQUENT 由于尝试访问来源的次数过多,Feed 未能正常提取数据。 请与 Google Security Operations 支持团队联系。
CONNECTION_DROPPED 已建立与来源的连接,但在 Feed 完成之前连接已关闭。 此错误是暂时性的,应用会重试请求。如果问题仍然存在,请与 Google 安全运营支持团队联系。
CONNECTION_FAILED 应用无法连接到来源 IP 地址和端口。

请检查以下各项:

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

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

请检查以下各项:

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

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

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

请检查以下各项:

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

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

GATEWAY_ERROR API 向 Google Security Operations 发出的调用返回了网关错误。 验证 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 安全运营支持团队联系。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。