第 4 章 程序错误修复


在此 Red Hat Trusted Artifact Signer (RHTAS)发行版本中,我们修复了以下 bug。除了这些修复外,我们还列出了我们修复的早期版本中已知的问题描述。

Operator 在恢复到不同的 OpenShift 集群后不会更新组件状态
当将 RHTAS 签名器数据从备份恢复到新的 OpenShift 集群时,组件状态链接不会如预期更新。在这个版本中,我们解决了与组件状态相关的问题。
当将 Trusted Artifact Signer 恢复到不同的 OpenShift 集群时,ownerReferences 会丢失
将 RHTAS 数据恢复到新的 Red Hat OpenShift 集群时,组件的 ownerReferences 将会丢失。这是因为 Securesign UUID 在在新集群中恢复时发生了变化,并且每个组件的 ownerReferences 会被删除,因为它们不再有效。在这个版本中,我们通过组件的 ownerReferences 解决了这个问题。
Trusted Artifact Signer Operator 不会应用配置更改
在这个版本中,以前确保部署处于预期状态的 Operator 逻辑会存在差距,从而导致部署修改问题。因此,如果配置部分被主动删除,则部署可能与预期状态不匹配。在这个版本中,负责维护部署的预期状态的功能经过全面重新设计和替换,从而消除了这一差距。因此,新功能可以正确地处理任何资源更新,确保部署始终处于所需的状态。
为 TUF 存储库指定 PVC 名称会失败
在本发行版本中,我们更新了 RHTAS Operator,以正确地解释更新框架(TUF)资源的持久性卷声明(PVC)的名称置备。在此次更新之前,因为这个错误解译,不会初始化 TUF 存储库。在这个版本中,Operator 在创建 TUF 存储库时将使用提供的名称,确保正确初始化具有指定名称的 TUF 存储库。
即使 externalAccess.enabled 设为 false,也会创建 ingress 对象
在这个版本中,Operator 创建入口对象的逻辑现在会主动评估 Securesign 自定义资源中的 externalAccess 设置。在此次更新之前,这个评估不正确,导致为 Fulcio、Rekor Search UI 和 Timestamp Authority 创建 ingress 对象,即使 externalAccess.enabled 被设置为 false。在这个版本中,Operator 在创建 ingress 对象前确保 externalAccess.enabledtrue,防止在为组件有意禁用外部访问时创建 ingress 对象。这个更改可以正确地反映 Securesign 自定义资源中指定的配置。
在信任 root 中显示正确的摘要算法

在此次更新之前,更新框架(TUF)不会完全验证信任根。这会导致密钥的错误签名算法显示 SHA384 而不是 SHA256,从而导致签名目标信任 root 中的密钥详情不正确。这个问题已通过向 TUF 添加额外的密钥验证来解决。因此,签名的目标信任 root 现在会在新部署上显示正确的密钥详情。现有部署需要轮转 Rekor 键才能正常工作。

有关如何为在 Red Hat OpenShiftRed Hat Enterprise Linux 上运行的 RHTAS 轮转 Rekor 的 signer 密钥的详情,请查看 RHTAS 管理指南。

将 Rekor signer 密钥创建从 SHA384 降级为 SHA256
在此次更新之前,RHTAS Operator 和 Ansible 集合创建了与 Rekor 的 256 位要求不兼容的 signer 密钥,从而导致潜在的验证问题。这是因为生成 384 位 SHA384 密钥而不是预期的 256 位 SHA256 密钥。在这个发行版本中,我们调整了签名者密钥使其与 Rekor 的规格一致,从而提高了最终用户的兼容性和稳定性。
因为非受管数据库连接,在高负载下不稳定的服务
在这个版本中,客户端组件的默认数据库连接池,如 Trillian 日志服务器以前没有限制,从而导致在负载过重时对数据库有过量 TCP 连接。这会导致客户端 pod 上的临时端口耗尽,从而导致组件崩溃 "cannot assign requested address" 错误和后续失败,包括来自 Fulcio 的 "500 Internal Server Error" 响应。在这个版本中,为 Rekor 和 Trillian 数据库客户端设置了限制,控制打开和闲置连接的最大数量,以及连接生命周期。这种改进可确保系统在高负载条件下保持稳定,防止端口耗尽和消除 "cannot assign requested address" 错误和后续失败。
系统重启后,cli-serverrekor-search 组件没有响应
我们修复了 RHTAS 组件的镜像拉取策略,即 cli-serverrekor-search,后者之前以 Always pull 策略运行,与其他 RHTAS 组件不同。因此,在重启 Red Hat Enterprise Linux 后,registry.redhat.io 的本地身份验证将会丢失,从而导致这两个服务重复尝试拉取本地可用的镜像。因此,由于镜像拉取错误,这两个服务都无法启动,从而导致 cli-server 无响应并防止依赖功能在重启后正常工作。在这个版本中,这些服务的镜像拉取策略已切换到 IfNotPresent,允许它们使用已缓存的本地镜像。因此,两个组件现在重启后可以成功启动,而无需重新身份验证到外部 registry。
因为文件权限不正确,cosign 初始化失败
在这个版本中,我们修复了 Update Framework (TUF)元数据卷中 root.json 文件的权限,以匹配 644 的 TUF 默认值。此调整允许 Web 服务器读取文件,从而解决之前导致对 root.json 的请求返回 403 Forbidden 消息的问题,从而阻止 TUF 客户端和工具引导。负责编写和同步 root.json 文件的进程也已更新,以确保正确权限。因此,TUF 客户端现在可以初始化信任链且没有错误。
rekor-server 部署到 default 命名空间
升级到 RHTAS 1.3,rekor-server 会在没有非 root UID 和 GID 的情况下使用容器镜像进行部署,从而导致 Pod Security Admission 阻止 pod 创建,并防止服务可用。在这个版本中,我们更新了 Dockerfile 以明确设置非 root UID 和 GID。因此,rekor-server pod 现在可以在 RHTAS 1.3 的默认命名空间中创建。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat