为私有项目创建工作空间
之前的版本中无法为私有化项目创建工作空间。为了克隆一个私有化项目,你只能在创建工作空间后来验证自己的身份。
在极狐GitLab 16.4 中,你可以为任何公共或私有项目创建工作空间。当你创建工作空间时,你会得到一个在工作空间中使用的个人访问令牌。有了这个令牌,你就可以克隆任何私有项目并且执行 Git 操作,而这些都无需任何额外的配置或者验证。

使用极狐GitLab 用户身份识别从本地访问集群
研发人员在访问Kubernetes集群时,需要提供研发人员的云账号,或者第三方的身份验证工具。这增加了云身份认证和访问管理的复杂性。现在你可以使用研发人员的极狐GitLab 身份识别和 Kubernetes agent 来给研发人员赋予访问 Kubernetes 集群的权限。然后在集群内使用传统的 RBAC 来管理集群内的权限管理。
与极狐GitLab 流水线中的 OIDC 云身份识别一起,这些功能就能允许用户在无需专有云账号的情况下就能访问云资源,而且也不会危及安全性和合规性。
在此功能的第一个迭代中,你必须手动管理你的 Kubernetes 配置。Epic 11455 提议通过扩展极狐GitLab CLI 相关的命令来简化这一设置。
群组/子群组级别的软件组件依赖列表
当查看软件组件依赖项列表时,有一个整体概览是非常重要的。对于大型组织或企业来讲,管理项目级别的软件组件依赖是困难重重的,因为大型组织或企业通常想对组织内所有项目的软件组件依赖进行审计。在这个版本中,你可以看到项目级别、群组级别(包括子群组)的所有组件依赖。此功能现在是默认可用的。

漏洞批量状态更新
一些漏洞需要批量来处理。不管它们是假阳性还是不再需要被检测的,最小化噪音及对漏洞分类管理是非常重要的。此次发版中,你可以从群组或项目的漏洞报告中对多个漏洞进行批量处理,比如状态变更或添加注释。

细粒度的安全权限管理
有些企业或组织希望为其安全团队给予最少的必要的访问权限,以便他们能够遵守最小权限原则。安全团队不应该有编写代码更新的权限,但是他们必须要有审批合并请求、查看漏洞以及更新漏洞状态的权限。
极狐GitLab 现在允许用户基于报告者角色的访问权限来自定义角色,但添加了以下权限:
- 查看依赖列表(read_dependency)。
- 查看安全仪表盘和漏洞报告(read_vulnerability) 。
- 批准合并请求(admin_merge_request)。
- 修改漏洞状态(admin_vulnerability。
我们计划在 17.0 中为所有层级的用户删除从开发者角色中修改漏洞状态的能力,这已经被记录到了弃用条目中。关于这个提议的任何反馈都可以分享在议题 424688 中。
合并列车支持快进合并(Fast-forward)
快进合并(Fast-forward)是一种常用且流行的合并方法,能够避免合并提交,但是却需要更多的 rebase。合并列车是一个强大的工具,能够帮助解决将代码频繁合并到主分支过程中所遇到的一些重大挑战。很不幸的是,在此版本之前,你是无法同时使用合并列车和快进合并的。
在此版本中,私有化部署的管理员可以在同一个项目中同时开启快进合并和合并列车功能。你可以获取合并列车所带来的所有好处,这能够确保在代码被合并之前,所有的提交都能够很好的工作,并且所有提交都有快进合并所具有的干净整洁的提交历史。
为了开启快进合并的合并列车功能,需要打开 fast_forward_merge_trains_support功能开关,这个默认是关闭的,需要打开它。

设置全局 id_token
并移除对单个作业的配置
在极狐GitLab 15.9 中,我们宣布了弃用老版本的 JSON web token,取而代之的是 id_token。不幸的是,为了应对这个变更,需要单独对作业进行修改。为了平滑使用 id_token,从极狐GitLab 16.4 开始,可以在 .gitlab-ci.yml文件中为 id_token设置一个默认值。此功能会为每一个作业自动设置 id_token配置。使用 OIDC 进行鉴权的作业将不再需要单独设置 id_token。
通过第三方服务使用id_token和OIDC进行鉴权认证。必要的 aud子关键字被用来进行 JWTaudclaim 配置。
