合规报告
查看有关群组的违反合规和合规框架的报告。
违反合规报告
- 引入于 12.8 版本,名为合规看板。
- 重命名为合规报告于 14.2 版本。
- 替换为合并请求违规于 14.6 版本,功能标志为
compliance_violations_report
。默认禁用。- GraphQL API 引入于 14.9 版本。
- 一般可用于 14.10 版本。删除功能标志
compliance_violations_report
。- 重命名为违反合规报告于 15.9 版本。
- 创建/编辑合规性框架的功能引入于 16.0 版本。
通过违反合规报告,您可以查看群组中所有项目的合并请求活动的高级视图。
当您在合规报告中选择一行时,将出现一个折叠菜单,其中包括:
- 项目名称和合规框架标记。
- 指向引入违规的合并请求的链接。
- 合并请求的分支路径,格式为
[source] into [target]
。 - 对合并请求提交变更的用户列表。
- 对合并请求发表评论的用户列表。
- 批准合并请求的用户列表。
- 合并合并请求的用户。
查看群组的违反合规报告
先决条件:
- 您必须是管理员或具有该群组的所有者角色。
查看违反合规报告:
- 在顶部栏上,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
您可以对报告进行排序:
- 严重性级别。
- 违规类型。
- 合并请求标题。
选择一行,查看违规的详细信息。
严重性级别
每个违规行为都具有严重性级别,如下表所述。
图标 | 严重性级别 |
---|---|
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 支持创建合并请求的用户,和批准合并请求的用户之间的职责分离策略。职责分离标准是:
监管链报告
- 引入于 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 个月的提交。每个项目的上限为 1024 次提交。如果在 1 个月的窗口中有超过 1024 次提交,它们将被截断。
- 将提交写入 CSV 文件。该文件被截断为 15 MB,因为报告是作为电子邮件附件发送的(15.5 及更高版本)。
该报告包括:
- 提交 SHA
- 提交作者
- 提交者
- 提交日期
- 群组
- 项目
如果提交有相关的合并提交,则还包括以下内容:
- 合并提交 SHA。
- 合并请求 ID。
- 合并合并请求的用户。
- 合并日期。
- 流水线 ID。
- 合并请求批准者。
生成监管链报告
要生成监管链报告:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 选择 所有合并提交的列表。
根据您的极狐GitLab 版本,监管链报告可以通过电子邮件发送或可供下载。
生成特定提交的监管链报告
- 引入于 13.6 版本。
- 对所有提交而不仅仅是合并提交的支持添加于 15.10 版本。
您可以为特定的提交 SHA 生成特定于提交的监管链报告。此报告仅提供提交 SHA 的详细信息。
要生成特定于提交的监管链报告:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 在合规报告的顶部,在 所有提交列表 的右侧,选择向下箭头()。
- 输入提交 SHA,然后选择 导出提交监管报告。
根据您的极狐GitLab 版本,监管链报告可以通过电子邮件发送或可供下载。
或者,使用直接链接:https://jihulab.com/groups/<group-name>/-/security/merge_commit_reports.csv?commit_sha={optional_commit_sha}
,将可选值传递给 commit_sha
查询参数。
合规框架报告
引入于 15.10 版本。
通过合规框架报告,您可以查看应用于群组中项目的合规框架。报告的每一行显示:
- 项目名称。
- 项目路径。
- 合规框架标记(如果项目已分配)。
群组的默认框架有一个默认徽章。
查看群组的合规框架报告
先决条件:
- 您必须是管理员或具有群组的所有者角色。
查看合规框架报告:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规性 > 合规报告。
- 在页面上,选择 框架 选项卡。
将合规框架应用于群组中的项目
- 使用批量操作添加合规框架的功能引入于 15.11 版本。
- 在不使用批量操作的情况下添加合规框架的功能引入于 16.0 版本。
您可以将合规框架应用于群组中的项目。
先决条件:
- 您必须具有群组的所有者角色。
将合规框架应用于群组中的一个项目:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 在页面上,选择 框架 选项卡。
- 在您要添加合规框架的项目旁边,选择 添加框架。
- 选择一个现有的合规框架或创建一个新的合规框架。
将合规性框架应用于群组中的多个项目:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 在页面上,选择 框架 选项卡。
- 选择多个项目。
- 从 选择一个批量操作 下拉列表中,选择 将框架应用到所选项目。
- 选择要应用的框架。
- 选择 应用。
从群组的项目中删除合规框架
- 使用批量操作删除合规框架的功能引入于 15.11 版本。
- 在不使用批量操作的情况下删除合规框架的功能引入于 16.0 版本。
您可以从群组的项目中删除合规框架。
先决条件:
- 您必须具有群组的所有者角色。
从群组的一个项目中删除合规框架:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 在页面上,选择 框架 选项卡。
- 在要从项目中删除的合规框架旁边,选择框架标签上的 。
从群组的多个项目中删除合规框架:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 在页面上,选择 框架 选项卡。
- 选择多个项目。
- 从 选择一个批量操作 下拉列表中,选择 从所选项目中删除框架。
- 选择 删除。
导出群组中项目的合规框架报告
引入于 16.0 版本。
导出适用于群组中项目的合规框架报告。
- 框架报告不使用过滤器。
- 报告被截断为 15 MB,因此电子邮件附件太大。
先决条件:
- 您必须是管理员或具有群组的所有者角色。
要导出群组中项目的合规框架报告:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 在页面上,选择 框架 选项卡。
- 在 框架 选项卡上,选择右上角的 导出为 CSV 操作。
报告将被编译并作为附件发送到您的电子邮件收件箱。
过滤合规框架报告
引入于 15.11 版本。
要过滤合规框架列表:
- 在顶部栏中,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 安全与合规 > 合规报告。
- 在页面上,选择 框架 选项卡。
- 在搜索栏中:
- 选择您要过滤的属性。
- 选择一个操作符。
- 从选项列表中选择或输入搜索文本。
- 选择 搜索()。
重复此过程,可以按多个属性进行过滤。