题图摄于美国加州蒙特雷港
(本文根据 Harbor 社区经理 Orlin Vasilev 的英文博客改编,感谢 CNCF公众号的初始翻译和 Harbor 维护者团队提供的测试环境。)
相关信息:
招聘云原生工程师(参见另一篇)
经过社区维护者们的通力合作,Harbor v2.5 于上周发布了,新版本为用户们带来了如下几个重要的新特性。
Cosign 签名的引入,使得制品(镜像等)复制时签名可以同步复制。
提高了并发拉取请求的性能。
改进了垃圾回收功能的容错性,当删除某个制品(Artifact)发生错误时,可继续删除其他制品。
复制中可跳过在代理缓存项目中的制品。
激活 Distribtion purging 功能,可以删除 upload 目录中的孤立文件。
使用 Golang v1.17.7 构建的。
使用 Distribution v2.8.0 和 Trivy v0.22.0。
本篇着重给大家介绍一下的是 Cosign, 它是 Harbor 2.5 重要功能。
在 Harbor 制品(Artifact)仓库中,制品的签名和签名验证是关键的安全功能之一,可帮助用户检查制品的完整性。Harbor 2.5通过与另外两个开源项目Notary[1] 和 Cosign[2] 的集成,支持了内容信任,其中 Cosign 是新增的功能。
Cosign 是一个 OCI 制品签名和验证解决方案,是 Sigstore 开源项目[3] 的一部分。
用 Cosign 对 OCI 制品签名后,可将生成的签名推入(push)到 Harbor 中。这个签名作为制品的附件(accessory)和该制品一起存储。Harbor 管理和维护已签名制品和 cosign 签名之间的联系,在Tag保留规则(tag retention rules)和不可变规则(immutable rules)等功能中,Harbor的内置功能自动维护制品和签名之间的对应关系。
将 Cosign 与 Harbor 结合使用解决了之前一个悬而未决的问题:镜像等制品在远程复制中,其签名信息无法被复制到目标端。现在,当用户通过复制规则(replication rule)把已签名制品复制到远端时,Harbor 把签名信息也同步复制到了远端,使得远端的制品具有同样的签名。
你可以参阅完整文档[5]了解更多。
功能设置示例
两个Harbor v2.5实例缺省对每个仓库项目启用了 Cosign 的设置。通过配置两个Ha