{{< details >}}

  • Tier: 旗舰版
  • Offering: 私有化部署

{{< /details >}}

{{< history >}}

  • 引入于极狐 GitLab 16.1,使用名为 ff_external_audit_events功能标志。默认禁用。
  • 在极狐GitLab 16.2 中,功能标志 ff_external_audit_events 默认启。
  • 在极狐GitLab 16.4 中,实例流地址 GA。功能标志 ff_external_audit_events 被移除。
  • 自定义 HTTP 标头 UI 引入于极狐GitLab 15.2,使用名为 custom_headers_streaming_audit_events_ui 的功能标志。默认禁用。
  • 自定义 HTTP 标头 UI 在极狐GitLab 15.3 中 GA,功能标志 custom_headers_streaming_audit_events_ui 被移除。
  • 在极狐GitLab 15.3 中改进了用户体验。
  • 在极狐GitLab 16.3 中增加了 HTTP 目标 名称 字段。
  • 在极狐GitLab 16.5 中增加了 活跃 勾选框功能。

{{< /history >}}

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

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

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

极狐 GitLab 可以多次将单个事件流向同一目标。使用负载中的 id 键来去重接收的数据。

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

{{< alert type=”warning” >}}

流目标接收所有审计事件数据,其中可能包含敏感信息。确保您信任流目标。

{{< /alert >}}

管理整个实例的流目标。

HTTP 目标

先决条件:

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

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

添加新的 HTTP 目标

添加新的 HTTP 流目标到实例。

先决条件:

  • 实例上的管理员访问权限。

要为实例添加流目标:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择 添加流目标 并选择 HTTP 端点 来显示添加目标的部分。
  5. 名称目标 URL 字段中,添加目标名称和 URL。
  6. 可选。要添加自定义 HTTP 头,请选择 添加头 来创建新的名称和值对,并输入它们的值。重复此步骤以满足所需的名称和值对。您可以为每个流目标添加最多 20 个头。
  7. 要使头有效,请选择 有效 复选框。该头将与审计事件一起发送。
  8. 选择 添加头 来创建新的名称和值对。重复此步骤以满足所需的名称和值对。您可以为每个流目标添加最多 20 个头。
  9. 填写所有头后,选择 添加 来添加新的流目标。

列出 HTTP 目标

先决条件:

  • 实例上的管理员访问权限。

要列出实例的流目标:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择流以展开并查看所有自定义 HTTP 头。

更新 HTTP 目标

先决条件:

  • 实例上的管理员访问权限。

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

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择流以展开。
  5. 名称 字段中,添加目标名称以更新。
  6. 选择 保存 来更新流目标。

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

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择流以展开。
  5. 找到 自定义 HTTP 头 表。
  6. 找到您想更新的头。
  7. 要使头有效,请选择 有效 复选框。该头将与审计事件一起发送。
  8. 选择 添加头 来创建新的名称和值对。输入所需的名称和值对。您可以为每个流目标添加最多 20 个头。
  9. 选择 保存 来更新流目标。

删除 HTTP 目标

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

先决条件:

  • 实例上的管理员访问权限。

要删除实例的流目标:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择流以展开。
  5. 选择 删除目标
  6. 在对话框中选择 删除目标 以确认。

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

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 在项目的右侧,选择 编辑 ({{< icon name=”pencil” >}})。
  5. 找到 自定义 HTTP 头 表。
  6. 找到您想删除的头。
  7. 在头的右侧,选择 删除 ({{< icon name=”remove” >}})。
  8. 选择 保存 来更新流目标。

验证事件真实性

{{< history >}}

  • 引入于极狐 GitLab 16.1,使用名为 ff_external_audit_events功能标志。默认禁用。
  • 在极狐GitLab 16.2 中,功能标志 ff_external_audit_events 默认启用。
  • 在极狐GitLab 16.4 中,实例流目的 GA。功能标志 ff_external_audit_events 被移除。

{{< /history >}}

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

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

先决条件:

  • 实例上的管理员访问权限。

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

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 查看每个项目右侧的验证令牌。

更新事件过滤器

{{< history >}}

  • 在用户界面中使用已定义的审计事件类型列表进行事件类型筛选引入于极狐 GitLab 16.3。

{{< /history >}}

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

设置了事件类型过滤器的流目标会有一个 filtered ({{< icon name=”filter” >}}) 标签。

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

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择流以展开。
  5. 找到 按审计事件类型筛选 下拉列表。
  6. 选择下拉列表并选择或清除所需的事件类型。
  7. 选择 保存 来更新事件过滤器。

覆盖默认内容类型头

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

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

AWS S3 目标

{{< history >}}

  • 引入于极狐 GitLab 16.7,使用名为 allow_streaming_instance_audit_events_to_amazon_s3功能标志。默认禁用。
  • 在极狐GitLab 16.8 中,功能标志 allow_streaming_instance_audit_events_to_amazon_s3 被移除。

{{< /history >}}

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

先决条件

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

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

添加新的 AWS S3 目标

先决条件:

  • 实例上的管理员访问权限。

要将 AWS S3 流目标添加到实例:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择 添加流目标 并选择 AWS S3 来显示添加目标的部分。
  5. 输入一个随机字符串作为新目标的名称。
  6. 输入访问密钥 ID、密钥访问密钥、存储桶名称和 AWS 区域,从之前创建的 AWS 访问密钥和存储桶中添加到新的目标。
  7. 选择 添加 来添加新的流目标。

列出 AWS S3 目标

先决条件:

  • 实例上的管理员访问权限。

要列出实例的 AWS S3 流目标。

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择 AWS S3 流以展开并查看所有字段。

更新 AWS S3 目标

先决条件:

  • 实例上的管理员访问权限。

要更新实例上的 AWS S3 流目标:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择 AWS S3 流以展开。
  5. 输入一个随机字符串作为目标的名称。
  6. 输入访问密钥 ID、密钥访问密钥、存储桶名称和 AWS 区域,从之前创建的 AWS 访问密钥和存储桶中更新目标。
  7. 选择 添加新的密钥访问密钥 并输入 AWS 密钥访问密钥以更新密钥访问密钥。
  8. 选择 保存 来更新流目标。

删除 AWS S3 流目标

先决条件:

  • 实例上的管理员访问权限。

要删除实例上的 AWS S3 流目标:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 监控 > 审计事件
  3. 在主区域,选择 标签。
  4. 选择 AWS S3 流以展开。
  5. 选择 删除目标
  6. 在对话框中选择 删除目标 以确认。

相关主题