Docker Hub Publisher映像信任链

预计阅读时间:2分钟

对于消费者

Docker可以确保从原始制作人那里安全地接收和验证所有内容,并且可以在将图像添加到Docker Hub之前对其进行审核。在完成令人满意的图像检查后,Docker会对图像进行密码签名,以便您可以验证和信任来自Docker Hub的认证内容。

这是完整的信任链的详细信息,其中包含有关从Docker Hub提取映像时如何以密码方式验证过程完成的详细信息:

  1. 发布者使用Docker Content Trust签名并将其图像推送到一个专用的登台区域。

  2. Docker拉出映像,验证签名以确保映像的真实性,完整性和新鲜度。

  3. Docker Hub认证团队对映像进行了彻底的检查,查找漏洞并验证了映像卫生的最佳做法,例如确保最小的映像大小和运行状况检查。

  4. 经过成功的审查后,Docker对该映像进行签名并使其在Docker Hub上正式可用。作为使用者,您可以通过拉动并运行Docker Content Trust来确认Docker已对映像进行签名:

     DOCKER_CONTENT_TRUST=1 docker pull <image>
    
     DOCKER_CONTENT_TRUST=1 docker run <image>
    

对于出版商

Docker Hub具有彻底且定义明确的认证流程,可确保以可靠的方式将生产者的顶级内容传递给消费者。作为内容的制作者,您需要对图像进行签名,以便Docker可以在启动图像认证和发布过程时验证您的内容是否受到篡改,如下所述:

  1. 生产者使用Docker Content Trust签名并将其映像推送到一个专用的暂存区。为此,请在docker push启用内容信任的情况下运行命令:

     DOCKER_CONTENT_TRUST=1 docker push <image>
    
  2. Docker验证签名以保证映像的真实性,完整性和新鲜度。图像的所有单独层及其组合都包含在此验证检查中。阅读Docker文档中有关Content Trust的更多详细信息

  3. 成功进行签名验证后,Docker会将原始映像拉到专用的内部登台区域,该区域只能由Docker Hub认证团队访问。

  4. Docker Hub认证团队对映像进行了彻底的检查,查找漏洞并验证了映像卫生的最佳做法,例如确保最小的映像大小和运行状况检查。

  5. 经过成功的审查后,Docker对该映像进行签名并使其在Docker Hub上正式可用。类似于Apple Store上的工件,这是图像上的最终且唯一的签名。您的消费者通过拉并运行Docker Content Trust来检查Docker的签名,从而确认完整的认证过程已完成:

     DOCKER_CONTENT_TRUST=1 docker pull <image>
    
     DOCKER_CONTENT_TRUST=1 docker run <image>
    

商店信任链签名过程

要了解有关发布内容的信任链和证书的更多信息,请参阅 发布者指南中的安全和审核策略

信任连锁商店安全