Azure 容器是否可以使用 vTPM、安全启动和证明机制,或者是否需要 VM?

Can Azure Containers use vTPM, Secure Boot and Attestation Mechanisms or is a VM necessary?

容器的好处之一是减少创建管理程序和 VM 的开销。

A​​zure 支持每个 https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2 的虚拟可信平台模块 (vTPM)。

此功能的好处之一是安全启动、可信启动和证明机制 https://docs.microsoft.com/en-us/azure/virtual-machines/trusted-launch-portal?tabs=portal%2Cportal2

我的问题是,如果用户只是使用容器,是否需要创建虚拟机?可以在没有 VM 的情况下使用容器吗?这些容器也可以访问 vTPM 吗?

不幸的是没有。

由于 vTPM 与主机 OS 隔离,因此可以在虚拟机上使用 vTPM 进行测量/可信启动和 运行 时间证明。当您观察虚拟机的启动时,您可以看到它有自己的引导加载程序和 运行s 通过管理程序与主机分开。另一方面,容器只是一个从主机 OS 上的现有进程 运行 派生出来的进程。容器和主机之间几乎没有分离(这就是为什么可以逃逸)。这就是为什么需要命名空间,以提供与主机和容器本身的分离(例如,如果没有用户命名空间,在容器中创建用户将在主机本身上创建用户)。