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

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

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



附录

制作一个新的加密镜像并部署

请参考指南制作一个新的加密镜像并部署。

自定义simpel KBS 的policy

• sev-snp-measure是一个实用程序,用于使用提供的 ovmf、initrd、kernel、cmdline等作为参数来计算SEV guest固件测量值。下载sev-snp-measure:

git clone https://github.com/IBM/sev-snp-measure.git
cd sev-snp-measure

• 根据ovmf、kernel和initrd_path的地址设置参数。

ovmf、kernel和initrd_path的地址请参考kata 的配置文件

kata 的配置文件路径:/opt/confifidential-containers/share/defaults/kata-containers/confifiguration-qemu-sev.toml。

ovmf_path="/opt/confifidential-containers/share/ovmf/OVMF.fd"
kernel_path="/opt/confifidential-containers/share/kata-containers/vmlinuz-sev.container"
initrd_path="/opt/confifidential-containers/share/kata-containers/kata-containers-initrd.img"

• 计算内核的append值

duration=$((SECONDS+30))
set append
while [ $SECONDS -lt $duration ]; do
 qemu_process=$(ps aux | grep qemu | grep append || true)
 if [ -n "${qemu_process}" ]; then
 append=$(echo ${qemu_process} \
 | sed "s|.*-append \(.*$\)|\1|g" \
 | sed "s| -.*$||")
 break
 fifi
 sleep 1
done
echo "${append}"

• 使用 sev-snp-measure 来计算 SEV guest 的Launch digest。

measurement=$(./sev-snp-measure.py --mode=sev --output-format=base64 \
--ovmf "${ovmf_path}" \
 --kernel "${kernel_path}" \
 --initrd "${initrd_path}" \
 --append "${append}" \
)

• 设置simple kbs 数据库参数

KBS_DB_USER="kbsuser"
KBS_DB_PW="kbspassword"
KBS_DB="simple_kbs"
KBS_DB_TYPE="mysql"
KBS_DB_HOST=$(docker network inspect simple-kbs_default \
 | jq -r '.[].Containers[] | select(.Name | test("simple-kbs[_-]db.*")).IPv4Address' \
 | sed "s|/.*$||g")

• 由于本文使用的加密镜像( docker.io/haosanzi/busybox-v1:encrypted ),是采用 simple kbs 已经存在的密钥来解密,该镜像的 enc_key 值如下。用户需要根据加密镜像按需设置enc_key。

enc_key=RcHGava52DPvj1uoIk/NVDYlwxi0A6yyIZ8ilhEX3X4=

• 将 自定义policy 注入 mysql 中。

policy的组成包括:digests、policies、api_major、api_minor、build_ids等信息。详情请参考链接。我们以digests为例子,向用户展示如何注入自定义policy 。用户可以根据需求自定义Policy。

mysql -u${KBS_DB_USER} -p${KBS_DB_PW} -h ${KBS_DB_HOST} -D ${KBS_DB} <<EOF
 REPLACE INTO secrets VALUES (10, 'key_id1', '${enc_key}', 10);
 REPLACE INTO keysets VALUES (10, 'KEYSET-1', '["key_id1"]', 10);
 REPLACE INTO policy VALUES (10, '["${measurement}"]', '[]', 0, 0, '[]', now(), NULL, 1);
EOF


相关文章
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
893 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
针对本地存储和 PVC 这两种容器存储使用方式,我们对 ACK 的容器存储监控功能进行了全新升级。此次更新完善了对集群中不同存储类型的监控能力,不仅对之前已有的监控大盘进行了优化,还针对不同的云存储类型,上线了全新的监控大盘,确保用户能够更好地理解和管理容器业务应用的存储资源。
1067 291
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
1478 164
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
Ubuntu PHP Docker
一个可以运行的Dockerfile_php ,用来创建php容器镜像
该简介描述了一个基于 Dragonwell 8 Ubuntu 的 Docker 镜像,用于构建包含 PHP 7.4 及常用扩展的运行环境。通过更换为阿里云源提升安装速度,配置了 PHP-FPM 并暴露 9000 端口,使用自定义 Dockerfile 构建镜像并成功运行容器。
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
680 10
|
PHP Docker 容器
如何在宿主主机运行容器中的php守护进程
在Docker容器中同时运行多个程序(如Nginx+PHP+Ftp)时,需用`docker exec`命令启动额外服务。首先通过`php -v`查看PHP版本,再用`which php-fpm7.4`确认PHP安装路径,通常返回`/usr/sbin/php-fpm7.4`。最后直接运行该路径启动PHP-FPM服务,确保其正常工作。
582 14
|
存储 监控 对象存储
ACK容器监控存储全面更新:让您的应用运行更稳定、更透明
介绍升级之后的ACK容器监控体系,包括各大盘界面展示和概要介绍。

热门文章

最新文章