本文分享自天翼云开发者社区《镜像供应链安全》,作者:黄**坚 

容器技术重塑了整个软件供应链。容器镜像将应用及其所依赖项打包,从而使应用可以在不同的计算环境之间快速、可靠地运行。容器镜像已经成为了应用分发的标准。镜像供应链安全应支持:
签名私钥:对接统一密钥管理系统或使用自签秘钥工具。
镜像签名:在镜像构建后使用私钥对镜像进行签名,并将镜像签名数据传递到容器镜像仓库。
镜像验签:当工作负载在集群内进行部署时,kubernetes回调验签插件,验签插件对工作负载所使用的镜像所对应的签名文件进行验证,验签通过后才能创建实例。 

实现方案
用户提供密钥对,使用私钥对镜像进行镜像签名,公钥在部署应用时进行镜像验签

用户选择镜像仓库中已有镜像,选择对镜像进行签名;

签名后镜像连同签名提交到镜像仓库中;

用户在容器集群上创建工作负载,请求传递给Kubernetes;

Kubernetes中的kube-apiserver接收到请求并进行认证鉴权后,校验请求参数,当请求参数合法时调用验签控制器;

验签控制器根据创建工作负载时指定的镜像url以及镜像拉取secret,从镜像仓库获取镜像digest,并通过镜像digest获取镜像的签名数据;

使用签名数据和签名公钥信息进行验签,并返回验签结果;

验签控制器根据验签结果,确认拒绝或者接受工作负载的创建;

当前通过验签后pod正常创建,工作负载实例正常被kubelet拉起;


 


天翼云开发者社区
91 声望2 粉丝

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。