Help us learn about your current experience with the documentation. Take the survey.

实例的审计事件流

  • Tier: Ultimate
  • Offering: GitLab Self-Managed, GitLab Dedicated

实例的审计事件流,管理员可以:

  • 为整个实例设置流式目标,以接收关于该实例的所有审计事件,格式为结构化 JSON。
  • 在第三方系统中管理他们的审计日志。任何可以接收结构化 JSON 数据的服务都可以用作流式目标。

每个流式目标最多可以包含 20 个自定义 HTTP 头部,随每个流式事件一起发送。

GitLab 可能会将单个事件多次流式传输到同一目标。使用负载中的 id 键来去重传入的数据。

审计事件使用 HTTP 支持的 POST 请求方法协议发送。

流式目标会接收所有审计事件数据,这可能包含敏感信息。请确保您信任该流式目标。

管理整个实例的流式目标。

HTTP 目标

先决条件:

  • 为了更好的安全性,您应该在目标 URL 上使用 SSL 证书。

管理整个实例的 HTTP 流式目标。

添加新的 HTTP 目标

为实例添加新的 HTTP 流式目标。

先决条件:

  • 实例上的管理员权限。

为实例添加流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择 Add streaming destination 并选择 HTTP endpoint 以显示添加目标的区域。
  5. NameDestination URL 字段中,添加目标名称和 URL。
  6. 可选。要添加自定义 HTTP 头部,选择 Add header 创建新的名称和值对,并输入它们的值。根据需要重复此步骤。每个流式目标最多可以添加 20 个头部。
  7. 要使头部生效,选择 Active 复选框。该头部将随审计事件一起发送。
  8. 选择 Add header 创建新的名称和值对。根据需要重复此步骤。每个流式目标最多可以添加 20 个头部。
  9. 所有头部填写完成后,选择 Add 添加新的流式目标。

更新 HTTP 目标

先决条件:

  • 实例上的管理员权限。

更新实例流式目标的名称:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的流。
  5. Name 字段中,添加要更新的目标名称。
  6. 选择 Save 更新流式目标。

更新实例流式目标的自定义 HTTP 头部:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的流。
  5. 找到 Custom HTTP headers 表格。
  6. 找到您要更新的头部。
  7. 要使头部生效,选择 Active 复选框。该头部将随审计事件一起发送。
  8. 选择 Add header 创建新的名称和值对。根据需要添加尽可能多的名称和值对。每个流式目标最多可以添加 20 个头部。
  9. 选择 Save 更新流式目标。

验证事件真实性

每个流式目标都有一个唯一的验证令牌 (verificationToken),可用于验证事件的真实性。此令牌由所有者指定或在创建事件目标时自动生成,且无法更改。

每个流式事件在 X-Gitlab-Event-Streaming-Token HTTP 头部中包含验证令牌,可以在列出流式目标时与目标的值进行验证。

先决条件:

  • 实例上的管理员权限。

列出实例的流式目标并查看验证令牌:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 查看每个项目右侧的验证令牌。

更新事件过滤器

启用此功能后,您可以允许用户按目标过滤流式审计事件。 如果功能启用但没有过滤器,目标将接收所有审计事件。

设置了事件类型过滤器的流式目标具有 filtered ( filter ) 标签。

更新流式目标的事件过滤器:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的流。
  5. 找到 Filter by audit event type 下拉列表。
  6. 选择下拉列表并选择或清除所需的事件类型。
  7. 选择 Save 更新事件过滤器。

覆盖默认内容类型头部

默认情况下,流式目标使用 application/x-www-form-urlencodedcontent-type 头部。但是,您可能希望将 content-type 头部设置为其他值。例如,application/json

要覆盖实例流式目标的 content-type 头部默认值,请使用以下任一方法:

Google Cloud Logging 目标

管理整个实例的 Google Cloud Logging 目标。

先决条件

在设置 Google Cloud Logging 流式审计事件之前,您必须:

  1. 在您的 Google Cloud 项目上启用 Cloud Logging API
  2. 为 Google Cloud 创建具有适当凭据和权限的服务账户。此账户用于配置审计日志流式传输身份验证。 有关更多信息,请参阅 Google Cloud 文档中创建和管理服务账户
  3. 为服务账户启用 Logs Writer 角色,以启用 Google Cloud 上的日志记录。有关更多信息,请参阅 使用 IAM 进行访问控制
  4. 为服务账户创建 JSON 密钥。有关更多信息,请参阅 创建服务账户密钥

添加新的 Google Cloud Logging 目标

先决条件:

  • 实例上的管理员权限。

为实例添加 Google Cloud Logging 流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择 Add streaming destination 并选择 Google Cloud Logging 以显示添加目标的区域。
  5. 输入随机字符串用作新目标的名称。
  6. 输入之前创建的 Google Cloud 服务账户密钥中的 Google 项目 ID、Google 客户端电子邮件和 Google 私钥,以添加到新目标中。
  7. 输入随机字符串用作新目标的日志 ID。您稍后可以在 Google Cloud 中使用它来过滤日志结果。
  8. 选择 Add 添加新的流式目标。

更新 Google Cloud Logging 目标

先决条件:

  • 实例上的管理员权限。

更新实例的 Google Cloud Logging 流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的 Google Cloud Logging 流。
  5. 输入随机字符串用作目标的名称。
  6. 输入之前创建的 Google Cloud 服务账户密钥中的 Google 项目 ID 和 Google 客户端电子邮件,以更新目标。
  7. 输入随机字符串以更新目标的日志 ID。您稍后可以在 Google Cloud 中使用它来过滤日志结果。
  8. 选择 Add a new private key 并输入 Google 私钥以更新私钥。
  9. 选择 Save 更新流式目标。

AWS S3 目标

管理整个实例的 AWS S3 目标。

先决条件

在设置 AWS S3 流式审计事件之前,您必须:

  1. 为 AWS 创建具有适当凭据和权限的访问密钥。此账户用于配置审计日志流式传输身份验证。 有关更多信息,请参阅 管理访问密钥
  2. 创建 AWS S3 存储桶。此存储桶用于存储审计日志流式传输数据。有关更多信息,请参阅 创建存储桶

添加新的 AWS S3 目标

先决条件:

  • 实例上的管理员权限。

为实例添加 AWS S3 流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择 Add streaming destination 并选择 AWS S3 以显示添加目标的区域。
  5. 输入随机字符串用作新目标的名称。
  6. 输入之前创建的 AWS 访问密钥和存储桶中的 Access Key IDSecret Access KeyBucket NameAWS Region,以添加到新目标中。
  7. 选择 Add 添加新的流式目标。

更新 AWS S3 目标

先决条件:

  • 实例上的管理员权限。

更新实例的 AWS S3 流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的 AWS S3 流。
  5. 输入随机字符串用作目标的名称。
  6. 要更新目标,输入之前创建的 AWS 访问密钥和存储桶中的 Access Key IDSecret Access KeyBucket NameAWS Region
  7. 选择 Add a new Secret Access Key 并输入 AWS Secret Access Key 以更新 Secret Access Key。
  8. 选择 Save

列出流式目标

先决条件:

  • 实例上的管理员权限。

列出实例的流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的流。

激活或停用流式目标

您可以临时停用审计事件向目标的流式传输,而无需删除目标配置。当流式目标被停用时:

  • 审计事件立即停止流式传输到该目标。
  • 目标配置被保留。
  • 您可以随时重新激活该目标。
  • 其他活动目标继续接收事件。

停用流式目标

先决条件:

  • 实例上的管理员权限。

停用流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的流。
  5. 清除 Active 复选框。
  6. 选择 Save

目标停止接收审计事件。

激活流式目标

重新激活之前停用的流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的流。
  5. 选择 Active 复选框。
  6. 选择 Save

目标立即恢复接收审计事件。

删除流式目标

删除整个实例的流式目标。当最后一个目标成功删除后,实例的流式传输将被禁用。

先决条件:

  • 实例上的管理员权限。

删除实例上的流式目标:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 选择要展开的流。
  5. 选择 Delete destination
  6. 确认选择 Delete destination

仅删除自定义 HTTP 头部

先决条件:

  • 实例上的管理员权限。

仅删除流式目标的自定义 HTTP 头部:

  1. 在左侧边栏底部,选择 Admin
  2. 选择 Monitoring > Audit events
  3. 在主区域,选择 Streams 标签页。
  4. 在项目右侧,选择 Edit ( pencil )。
  5. 找到 Custom HTTP headers 表格。
  6. 找到您要删除的头部。
  7. 在头部右侧,选择 Delete ( remove )。
  8. 选择 Save

相关主题