带你读《云原生机密计算最佳实践白皮书》——AMD SEV机密容器(1)

简介: 带你读《云原生机密计算最佳实践白皮书》——AMD SEV机密容器(1)

AMD SEV机密容器


本文主要为您介绍如何基于AMD安全加密虚拟化功能SEV(AMD Secure Encrypted Virtualization)技术,通过远程证明启动一个租户的加密容器镜像。


前提条件

1. 安装Anolis 8.6 操作系统

请在支持AMD CPU的硬件设备上,参考Anolis 8.6 GA说明文档安装anolis 8.6 GA。

2. 升级内核到5.10

由于 Anlois 8.6 的默认内核版本是4.19,请升级kernel 到5.10版本。

添加 yum 源配置参数,添加Anolis 的 Experimental repo。

yum install yum-utils
yum-confifig-manager --add-repo https://mirrors.openanolis.cn/anolis/8/kernel-5.10/x86_64
/os/

升级内核

yum update kernel

重启机器,并重新查看机器的操作系统发行编号。

reboot
uname -r

预期结果如下:

5.10.134-13_rc2.an8.x86_64

3. 使能SEV

注意:在 Anolis 8.6 中,grub 版本默认为1:2.02-123.0.2.an8_6.8。此版本存在BUG,如果直接进行使能sev的操作,会导致机器重启后无法进入系统的情况。请采用降级grub的workround方法。

修改 yum 源,在 Anolis 8.5 中才有低版本的 grub。

cd /etc/yum.repos.d
sed -i 's/$releasever/8.5/' AnolisOS-BaseOS.repo

降级 grub。

um downgrade grub2-efifi

查看 grub 的版本,预期结果如下:

# yum list | grep grub
grub2-common.noarch 1:2.02-106.0.1.an8 @BaseOS
grub2-efifi-x64.x86_64 1:2.02-106.0.1.an8 @BaseOS
grub2-pc.x86_64 1:2.02-106.0.1.an8 @BaseOS
grub2-pc-modules.noarch 1:2.02-106.0.1.an8 @BaseOS
grub2-tools.x86_64 1:2.02-106.0.1.an8 @BaseOS
grub2-tools-efifi.x86_64 1:2.02-106.0.1.an8 @BaseOS
grub2-tools-extra.x86_64 1:2.02-106.0.1.an8 @BaseOS
grub2-tools-minimal.x86_64 1:2.02-106.0.1.an8 @BaseOS

使能SEV和SME

默认情况下SEV和SME没有使能,请输入以下内核命令行进行使能:

grubby --update-kernel=ALL --args="mem_encrypt=on kvm_amd.sev=1"

重启机器。

reboot

重启后,请检查机器的sev使能状态。

dmesg | grep -i sev

预期结果如下:

[ 6.747923] ccp 0000:4b:00.1: sev enabled
[ 6.842676] ccp 0000:4b:00.1: SEV fifirmware update successful
[ 6.997400] ccp 0000:4b:00.1: SEV API:1.42 build:42
[ 7.522437] SEV supported: 255 ASIDs

最后检查 SME(Secure Memory Encryption) 的状态。

dmesg | grep -i sme

预期结果如下:

[ 1.863927] AMD Memory Encryption Features active: SME


背景信息

1685085184081.png

AMD SEV Pod 级机密容器架构基于 Kata Containers 项目,最大区别是将基于普通虚拟化技术实现的轻量级 Sandbox Pod替换为基于机密计算技术实现的轻量级 TEE Pod,目的是将特定租户的整个 Pod 以及其中的容器运行在受 CPU TEE 保护的执行环境中。除此之外,TEE Pod 内部还额外集成了 image-rs 和 attestation-agent 等组件,它们负责实现容器镜像的拉取、授权、验签、解密、远程证明以及秘密注入等安全特性。

机密容器的基本运行过程为:

• 用户使用标准工具制作一个签名和/或加密的受保护的容器镜像,并上传到容器镜像仓库中。

• 用户命令 Kubernetes 启动这个受保护的容器镜像。kubelet 会向 containerd 发起创建 Pod 的 CRI 请求,containerd 则把请求转发给 kata-runtime。

• kata runtime 与 Key broker service(simple kbs)建立安全会话,并进行基于CPU TEE 硬件的身份认证与授权。KBS基于安全可信信道发送敏感数据给kata runtime。kata runtime 调用QEMU 将秘密信息注入到guest userland中。之后再调用 QEMU 启动 Pod。

• CPU TEE 执行初始化,最终启动 kata-agent 监听后续请求。

• kubelet 向 containerd 发起 Image Pulling 的 CRI 请求,containerd 则把请求转发给 kata-runtime,最终 kata-agent 收到请求并通过 image-rs 子模块提供的容器镜像管理功能,在 TEE 内安全地执行拉取、验签、解密、unpack 以及挂载容器镜像的操作。




《云原生机密计算最佳实践白皮书》——06运行时底座——AMD SEV机密容器(2) https://developer.aliyun.com/article/1231030?groupCode=aliyun_linux

相关文章
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。
|
存储 监控 安全
【专栏】探讨Docker Compose的核心概念、使用方法及最佳实践,助你轻松驾驭容器编排的世界
【4月更文挑战第27天】Docker Compose是款轻量级容器编排工具,通过YAML文件统一管理多容器应用。本文分三部分深入讨论其核心概念(服务、网络、卷和配置)、使用方法及最佳实践。从快速入门到高级特性,包括环境隔离、CI/CD集成、资源管理和安全措施。通过案例分析展示如何构建多服务应用,助力高效容器编排与管理。
793 2
|
7月前
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
人工智能 Cloud Native 安全
从云原生到 AI 原生,网关的发展趋势和最佳实践
本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三)在云栖大会的精彩分享。讲师深入浅出的分享了软件架构演进过程中,网关所扮演的各类角色,AI 应用的流量新特征对软件架构和网关所提出的新诉求,以及基于阿里自身实践所带来的开源贡献和商业能力。
933 101
|
10月前
|
人工智能 安全 API
容器化AI模型的安全防护实战:代码示例与最佳实践
本文基于前文探讨的容器化AI模型安全威胁,通过代码示例展示如何在实际项目中实现多层次的安全防护措施。以一个基于TensorFlow的图像分类模型为例,介绍了输入验证、模型加密、API认证和日志记录的具体实现方法,并结合最佳实践,如使用安全容器镜像、限制权限、网络隔离等,帮助构建更安全的AI服务。
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
1752 116
|
11月前
|
人工智能 运维 监控
容器服务Kubernetes场景下可观测体系生产级最佳实践
阿里云容器服务团队在2024年继续蝉联Gartner亚洲唯一全球领导者象限,其可观测体系是运维的核心能力之一。该体系涵盖重保运维、大规模集群稳定性、业务异常诊断等场景,特别是在AI和GPU场景下提供了全面的观测解决方案。通过Tracing、Metric和Log等技术,阿里云增强了对容器网络、存储及多集群架构的监控能力,帮助客户实现高效运维和成本优化。未来,结合AI助手,将进一步提升问题定位和解决效率,缩短MTTR,助力构建智能运维体系。
|
Kubernetes 安全 数据安全/隐私保护
云卓越架构:容器安全最佳实践
本次分享由阿里云智能集团解决方案架构师张玉峰主讲,主题为“云卓越架构:容器安全最佳实践”。内容涵盖容器安全的挑战、云原生容器安全架构及典型场景。首先分析了容器安全面临的问题,如镜像漏洞和权限管理。接着介绍了容器安全架构的五个维度:身份权限管理、配置安全检查、运行时防护、镜像安全检测及发布的安全管控。最后通过具体场景展示了容器身份与权限管理、密钥管理、运行时防入侵等最佳实践,强调了安全左移的重要性,确保从开发到运行的全生命周期安全覆盖。
|
运维 Kubernetes Cloud Native
构建高效云原生运维体系:Kubernetes最佳实践
【5月更文挑战第9天】 在动态和快速演变的云计算环境中,高效的运维是确保应用稳定性与性能的关键。本文将深入探讨在Kubernetes环境下,如何通过一系列最佳实践来构建一个高效且响应灵敏的云原生运维体系。文章不仅涵盖了容器化技术的选择与优化、自动化部署、持续集成/持续交付(CI/CD)流程的整合,还讨论了监控、日志管理以及灾难恢复策略的重要性。这些实践旨在帮助运维团队有效应对微服务架构下的复杂性,确保系统可靠性及业务的连续性。
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
742 6

热门文章

最新文章