实例审计事件流
- 引入于极狐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 中改善了用户体验。
- HTTP 目的地 名称 字段添加自极狐GitLab 16.3。
- 活动 复选框的功能添加自极狐GitLab 16.5。
有了实例审计事件流,管理员可以:
- 为整个实例设置流目的地来接受 JSON 格式的所有审计事件。
- 在第三方系统中管理审计日志。任何可以接受 JSON 数据的服务都可以被用作流目的地。
每个流目的地的自定义 HTTP 标头上线为 20 个。
极狐GitLab 可能会将单个事件多次传输到同一目的地。请使用有效载荷中的 id
键来对传入数据进行去重。
审计事件使用 HTTP POST 方法发送。
HTTP 目的地
先决条件:
- 为了更好的安全,您应该在目标 URL 上使用 SSL 证书。
管理整个实例的 HTTP 流目的地。
添加新的 HTTP 目的地
向实例添加新的 HTTP 流目的地。
先决条件:
- 具有实例的管理员访问权限。
要将流传输目的地添加到顶级群组:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择 添加流目的地 并选择 HTTP 端点 以显示添加目的地部分。
- 在 名称 和 目的地 URL 字段中,填写目的地名称和 URL。
- 可选。找到 自定义 HTTP header 表。
- 要使 header 生效,请选择 启用 复选框。Header 将与审计事件一起发送。
- 选择 添加 header 创建新的名称和值对。根据需要输入任意数量的名称和值对。每个流传输目的地最多可以添加 20 个 headers。
- 填写完所有 header 后,选择 添加 可以添加新的流目的地。
列出 HTTP 目的地
先决条件:
- 具有实例的管理员访问权限。
要列出顶级群组的流目的地:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择事件流将其展开并查看所有自定义 HTTP 标头。
更新 HTTP 目的地
先决条件:
- 具有实例的管理员访问权限。
要更新流目的地的名称:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择要扩展的流。
- 在 名称 字段中,添加要更新的目标名称。
- 选择 保存 以更新流目的地。
要更新流目的地的自定义 HTTP 标头:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择要扩展的流。
- 找到 自定义 HTTP 标头 表。
- 找到您要更新的标头。
- 要使 header 生效,请选择 启用 复选框。Header 将与审计事件一起发送。
- 选择 添加标头 以创建新的名称和值对。根据需要输入任意数量的名称和值对。每个流目的地最多可以添加 20 个标头。
- 选择 保存 以更新流目的地。
删除 HTTP 目的地
删除顶级群组的流目的地。当最后一个目的地删除成功后,禁用顶级群组的事件流。
先决条件:
- 具有实例的管理员访问权限。
要删除流目的地:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择要扩展的流。
- 选择 删除目的地。
- 通过在对话框中选择 删除目的地 进行确认。
要仅删除流目的地的自定义 HTTP 标头:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择要扩展的流。
- 找到 自定义 HTTP 标头 表。
- 找到您要删除的标头。
- 在标题右侧,选择 删除 ()。
- 选择 保存 以更新流目的地。
验证事件真实性
- 引入于极狐GitLab 16.1,使用名为
ff_external_audit_events
的功能标志。默认禁用。- 功能标志
ff_external_audit_events
在极狐GitLab 16.2 中默认启用。- 实例流目的地在极狐GitLab 16.4 中 GA。功能标志
ff_external_audit_events
被移除。
每个流目的地都有一个唯一的验证令牌(verificationToken
),可用于验证事件的真实性。这个令牌由所有者指定或在创建事件目标时自动生成,并且无法更改。
每个流事件都在 X-Gitlab-Event-Streaming-Token
HTTP 标头中包含验证令牌,可以在列出流目的地时根据目标值进行验证。
先决条件:
- 具有实例的管理员访问权限。
要列出流目的地并查看验证令牌:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流。
- 在每个条目的右侧进行验证。
更新事件过滤器
- 使用定义的审计事件类型列表在 UI 中过滤审计事件引入于极狐GitLab 16.3。
为群组启用此功能后,您可以允许用户过滤每个目标的流审计事件。如果在没有过滤器的情况下启用该功能,则目标端将收到所有审计事件。
具有事件类型过滤器集的流目的地具有 已过滤 () 标记。
要更新流目的地的事件过滤器:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择要扩展的流。
- 找到 按审计事件类型过滤 下拉列表。
- 选择下拉列表并选择或清除所需的事件类型。
- 选择 保存 以更新事件过滤器。
覆盖默认内容类型标头
默认情况下,流目的地使用 application/x-www-form-urlencoded
的 content-type
标头。然而,您可能想将 content-type
标头设置为其他内容。例如,application/json
。
要覆盖顶级群组流目的地的 content-type
标头默认值,请使用:
Google Cloud 日志记录目的地
- 引入于极狐GitLab 16.5。
管理顶级群组的 Google Cloud Logging 目的地。
先决条件
在设置 Google Cloud Logging 流审计事件之前,您必须:
- 使用适当的凭据和权限为 Google Cloud 创建服务账户。该账户用于配置审核日志流身份验证。 有关更多信息,请参阅 Google Cloud 文档中创建和管理服务账户。
- 为服务账户启用 Logs Writer 角色,以在 Google Cloud 上启用日志记录。有关更多信息,请参阅使用 IAM 进行访问控制。
- 为服务账户创建 JSON 密钥。有关更多信息,请参阅创建服务账户密钥。
添加新的 Google Cloud Logging 目的地
先决条件:
- 具有实例的管理员访问权限。
将 Google Cloud Logging 流目的地添加到实例:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择 添加流目的地,然后选择 Google Cloud Logging 以显示添加目的地的部分。
- 输入一个随机字符串,用作新目的地的名称。
- 输入要添加的 Google 项目 ID、Google 客户端电子邮件、日志 ID 和 Google 私钥。
- 输入一个随机字符串,用作新目的地的日志ID。之后,您可以使用它在 Google Cloud 中筛选日志结果。
- 选择 添加 可以添加新的流目的地。
列出 Google Cloud Logging 目的地
先决条件:
- 具有实例的管理员访问权限。
要列出顶级群组的 Google Cloud Logging 流目的地:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择 Google Cloud Logging 流以展开所有字段。
更新 Google Cloud Logging 目的地
先决条件:
- 具有实例的管理员访问权限。
要更新顶级群组的 Google Cloud Logging 流目的地:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择要展开的 Google Cloud Logging 流。
- 输入一个随机字符串,用作新目的地的名称。
- 输入要添加的 Google 项目 ID、Google 客户端电子邮件、日志 ID 和 Google 私钥。
- 输入一个随机字符串,用作新目的地的日志ID。之后,您可以使用它在 Google Cloud 中筛选日志结果。
- 选择 添加新私钥 并输入 Google 私钥以更新私钥。
- 选择 保存 以更新流目的地。
删除 Google Cloud Logging 流目的地
先决条件:
- 具有实例的管理员访问权限。
要删除顶级群组的 Google Cloud Logging 流目的地:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择要展开的 Google Cloud Logging 流。
- 选择 删除目的地。
- 通过在对话框中选择 删除目的地 进行确认。
AWS S3 目的地
- 引入于极狐GitLab 16.7,使用名为
allow_streaming_instance_audit_events_to_amazon_s3
的功能标志。默认禁用。- 功能标志
allow_streaming_instance_audit_events_to_amazon_s3
在极狐GitLab 16.8 中被移除。
管理整个实例的 AWS S3 目的地。
先决条件
在设置 AWS S3 流审计事件之前,您必须:
- 使用适当的凭据和权限为 AWS 创建访问密钥。此帐户用于配置审核日志流身份验证。
- 创建一个 AWS S3 桶。此存储桶用于存储审核日志流数据。有关更多信息,请参阅 创建桶
添加新的 AWS S3 目的地
先决条件:
- 具有实例的管理员访问权限。
要将新的 AWS S3 流目的地添加到实例:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择 添加流目的地,然后选择 AWS S3 以显示添加目的地的部分。
- 输入一个随机字符串,用作新目的地的名称。
- 输入之前从 AWS 创建的访问密钥的 Access Key ID 和 Secret Access Key。
- 选择 添加 以添加新的流目的地。
列出 AWS S3 目的地
先决条件:
- 具有实例的管理员访问权限。
要列出实例的 AWS S3 流目的地。
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择 AWS S3 流以展开并查看所有的字段。
更新 AWS S3 目的地
先决条件:
- 具有实例的管理员访问权限。
要更新添加到实例的 AWS S3 流目的地:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择 AWS S3 流以展开。
- 输入一个随机字符串,用作新目的地的名称。
- 输入之前从 AWS 创建的访问密钥的 Access Key ID 和 Secret Access Key。
- 选择 添加新密钥 并输入 AWS Secret Access Key 以更新 Secret Access Key。
- 选择 保存 以更新流目的地。
删除 AWS S3 流目的地
先决条件:
- 具有实例的管理员访问权限。
要删除实例的 AWS S3 流目的地:
- 在左侧导航栏,底部,选择 管理员。
- 选择 监控 > 审计事件。
- 在主区域中,选择 事件流 选项卡。
- 选择 AWS S3 流以展开。
- 选择 删除目的地。
- 通过在对话框中选择 删除目的地 进行确认。
相关主题
极狐GitLab 技术支持
如果您在迁移过程中遇到任何问题,您可以在极狐GitLab 官方论坛上发帖求助,您也可以直接扫描下方二维码咨询专业人员: