已签名的 Docker 镜像通过让用户检查他们下载的镜像是否真正来自您来增强生态系统的信任和安全性。尽管签名有明显的好处,但 Docker 用户的使用速度很慢,并且默认情况下未启用。
现在,公证人签名系统的新版本试图改变这一点。2019 年 12 月成立了多供应商工作组,以改善图像签名体验并解决原始实施中的一些问题。Notary v2于2021 年 10 月以 alpha形式发布。以下是它如何使签名与现代容器使用模式更加兼容。
什么是Notary ?
Notary 是 Docker 于 2015 年开始的一个项目,然后将其捐赠给了云原生计算基金会(CNCF)。v2 版本由一个包括Docker、微软、谷歌和亚马逊在内的跨行业组织指导。
Notary,也称为 Docker Content Trust,提供对容器镜像进行签名和验证的机制。当前迭代的工作方式是将您的公钥添加到您的注册表中,使用密钥的私有副本对您的映像进行签名,然后将签名的映像推送到注册表。其他用户可以通过要求注册表将其公钥与他们提取的数据进行匹配来验证图像。所有这些功能都内置在docker trust命令组下的现有 Docker CLI 中。
v1 的问题
Notary 的原始版本是在今天观察到的 Docker 注册表激增之前开发的。它首先是为 Docker Hub 设计的,而今天您可能正在使用来自许多不同提供商的注册表。GitHub、GitLab 和流行的云部署平台都开始提供集成注册表。
Notary 目前与注册表协同工作。如果要将其与私有注册表一起使用,还必须部署自己的 Notary 服