在Kubernetes上使用Sigstore自动验证容器签名

Sigstore提供了一个免费、开放的代码签名方法,来给代码、JAR、容器镜像、及BLOB等进行签名。而且,现在Kubernetes也可以用它来验证容器镜像的签名了。

给Docker Hub上的镜像签名

Sigstore已支持的Registry请参见:https://docs.sigstore.dev/cosign/registry_support/。这里,我使用Sigstore的Keyless方式签署Docker Hub上的镜像,即使用下图中的命令签署biandayu/simple-service:v1.2.0,签署过程中会跳出Web登录页面,我使用的是Google账户dayubian@gmail.com

签署完成后,可在Docker Hub上查看到新生成的tag:


在Kubernetes上验证应用的容器镜像签名

安装Sigstore的policy controller

如下图所示,按其文档的指引进行安装:

Namespace设置

为需要进行验证的namespace加上label——policy.sigstore.dev/include: "true":

Keyless Policy设置

如前所述,我使用的是dayubian@gmail.com来签署的镜像,所以policy可以设成这样——

apiVersion: policy.sigstore.dev/v1beta1
kind: ClusterImagePolicy
metadata:
name: image-policy
spec:
images:
- glob: "**"
authorities:
- keyless:
identities:
- issuer: https://accounts.google.com
subject: dayubian@gmail.com

使用kubectl apply命令部署上述policy后,后面在namespace testsigstore上部署任何容器镜像,都将先验证是否有我的Sigstore keyless数字签名。

应用部署

如上图所示,部署有签名的容器镜像可以通过;反之,则被拒绝。

展开阅读全文

页面更新:2024-04-29

标签:容器   数字签名   账户   命令   过程   代码   页面   方式   文档   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top