合规中心

从合规报告更名为合规中心于 16.3 版本。

查看报告并管理群组的合规情况、违规行为和合规框架。

符合标准仪表盘

  • GraphQL API 引入于极狐GitLab 16.2,功能标志compliance_adherence_report。默认禁用。
  • 符合标准仪表盘引入于极狐GitLab 16.3,功能标志adherence_report_ui。默认禁用。
  • 启用于极狐GitLab 16.5。
在私有化部署的极狐GitLab 上,默认情况下此功能可用。要为项目或整个实例隐藏此功能,管理员可以禁用名为 compliance_adherence_reportadherence_report_ui功能标志。在 JihuLab.com 上,此功能可用。

符合标准仪表盘列出了符合极狐GitLab 标准的项目的遵守状态。

查看符合标准仪表盘

先决条件:

  • 您必须具有该群组的管理员或所有者角色。

要查看群组的符合标准仪表盘:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心

极狐GitLab 标准

极狐GitLab 标准由三个规则组成:

  • 作者不可以是批准人。
  • 提交者不可以是批准人。
  • 需要至少两个批准。

禁止作者成为批准人

为了符合极狐GitLab 标准,用户不可以批准自己的合并请求。有关详细信息,请参阅禁止作者批准

在私有化部署的极狐GitLab 上,当更新禁止作者批准的实例级别设置时,实例上所有项目的遵守状态不会自动更新。 要更新这些项目的遵守状态,必须更新群组级别或项目级别的设置。

禁止提交者成为批准人

为了符合极狐GitLab 标准,用户不可以批准已添加提交的合并请求。有关更多信息,请参阅禁止添加提交的用户批准

在私有化部署的极狐GitLab 上,当更新禁止添加提交的用户批准的实例级别设置时,实例上所有项目的遵守状态不会自动更新。 要更新这些项目的遵守状态,必须更新群组级别或项目级别的设置。

需要至少两个批准

为了符合极狐GitLab 标准,合并请求必须经过至少两个人的批准才能合并。更多信息请参见合并请求批准规则

违反合规报告

  • 引入于极狐GitLab 13.10,当时名称为合规仪表盘。
  • 违反合规抽屉引入于极狐GitLab 14.1。
  • 重命名为合规报告于极狐GitLab 14.2。
  • 替换为合并请求违规于极狐GitLab 14.6,功能标志compliance_violations_report。默认禁用。
  • GraphQL API 引入于极狐GitLab 14.9。
  • 普遍可用于极狐GitLab 14.10。移除功能标志 compliance_violations_report
  • 重命名为违反合规报告于极狐GitLab 15.9。
  • 创建和编辑合规框架引入于极狐GitLab 16.0。

通过违反合规报告,您可以查看群组中所有项目的合并请求活动的高级视图。

当您在合规报告中选择一行时,将出现一个折叠菜单,其中包括:

  • 项目名称和合规框架标记
  • 指向引入违规的合并请求的链接。
  • 合并请求的分支路径,格式为 [source] into [target]
  • 对合并请求提交变更的用户列表。
  • 对合并请求发表评论的用户列表。
  • 批准合并请求的用户列表。
  • 合并合并请求的用户。

查看群组的违反合规报告

目标分支搜索功能引入于 16.0 版本。

先决条件:

  • 您必须是该群组的管理员或拥有所有者角色。

查看违反合规报告:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心

您可以对报告进行排序:

  • 严重性级别
  • 违规类型
  • 合并请求标题

您可以根据以下内容过滤违规报告:

  • 项目
  • 合并的日期范围
  • 目标分支

选择一行,查看违规的详细信息。

严重性级别

每个违规行为都具有严重性级别,如下表所述。

图标 严重性级别
Critical
High
Medium
Low
Info

违规类型

从 14.10 版本开始,报告包含以下违规类型。

违规行为 严重性级别 类别 描述
作者批准了合并请求 High 职责分离 合并请求的作者批准了他们自己的合并请求。有关详细信息,请参阅禁止作者批准
提交者批准了合并请求 High 职责分离 合并请求的提交者批准了他们贡献的合并请求。有关详细信息,请参阅禁止添加提交的用户进行批准
少于两次批准 High 职责分离 合并请求合并时,获得的批准数少于两个。有关详细信息,请参阅合并请求批准规则

报告不包含以下违规行为:

违规行为 严重性级别 类别 描述
流水线失败 Medium 流水线结果 合并请求流水线失败,合并请求被合并。
流水线通过但有警告 Info 流水线结果 合并请求流水线通过时包含警告,合并请求被合并。
代码覆盖率下降超过 10% High 代码覆盖率 合并请求的代码覆盖率报告表明覆盖率降低了 10% 以上。
代码覆盖率下降 5% 到 10% Medium 代码覆盖率 合并请求的代码覆盖率报告表明覆盖率降低了 5% 到 10%。
代码覆盖率下降 1% 到 5% Low 代码覆盖率 合并请求的代码覆盖率报告表明覆盖率降低了 1% 到 5%。
代码覆盖率下降不到 1% Info 代码覆盖率 合并请求的代码覆盖率报告表明覆盖率下降不到 1%。

职责分离

极狐GitLab 支持创建合并请求的用户,和批准合并请求的用户之间的职责分离策略。职责分离标准是:

导出群组中项目的合并请求违规报告

  • 引入于极狐GitLab 16.4,功能标志compliance_violation_csv_export。默认禁用。
  • 在 JihuLab.com 和私有化部署上启用于极狐GitLab 16.5。
在私有化部署的极狐GitLab 上,默认情况下此功能可用。要隐藏该功能,管理员可以禁用名为 compliance_violation_csv_export功能标志。 在 JihuLab.com 上,此功能可用。

导出群组中项目的合并请求的违规报告。报告需要:

  • 不要对违规报告使用过滤器。
  • 被截断为 15 MB,因此电子邮件附件不会太大。

先决条件:

  • 您必须是该群组的管理员或拥有所有者角色。

要导出群组中项目的合并请求违规报告:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 违规 选项卡。
  4. 违规 选项卡中,选择右上角的 将完整报告导出为 CSV

报告将被编译并作为附件发送到您的电子邮件收件箱。

监管链报告

  • 引入于极狐GitLab 13.3。
  • 使用邮件发送监管链报告功能引入于 15.3 版本,功能标志为 async_chain_of_custody_report。默认禁用。
  • 一般可用于 15.5 版本。删除功能标志 async_chain_of_custody_report
  • 监管链报告包括所有提交(不仅仅是合并提交)引入于 15.9 版本,功能标志为 all_commits_compliance_report。默认禁用。
  • 一般可用于 15.9 版本。删除功能标志 all_commits_compliance_report

监管链报告提供了一个 1 个月的跟踪窗口,其中包含对群组下项目的所有提交。

要为所有提交生成报告,极狐GitLab:

  1. 获取群组下的所有项目。
  2. 对于每个项目,获取最近 1 个月的提交。每个项目的上限为 1024 次提交。如果在 1 个月的窗口中有超过 1024 次提交,它们将被截断。
  3. 将提交写入 CSV 文件。该文件被截断为 15 MB,因为报告是作为电子邮件附件发送的(15.5 及更高版本)。

该报告包括:

  • 提交 SHA
  • 提交作者
  • 提交者
  • 提交日期
  • 群组
  • 项目

如果提交有相关的合并提交,则还包括以下内容:

  • 合并提交 SHA。
  • 合并请求 ID。
  • 合并合并请求的用户。
  • 合并日期。
  • 流水线 ID。
  • 合并请求批准者。

生成监管链报告

要生成监管链报告:

  1. 在左侧边栏的顶部,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 选择 所有合并提交的列表

根据您的极狐GitLab 版本,监管链报告可以通过电子邮件发送或可供下载。

生成特定提交的监管链报告

  • 引入于极狐GitLab 13.6。
  • 对所有提交而不仅仅是合并提交的支持添加于 15.10 版本。

您可以为特定的提交 SHA 生成特定于提交的监管链报告。此报告仅提供提交 SHA 的详细信息。

要生成特定于提交的监管链报告:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在合规报告的顶部,在 所有提交列表 的右侧,选择向下箭头()。
  4. 输入提交 SHA,然后选择 导出提交监管报告

根据您的极狐GitLab 版本,监管链报告可以通过电子邮件发送或可供下载。

或者,使用直接链接:https://jihulab.com/groups/<group-name>/-/security/merge_commit_reports.csv?commit_sha={optional_commit_sha},将可选值传递给 commit_sha 查询参数。

合规项目报告

  • 引入于 15.10 版本。
  • 合规框架报告 重命名为 合规项目报告 于极狐GitLab 16.5。

通过合规项目报告,您可以查看应用于群组中项目的合规框架。报告的每一行显示:

  • 项目名称。
  • 项目路径。
  • 合规框架标记(如果项目已分配)。

群组的默认框架有一个默认徽章。

查看群组的合规项目报告

先决条件:

  • 您必须是管理员或具有群组的所有者角色。

查看合规项目报告:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 项目 选项卡。

将合规框架应用于群组中的项目

  • 使用批量操作添加合规框架的功能引入于 15.11 版本。
  • 在不使用批量操作的情况下添加合规框架的功能引入于 16.0 版本。

您可以将合规框架应用于群组中的项目。

先决条件:

  • 您必须具有群组的所有者角色。

将合规框架应用于群组中的一个项目:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 项目 选项卡。
  4. 在您要添加合规框架的项目旁边,选择 添加框架
  5. 选择一个现有的合规框架或创建一个新的合规框架。

将合规性框架应用于群组中的多个项目:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 项目 选项卡。
  4. 选择多个项目。
  5. 选择一个批量操作 下拉列表中,选择 将框架应用到所选项目
  6. 选择要应用的框架。
  7. 选择 应用

从群组的项目中删除合规框架

  • 使用批量操作删除合规框架的功能引入于 15.11 版本。
  • 在不使用批量操作的情况下删除合规框架的功能引入于 16.0 版本。

您可以从群组的项目中删除合规框架。

先决条件:

  • 您必须具有群组的所有者角色。

从群组的一个项目中删除合规框架:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 项目 选项卡。
  4. 在要从项目中删除的合规框架旁边,选择框架标签上的

从群组的多个项目中删除合规框架:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 项目 选项卡。
  4. 选择多个项目。
  5. 选择一个批量操作 下拉列表中,选择 从所选项目中删除框架
  6. 选择 删除

导出群组中项目的合规框架报告

引入于 16.0 版本。

导出适用于群组中项目的合规项目报告。

  • 框架报告不使用过滤器。
  • 报告被截断为 15 MB,以防电子邮件附件过大。

先决条件:

  • 您必须是管理员或具有群组的所有者角色。

要导出群组中项目的合规项目报告:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 项目 选项卡。
  4. 框架 选项卡上,选择右上角的 导出为 CSV 操作。

报告将被编译并作为附件发送到您的电子邮件收件箱。

过滤合规项目报告

引入于 15.11 版本。

要过滤合规框架列表:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 项目 选项卡。
  4. 在搜索栏中:
    1. 选择您要过滤的属性。
    2. 选择一个操作符。
    3. 从选项列表中选择或输入搜索文本。
  5. 选择 搜索)。

重复此过程,可以按多个属性进行过滤。

合规框架报告

  • 引入于极狐GitLab 16.5,功能标志compliance_framework_report_ui。默认禁用。
  • 在极狐GitLab 16.4 及更早版本中,合规框架报告 指的是现在的 合规项目报告。在 16.5 中,以前的 合规框架报告 已经被重命名为 合规项目报告
在私有化部署的极狐GitLab 上,默认情况下此功能不可用。要使其可用,请要求管理员启用名为 compliance_framework_report_ui功能标志。 在 JihuLab.com 上,此功能不可用。该功能尚未准备好用于生产用途。

通过合规框架报告,您可以查看群组中的所有合规框架。报告的每一行显示:

  • 框架名称。

群组的默认框架拥有一个 默认 徽章。

查看群组的合规框架报告

先决条件:

  • 您必须是该群组的管理员或拥有所有者角色。

查看合规项目报告:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的群组。
  2. 在左侧边栏中,选择 安全 > 合规中心
  3. 在页面中,选择 框架 选项卡。