关于GCR新手的问题。
我还无法找到有关是否有可能将签名的Docker映像推送到GCR的任何文档。因此,我尝试了此操作,但失败,并出现以下错误。 我首先构建了一个docker映像,然后使用“ docker tag gcr.io/my-project/image-name:tag”将其标记为指向我在GCR中的项目。 然后尝试使用 “泊坞窗信任标志gcr.io/my-project/image-name:tag”
错误:联系公证服务器时出错:拒绝:项目'gcr.io:my-project'的令牌交换失败。在执行此操作之前,请在https://console.cloud.google.com/apis/api/containerregistry.googleapis.com/overview?project=gcr.io:my-project的Cloud Console中启用Google Container Registry API。
我的项目的GCR API已启用,我有权推送到它。
我是否需要在GCP的项目中进行更多操作才能推送签名的图像,或者只是不支持它?
如果以后,作为图像使用者的人如何验证图像的完整性?
谢谢, J
答案 0 :(得分:0)
Google Cloud Platform当前不支持此功能。
您可以提交功能请求以请求其实现here。
要验证图像的完整性,请使用image digests。基本上,它们是与图像关联的加密哈希。您可以将提取的图像的哈希值与期望的哈希值进行比较。命令参考here
答案 1 :(得分:0)
Google现在基于Kritis实现了二进制授权和“证明”的概念。目的是在CI / CD管道中使用它,以确保图像已正确创建和验证。
Full docs are here,但是该过程主要包括通过PKIX签名对图像进行签名,然后使用gcloud
工具创建证明。
然后,您在GKE群集上指定Binary Authorization策略,以强制执行哪些证明才能在群集中使用映像。