镜像供应链安全

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 容器镜像安全摘要:容器技术改变了软件供应链,镜像签名确保安全。私钥对镜像签名,公钥用于部署时验证。流程包括用户签名镜像并上传至仓库,Kubernetes在部署时校验签名。验签控制器通过镜像digest获取签名数据,使用公钥验证。只有验签成功,工作负载才会被创建。该过程增强了容器环境的信任与安全性。

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

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

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

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

实现方案

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

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

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

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

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

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

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

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

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

 

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
供应链 安全 Linux
简单、透明、安全、高度集成!龙蜥可信 SBOM 能力探索与实践
从攻击面管理的角度解决软件供应链SBOM复杂体系的安全可信问题。
|
算法 Java 数据安全/隐私保护
如何使用OpenSSL工具生成根证书与应用证书
如何使用OpenSSL工具生成根证书与应用证书 一、步骤简记 [java] view plain copy   // 生成顶级CA的公钥证书和私钥文件,有效期10年(RSA 1024bits,默认)   openssl req -new -x509 -days 3650 -keyout CARoot1024.
3614 0
|
9月前
|
人工智能 Linux 云栖大会
看过来!2024 云栖大会操作系统技术 Workshop 怎么玩?
报名倒计时2天啦,欢迎大家来“操作系统技术Workshop”打卡。专家讲解原理、现场实战演练,AI、C++ 20专场任选。
看过来!2024 云栖大会操作系统技术 Workshop 怎么玩?
|
8月前
|
存储 JavaScript 数据库
ToB项目身份认证AD集成(一):基于目录的用户管理、LDAP和Active Directory简述
本文介绍了基于目录的用户管理及其在企业中的应用,重点解析了LDAP协议和Active Directory服务的概念、关系及差异。通过具体的账号密码认证时序图,展示了利用LDAP协议与AD域进行用户认证的过程。总结了目录服务在现代网络环境中的重要性,并预告了后续的深入文章。
307 2
|
Java Maven
关于idea依赖引用正确但是 编译报错“找不到符号”问题
解决烧脑问题,尝试重启、清理Maven重编译或改字符集删除target。一张图片总结其他方法,简单易行。重点检查Maven主路径,避免默认捆绑设置。附两张图片示例,完成操作后重新编译启动,问题解决
|
11月前
|
数据可视化 Java Swift
Large Enough!Mistral Large 2开源!魔搭推理、微调最佳实战教程来啦!
Mistral宣布推出新一代旗舰机型 Mistral Large 2。与前代产品相比,Mistral Large 2 在代码生成、数学和推理方面的能力显著增强。它还提供了更强大的多语言支持和高级函数调用功能。
Linux中的Base64编码与解码:`base64`命令详解
Linux的`base64`命令用于Base64编码和解码文本数据,常在邮件和HTTP中传输二进制信息。编码示例:`base64 input.txt`,解码示例:`base64 -d encoded.txt`或`echo "SGVsbG8sIFdvcmxkIQo=" | base64 -d`。注意,编码后数据会增大33%,且可能含换行符。广泛应用于多种系统和协议,如MIME。
|
供应链 Kubernetes 安全
谈谈我对云原生与软件供应链安全的思考
阿里云容器服务 ACK、容器镜像服务 ACR 在容器安全领域有着深厚的投入。在信通院首次 “云原生安全成熟度”评估中,阿里云取得了国内唯一全域最高等级认证。我们也在和 OCI, Sigstore 等社区合作,持续为企业客户提供更加可信赖、更加易用的软件供应链安全能力。
1092 51
谈谈我对云原生与软件供应链安全的思考