SSH指纹的新链接
由于在SSH配置页面和文档中新增了链接,你的极狐GitLab SSH指纹现在更容易找到了。
在UI中可见用户SCIM身份
以前,用户的SCIM身份只能通过SCIM API访问。
现在,用户的SCIM身份对于极狐GitLab管理员来说,可以在用户列表的 “身份标识 “标签中看到。这样一来,SCIM相关问题的故障排除就简化了。管理员可以验证特定账户使用的是什么身份(如果有的话),而不需要极狐GitLab支持或API查询。
更改审计事件自定标头的审计事件
现在,当为流式审计事件添加或删除定制的HTTP 标头时,极狐GitLab会记录一个审计事件。
这个审计事件可以帮助确保对流式审计事件的配置是正确的,你可以审计以下内容:
- 识别审计的变化发生时间。
- 确定你何时需要采取行动。
迁移群组时迁移多个MR指派人
作为我们努力改进和迭代群组迁移的一部分,我们为被迁移的群组和项目添加更多的元数据,并创造一个更好的迁移体验。我们增加了对迁移多个指派人到一个合并请求的支持。
在这个里程碑之前,只有一个合并请求的指派人可以被迁移。这将有助于实现迁移的自动化,并节省时间,因为它消除了在迁移前分配所有指派人的手工工作。
在WYSIWYG wiki编辑器中可视化目录
在富文本WYSIWYG编辑器中编辑wiki页面时,希望看到内容的准确表示,就像它在发布后出现的那样。有些元素对于纯文本格式来说过于复杂,并且需要在构建页面时生成内容的短代码或宏。wiki 的目录就是一个例子:它从页面的子标题生成一个列表,简化了很长页面的导航。但是,所见即所得页面编辑将目录显示为静态占位符块。
极狐GitLab 15.3 在WYSIWYG wiki 编辑器中显示了目录的可视化表示。要在编辑页面时添加目录,请选择工具栏中的加号(+) 图标,然后选择目录。当在页面上创建和编辑子标题时,目录会实时更新,帮助监控较长 wiki 页面的大纲。
强制对所有媒体文件进行授权检查
如果你知道附在议题、合并请求或评论上的图片的URL,那么不需要认证就可以查看到该图片。在某些情况下,这对注重合规的组织来说是不够安全的。
现在,所有新创建的项目都默认启用了授权检查,并且可以在用户界面中为现有项目进行配置,以满足组织需求。认证检查可能会给电子邮件客户端带来问题,它们无法创建一个有效的极狐GitLab会话来进行认证。
改进了群组Runner的细节和编辑
如果你是群组拥有者,当你查看Runner的详细信息时,重新设计的详细信息页面有一个改进的布局。Runner的元数据显示得更加紧凑,你可以在新的视图中编辑Runner。这些变化有助于使管理Runner的体验更轻松、更高效。
极狐GitLab Runner 15.3
同期还发布了极狐GitLab Runner 15.3。极狐GitLab Runner 是轻量级、高度可扩展的代理,它运行CI/CD作业并将结果发送回极狐GitLab实例。 Runner与极狐GitLab CI/CD 结合使用,这是极狐GitLab 中包含的开源持续集成服务。
新版本中的功能变化:
- 在Linux 上使用Podman 作为Docker 执行器
Bug修复:
- 工件下载因某些CI_JOB_TOKEN值而失败。
- 适用于Kubernetes的GitLab Runner Operator未安装在离线环境中。
所有更改的列表在极狐GitLab Runner CHANGELOG中。
查看群组Runner升级的状态
如果必须为团队管理Runner,那么尝试确定有多少Runner以及哪些Runner没有使用最新版本的可能会导致很耗时且效率低下。未能更新版本不仅意味着不能使用最新功能,还可能意味着没有利用安全修复程序。
在15.3 中,可以查看两个新的摘要状态标记,这些标记表明有多少Runner的版本已过时。第一个徽章显示有多少Runner推荐升级,第二个徽章显示有多少可选升级可用。通过这些新增功能,管理员可以更轻松地识别需要版本更新的扫描器。
基于浏览器的DAST被动检查里程碑
基于浏览器的DAST扫描现在从基于浏览器的扫描器运行所有被动漏洞检查。虽然基于浏览器的DAST仍处于可选测试状态,但一直在定期发布新的漏洞检查。一旦这些都在基于浏览器的扫描器中完成并启用,它们在旧的基于代理的扫描器中同时被禁用。任何尚未移植到新扫描器的检查仍会在旧扫描器中运行,以确保所有测试的完整漏洞覆盖率。从15.3开始,所有被动检查完全切换到新的扫描器。这标志新分析仪开发的一个重要里程碑。
未来,将致力于积极的漏洞检查开发。DAST_BROWSER_SCAN与被动检查一样,对于DAST环境变量设置为true的任何扫描,单个主动检查将在发布时启用。
对密钥检测的IaC扫描规则现已被禁用
我们更新了极狐GitLab IaC扫描,以禁用检测密钥令牌和值的内置规则。这些规则是在支持IaC扫描的上游项目(kics)中添加的。
如果你以前有 “密码和密钥 “系列的IaC扫描发现,在分析器更新后,它们将显示为 “不再检测”。
这一变化防止了在同一项目中同时运行极狐GitLab密钥检测和极狐GitLab IaC扫描时出现重复的发现。我们希望这一变化能够通过消除昂贵的模式匹配来提高扫描性能。
我们正在跟踪工作,以确保删除的规则都被极狐GitLab Secret Detection的内置规则所覆盖。
许可证合规分析更新
极狐GitLab 许可证合规支持通过运行 license-finder 分析器来收集许可证数据。该分析器已被更新为使用Debian Bullseye基本镜像,而不是之前的Debian Buster基本镜像。
预览即将到来的SAST分析器的整合
现在,可以在流水线中使用极狐GitLab管理的SAST CI/CD模板的最新变体来测试即将发生的更改。这是基于Semgrep的扫描替换特定语言GitLab SAST扫描器的迭代计划的一部分,正如在15.0中宣布的那样。
极狐GitLab 15.3中,修改 最新版 模板,使用Semgrep 扫描器替换已弃用的扫描器 bandit、gosec 和 eslint。建议在合并请求中测试更改,但保留在默认分支管道配置中的稳定模板上。要了解更多关于这一变化的信息,请看关于过渡到基于Semgrep的扫描的文档。
最新模板包含了我们计划在极狐GitLab 15.4中发布的稳定模板。要了解更多关于稳定版和最新版模板的信息,请看关于CI/CD模板版本的文档。
使用发布CLI创建带注释的标签
以前,只能在使用极狐GitLab Release CLI 创建发布时创建轻量级标签。在新版本中,可以添加一个可选tag-message参数以在创建发布时创建带注释的标签。这使能够将相关信息与新标签一起包含在内,以便下游用户和应用程序可以拥有额外的上下文。
发布可用性改进
在15.3 中,进行了多项改进,使极狐GitLab 版本更易于使用。用户现在可以直接在用户界面中删除发布、在用户界面中设置发布日期、在用户界面中编辑 release_at
日期以及轻松识别历史发布。
项目设置页面中的组级保护环境配置
以前在查看项目的配置设置时,无法查看是否有相关的组级保护环境设置。在 15.3 中,现在可以在项目的受保护环境配置设置页面中看到这些设置。
Geo支持项目级别安全文件
Geo 现在支持跨Geo站点复制和验证项目级安全文件。使用项目级安全文件,可以将二进制文件(例如配置文件、证书和密钥库)上传到极狐GitLab中的项目,并在CI/CD作业中使用它们。
删除Praefect数据库记录的安全方法
在某些情况下,Gitaly Cluster 可能会为存储库创建数据库条目,但无法复制磁盘上的数据。现在可以使用该 -db-only
选项手动删除Gitaly集群数据库条目,同时保持磁盘存储库完好无损。这允许管理员在保护磁盘存储库的同时删除孤立的数据库条目。
要重新跟踪存储库,请使用 track-repository
命令。
保护新访问令牌的默认值
当你创建访问令牌时,会显示以下默认值:
- 过期日期为当前日期后的30天。
- 对于项目和组的访问令牌,角色是访客。
以前,没有设置默认值。通过设置默认的到期日和预先选择最低权限的角色,极狐GitLab提供了一个更安全的基线来创建令牌。
支持通过SSH进行Git的Fortinet推送通知
在以前的极狐GitLab版本中,当使用FortiAuthenticator进行双重认证时,一次性密码(OTP)是唯一的选择。这个选项要求用户在每次呈现时都要输入这个OTP。
现在,用户可以选择接收推送通知而不是OTP,让用户更快速地验证。
用户ID被添加到用户资料页
用户ID 现在可在用户个人资料页面上使用,包括复制ID的功能。这将使自动化等任务更容易。
通过API维护SAML群组链接
到目前为止,SAML群组链接必须在用户界面中进行配置。现在,你可以使用API以编程方式管理SAML群组链接,以便自动化SAML组管理。
如果代码所有者的文件发生了更改,则删除他们的批准
为了确保合并请求的批准是关于最新的修改建议,你可以在有更多新的修改被添加时删除批准。然而,如果你还要求代码拥有者批准特定文件或路径的修改,这种删除可能是不不合理的。即使新的修改不影响代码所有者所负责的文件,他们的批准也会被删除。
现在你可以更有选择性,只在代码所有者的文件发生变化时才删除他们的批准,通过避免不必要的重新批准来提高代码审查的速度。
从用户界面为合并请求变基而不触发流水线
在具有半线性分支的大型繁忙的单库中,你可能需要频繁地为合并请求变基。为了节省资源,你可能不想在每次变基时都运行一个流水线。你可以在使用API变基时跳过流水线,或者通过使用Git推送选项或提交消息中的[ci skip],但在合并请求中从用户界面变基时则不能。
现在我们有了一个选项,可以在从用户界面变基时跳过流水线,所以你可以更好地控制你的合并请求何时运行流水线。
改进新分支上CI/CD `changes` 的表现
通过使用 rules: changes
配置CI/CD作业,以便在某些文件发生变化时在流水线上运行,这对合并请求流水线非常有用。它比较源和目标分支,看有什么变化,并根据需要添加作业。不幸的是,changes
对分支流水线的工作并不理想。例如,如果流水线运行的是一个新的分支,changes
没有什么可以比较的,总是返回true,所以作业可能会意外地运行。
在新版本中,我们为 jobs 和 workflow:rules:changes
增加了 compare_to
,以改善分支流水线的行为。现在可以配置作业,以检查新分支和定义的比较分支之间的变化。使用 rules:changes:compare
的作业将以所期望的方式工作,与定义的分支进行比较。这对单仓库很有用,可以根据 repo 中的哪个组件正在工作,配置许多独立的作业来运行。
查看你的Runner升级情况
对于负责操作和维护一组Runner的GitLab管理员来说,尝试确定有多少Runner以及哪些Runner没有使用最新版本的 GitLab Runner 可能既耗时又低效。在 15.1 中,在Runner页面的管理区域中,为各个Runner添加了徽章,以显示升级可用或推荐的时间。在15.2中,可以按升级状态过滤列表。
DAST API和API 模糊测试速度改进
作为DAST API扫描和API 模糊测试提高测试API速度的持续努力的一部分,新增了对多CPU运行器的支持。API 测试与运行应用程序的任何测试一样,可能需要很长时间才能涵盖所有测试用例的所有操作。扫描具有大量操作的API所花费的时间通常会阻止团队将这些测试包含在他们的管道中,尤其是对执行时间敏感的管道,例如功能分支管道。使用多CPU 扫描器允许自动并行执行DAST API 扫描或 API Fuzzing 测试。这显著减少了完成API安全测试所需的时间。
在官方的基准测试中,使用具有3 CPU 的私有扫描器将测试速度提高了约78%。实际数字会因许多因素而异,包括正在测试的API的速度和已启用的测试模块。通常,当使用具有多个 CPU 的扫描器时,与使用共享扫描器或具有单CPU的扫描器相比,可以预期测试时间会显著减少。
安全扫描中使用 “**” 进行路径排除
我们改进了极狐GitLab 安全扫描器中忽略路径的方式。通过忽略测试文件、示例代码或不想扫描的其他代码,忽略路径可以帮助专注于正确的发现。
现在你可以使用双星glob模式,如*/_test.go或test/*/fixture来排除路径:
- 依赖扫描,通过使用DS_EXCLUDED_PATHS变量。
- SAST,通过使用SAST_EXCLUDED_PATHS变量。
- 密钥检测,通过使用SECRET_DETECTION_EXCLUDED_PATHS CI/CD变量。
改进了许可证合规性MR部件的设计
许可证合规性合并请求部件具有重新设计的用户体验,带来以下改进:
- 与其他小部件更好的一致性。
- 通过缩进提高了可读性。
- 更干净的整体风格外观和感觉。
静态扫描分析器更新
极狐GitLab静态分析包括极狐GitLab 静态分析团队积极管理、维护和更新的许多安全扫描器。在 15.3 版本中主要更新如下:
- 更新了Kics分析器,增加了额外的规则,修复了错误,并更新到kics 1.5.12版本。
- 更新了NodeJSScan分析器,修复了扫描包含符号链接的软件库的问题。
- PMD-Apex分析器更新到6.47.0版本。该更新解决了PMD依赖中的一个安全漏洞。
- Semgrep 分析器已更新。详情请见 CHANGELOG。
- 我们更新到了 Semgrep 0.104.0 版本,以提高性能,修复错误,并在其他方面改进扫描引擎。
- 我们已经可以删除 “代码生成的不当控制(’代码注入’)”规则,该规则很容易产生误报。要从今天的扫描中删除该规则,请设置SAST_EXPERIMENTAL_FEATURES CI/CD变量。在我们从默认扫描工作中删除规则之前,我们正在探索更好地处理规则删除的选项。
- 密钥分析器已更新,以修复对OpenShift中自定义证书机构(CA)的处理。
- SpotBugs分析器已更新,以包括SpotBugs、Gradle、Grails、Maven、sbt、Java和其他依赖的新版本,并修复了对OpenShift中自定义证书颁发机构(CA)的处理。
如果包含极狐GitLab管理的SAST模板(SAST.gitlab-ci.yml),无需执行任何操作就能收到这些更新。但是,如果覆盖或定制自己的CI/CD模板,需要更新你的CI/CD配置。
要保持在任何分析器的特定版本上,你可以锁定在一个分析器的次要版本上。锁定到以前的版本可以防止你接收自动的分析器更新,并且需要你在CI/CD模板中手动固定到你的分析器版本。
关于以前的变化,请看上个月的更新。
使用 `release:tag_message` 关键字创建带注释的标记
现在可以在创建发布时创建带注释的标签。在 .gitlab-ci.yaml
文件中,使用 release
关键字包含可选的 tag_message
子键并指定消息。这使能够将相关信息与新标签一起包含在内,因此下游用户和应用程序可以拥有额外的上下文。
使用编辑标签按钮编辑所有发布详细信息
更新了编辑标签工作流程,因此它可以导航到编辑版本。以前,它会导致旧版编辑标签页面。现在,可以更轻松地创建或更新相关的发布信息,包括发布说明,并利用其他受支持的功能,例如新版本的 webhook。
通过API删除部署
现在可以使用API删除部署。新版本中允许管理和清理旧的部署参考。
交互式安全策略编辑器验证
极狐GitLab 的安全策略YAML编辑器现在包括自动内联验证。该验证有助于防止常见的YAML格式错误,并在键入时提供有关策略的实时反馈。
Omnibus改进
- 极狐GitLab 15.3包括Mattermost 7.1与新的洞察仪表盘等。该版本还包括安全更新,建议从早期版本升级。
- Gitaly现在正在使用新的cgroup配置。以下配置将被废弃:gitaly[‘cgroups_count’], gitaly[‘cgroups_memory_limit’], gitaly[‘cgroups_memory_enabled], 和gitaly[‘cgroups_cpu_enabled’]。如果使用以前的设置,请确保在16.0主要版本之前删除它们或切换到新设置。
- 从15.3开始,捆绑的Grafana在新安装时将被默认禁用。与Omnibus捆绑的Grafana版本有安全漏洞,现在已经被删除。
提高仓库大小计算的准确性
极狐Gitlab通过改进计算存储库大小的方式来使显示的存储库大小更加准确。这样做是为了更准确地了解存储库占用的磁盘空间。
过去,在计算中包括了作为池存储库一部分的共享对象。在修改了的计算方法中,不再包含这些共享对象,并提供了更准确的存储库实际存储空间表示。因此,Fork项目的计算存储现在只包括git更改,而不是整个git存储库。
虽然这是对存储库大小计算的改进,但它并不完美。仍然存在计算的存储库大小可能与预期不同的情况。