你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Kubernetes 服务上的机密容器(预览版)

随着云原生应用程序开发的增长,保护云环境中运行的工作负荷的需求也在增加。 容器化工作负荷是这种编程模型的关键组成部分,然后保护容器对于在云中机密运行至关重要。

Azure Kubernetes 服务上的机密容器(AKS)在 Kubernetes 工作负载中启用容器级隔离。 它是对机密计算产品 Azure 套件的补充,并切使用 AMD SEV-SNP 内存加密在运行时保护容器。

机密容器对于涉及敏感数据(例如,个人数据或任何具有法规合规性所需的强大安全性的数据)的部署方案很有吸引力。

哪些因素让容器具有机密性?

根据机密计算联盟设置的准则,Microsoft 是机密容器的创始成员,需要满足以下要求 :

  • 透明度:共享敏感应用程序的机密容器环境,可以看到并验证它是否安全。 受信任的计算基础 (TCB) 的所有组件都将开放源代码。
  • 可审核性:可以验证并查看 CoCo 环境包的版本,包括 Linux 来宾 OS 和所有组件都是最新的。 Microsoft 通过证明而对来宾操作系统和容器运行时环境进行签名以进行验证。 Microsoft 还发布了来宾 OS 版本的安全哈希算法 (SHA),以生成字符串可听性和控制情景。
  • 完全证明:属于 TEE 的任何内容都应由 CPU 完全测量,且能够远程验证。 AMD SEV-SNP 处理器给出的硬件报告应通过证明声明来反映容器层和容器运行时配置哈希。 应用程序可以在本地提取硬件报表,包括反映来宾 OS 映像和容器运行时的报告。
  • 代码完整性:通过客户定义的容器策略和容器配置(如不可变策略和容器签名),运行时强制始终可用。
  • 与操作员隔离:安全设计采用最低权限和最高隔离,能够屏蔽所有不受信任方,包括客户/租户管理员。 它包括强化现有的 Kubernetes 控制平面对于机密 Pod 的访问 (kubelet)。

但是,有了这些功能的保密性,产品应可增加其易用性:它支持具有高 Kubernetes 功能符合性的所有未修改的 Linux 容器。 此外,它还支持单个集群中的异构节点池(GPU、通用节点),以优化成本。

AKS 上的机密容器是什么形式?

与 Microsoft 对开放源代码社区的承诺一致,机密容器的基础堆栈使用 Kata CoCo 代理作为在托管运行机密工作负荷的 Pod 的节点中运行的代理。 由于许多 TEE 技术需要在主机和客户之间建立边界,因此 Kata Coco 在最初就采用了 Kata 容器。 Microsoft 为在机密实用程序虚拟机中运行的容器提供支持,以此回报 Kata Coco 社区。

Kata 机密容器驻留在 Azure Linux AKS 容器主机中。 Azure Linux 和云虚拟机监控程序 VMM(虚拟机监视器)是面向最终用户/用户的空间软件,用于创建和管理虚拟机的生存期。

AKS 中的容器级别隔离

默认情况下,AKS 所有工作负荷共享相同的内核和相同的群集管理员。随着 AKS 上的 Pod 沙盒预览版,隔离程度更高,能够为同一 AKS 节点上的工作负荷提供内核隔离。 可以在此处阅读有关该功能的详细信息。 机密容器是此隔离的下一步,它使用基础 AMD 标准版V-SNP 虚拟机大小的内存加密功能。 这些虚拟机的大小为 DCa_ccECa_cc,而且能够向部署的 Pod 显示硬件的信任根。

Diagram of various layers of the architecture forming Confidential Containers.

开始使用

若要开始了解有关受支持的方案的详细信息,请参阅此处的 AKS 文档

下一步

在 AKS 上部署机密容器。