镜像供应链安全

Tianyiyun · · 675 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

容器技术重塑了整个软件供应链。容器镜像将应用及其所依赖项打包,从而使应用可以在不同的计算环境之间快速、可靠地运行。容器镜像已经成为了应用分发的标准。镜像供应链安全应支持:

签名私钥:对接统一密钥管理系统或使用自签秘钥工具。

镜像签名:在镜像构建后使用私钥对镜像进行签名,并将镜像签名数据传递到容器镜像仓库。

镜像验签:当工作负载在集群内进行部署时,kubernetes回调验签插件,验签插件对工作负载所使用的镜像所对应的签名文件进行验证,验签通过后才能创建实例。

实现方案

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

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

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

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

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

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

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

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

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

675 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传