适用于 Linux VM 的 Azure 磁盘加密

重要

Azure 磁盘加密计划于 2028 年 9 月 15 日停用。 在该日期之前,可以继续使用 Azure 磁盘加密,而不会中断。 2028 年 9 月 15 日,已启用 ADE 的工作负荷将继续运行,但 VM 重启后加密磁盘将无法解锁,从而导致服务中断。

使用 主机端加密 用于新 VM。 所有已启用 ADE 的 VM(包括备份)必须在停用日期之前迁移到主机上的加密,以避免服务中断。 有关详细信息,请参阅 从 Azure 磁盘加密迁移到主机加密

注意

CentOS 生命周期结束通知:本文引用 CentOS,它处于生命周期结束状态。 如果使用 CentOS,请查看部署计划,并考虑迁移到受支持的 Linux 分发版。 有关迁移指南和时间线,请参阅 CentOS 生命周期终止指南

适用于:✔️ Linux VM ✔️ 灵活规模集

Azure 磁盘加密有助于保护数据,以满足组织安全性和合规性承诺。 它使用 Linux 的 DM-Crypt 功能为 Azure 虚拟机 (VM) 的 OS 和数据磁盘提供卷加密,并与 Azure 密钥保管库 集成,帮助你控制和管理磁盘加密密钥和机密。

Azure 磁盘加密具有区域复原能力,与Azure 虚拟机相同。 有关详细信息,请参阅支持可用性区域的 Azure 服务

如果使用 Microsoft Defender for Cloud,当 VM 未加密时,你会收到警报。 警报显示为高严重性,建议加密这些 VM。

Microsoft Defender for Cloud 磁盘加密警报

警告

  • 如果之前使用 Azure 磁盘加密功能和 Microsoft Entra ID 来加密虚拟机,那么就必须继续使用这一选项来加密虚拟机。 有关详细信息,请参阅Azure 磁盘加密与 Microsoft Entra ID(先前版本)
  • 某些建议可能会增加数据、网络或计算资源使用量,从而导致额外的许可证或订阅成本。 必须具有有效的活动 Azure 订阅,才能在 Azure 的受支持区域中创建资源。

只需花几分钟时间学习使用 Azure CLI 创建 Linux VM 并对其进行加密快速入门或者使用 Azure PowerShell 创建 Linux VM 并对其进行加密快速入门,即可了解适用于 Linux 的 Azure 磁盘加密的基础知识。

支持的 VM 和操作系统

支持的 VM

Linux VM 具有各种大小。 Azure 磁盘加密在第 1 代和第 2 代 VM 上受支持。 Azure 磁盘加密还可用于使用高级存储的 VM。

请参阅无本地临时磁盘的 Azure VM 规格

基本 、A 系列 VM、v6 系列 VM 或不符合以下最低内存要求的虚拟机上不提供 Azure 磁盘加密:

内存需求

虚拟机 最小内存要求
Linux VM(仅当加密数据卷时) 2 GB
Linux VM(加密数据卷和 OS 卷,并且根 (/) 文件系统占用的空间为 4GB 或更少) 8 GB
Linux VM(加密数据卷和 OS 卷,并且根 (/) 文件系统占用的空间大于 4GB) 根文件系统空间占用量 * 2。 例如,根文件系统使用量为 16 GB,则至少需要 32GB 的 RAM

在 Linux 虚拟机上完成 OS 磁盘加密过程后,可以将 VM 配置为使用更少的内存运行。

有关更多特例,请参阅 Azure 磁盘加密:限制

支持的操作系统

Azure 磁盘加密 仅支持 Azure 认可的 Linux 发行版中的一部分,而这些发行版本身也只是所有可能的 Linux 服务器发行版中的一部分。

支持 Azure 磁盘加密的 Linux 服务器发行版的维恩图

Azure 未认可的 Linux 服务器发行版不支持 Azure 磁盘加密。 在Azure认可的分发版中,只有以下分发版和版本支持Azure 磁盘加密:

发布者 产品/服务 SKU 支持加密的卷类型
Canonical Ubuntu 24.04-LTS Canonical:ubuntu-24_04-lts-daily:server-gen1:latest OS 和数据磁盘
Canonical Ubuntu 24.04-LTS 第 2 代 Canonical:ubuntu-24_04-lts:server:latest OS 和数据磁盘
Canonical Ubuntu 22.04-LTS Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest OS 和数据磁盘
Canonical Ubuntu 22.04-LTS Gen2 Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest OS 和数据磁盘
Canonical Ubuntu 20.04-LTS Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest OS 和数据磁盘
Canonical Ubuntu 20.04-DAILY-LTS Canonical:0001-com-ubuntu-server-focal-daily:20_04-daily-lts:latest OS 和数据磁盘
Canonical Ubuntu 20.04-LTS Gen2 Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest OS 和数据磁盘
Canonical Ubuntu 20.04-DAILY-LTS Gen2 Canonical:0001-com-ubuntu-server-focal-daily:20_04-daily-lts-gen2:latest OS 和数据磁盘
Canonical Ubuntu 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest OS 和数据磁盘
Canonical Ubuntu 18.04 18.04-DAILY-LTS Canonical:UbuntuServer:18.04-DAILY-LTS:最新 OS 和数据磁盘
OpenLogic CentOS 8-LVM 8-LVM OpenLogic:CentOS-LVM:8-LVM:latest OS 和数据磁盘
OpenLogic CentOS 8.4 8_4 OpenLogic:CentOS:8_4:latest OS 和数据磁盘
OpenLogic CentOS 8.3 8_3 OpenLogic:CentOS:8_3:latest OS 和数据磁盘
OpenLogic CentOS 8.2 8_2 OpenLogic:CentOS:8_2:latest OS 和数据磁盘
OpenLogic CentOS 7-LVM 7-LVM OpenLogic:CentOS-LVM:7-LVM:7.9.2021020400 OS 和数据磁盘
OpenLogic CentOS 7.9 7_9 OpenLogic:CentOS:7_9:latest OS 和数据磁盘
OpenLogic CentOS 7.8 7_8 OpenLogic:CentOS:7_8:latest OS 和数据磁盘
OpenLogic CentOS 7.7 7.7 OpenLogic:CentOS:7.7:latest OS 和数据磁盘
OpenLogic CentOS 7.6 7.6 OpenLogic:CentOS:7.6:最新版本 OS 和数据磁盘
OpenLogic CentOS 7.5 7.5 OpenLogic:CentOS:7.5:latest OS 和数据磁盘
OpenLogic CentOS 7.4 7.4 OpenLogic:CentOS:7.4:latest OS 和数据磁盘
OpenLogic CentOS 6.8 6.8 OpenLogic:CentOS:6.8:latest 仅数据磁盘
SUSE openSUSE 42.3 42.3 SUSE:openSUSE-Leap:42.3:latest 仅数据磁盘
SUSE SLES 12-SP4 (SUSE Linux 企业服务器 12-SP4) 12-SP4 SUSE:SLES:12-SP4:latest 仅数据磁盘
SUSE SLES HPC 12-SP3 12-SP3 SUSE:SLES-HPC:12-SP3:latest 仅数据磁盘

其他 VM 要求

Azure 磁盘加密要求系统上存在 dm-crypt 和 vfat 模块。 在默认映像中删除或禁用 vfat 会阻止系统读取密钥卷,以及在后续重新启动时获取用于解锁磁盘的密钥。 从系统中删除 vfat 模块或强制扩展数据驱动器上的 OS 装入点/文件夹的系统强化步骤与Azure 磁盘加密不兼容。

启用加密之前,必须在 /etc/fstab 中正确列出要加密的数据磁盘。 在创建条目时使用“nofail”选项,并选择永久性块设备名称(作为“/dev/sdX”格式的设备名称可能无法在重新启动时与同一磁盘相关联,尤其是在加密后;有关此行为的详细信息,请参阅: Linux VM 设备名称更改疑难解答)。

验证是否已正确配置 /etc/fstab 设置以装载。 若要配置这些设置,请 mount -a 运行命令或重新启动 VM 并触发重新装载。 完成此步骤后,请检查命令的 lsblk 输出,以验证驱动器是否已装载。

  • 如果在启用加密之前 /etc/fstab 文件未正确装载该驱动器,则 Azure 磁盘加密无法将其正确装载。
  • 在加密过程中,Azure 磁盘加密进程会将装载信息移出 /etc/fstab,并移入其自身的配置文件中。 数据驱动器加密完成后,如果看到 /etc/fstab 中缺少条目,请不要担心。
  • 在开始加密之前,请停止可以写入已装载的数据磁盘的所有服务和进程并禁用它们,以便在重新启动后不会自动重启。 这些进程可能会使文件在这些分区上保持打开状态,防止加密过程重新装载这些文件,从而导致加密失败。
  • 重新启动后,Azure 磁盘加密过程需要一些时间来装载新加密的磁盘。 重新启动后,它们不会立即可用。 该过程需要时间来启动、解锁并挂载加密驱动器,之后其他进程才能访问它们。 根据系统特征,重启后此过程可能需要一个多分钟的时间。

以下示例演示用于装载数据磁盘并创建必要的 /etc/fstab 条目的命令:

sudo UUID0="$(blkid -s UUID -o value /dev/sda1)"
sudo UUID1="$(blkid -s UUID -o value /dev/sda2)"
sudo mkdir /data0
sudo mkdir /data1
sudo echo "UUID=$UUID0 /data0 ext4 defaults,nofail 0 0" >>/etc/fstab
sudo echo "UUID=$UUID1 /data1 ext4 defaults,nofail 0 0" >>/etc/fstab
sudo mount -a

网络要求

若要启用 Azure 磁盘加密功能,Linux VM 必须符合以下网络终结点配置要求:

  • Linux VM 必须能够连接到托管 Azure 扩展存储库的 Azure 存储终结点和托管 VHD 文件的 Azure 存储帐户。
  • 如果安全策略限制从 Azure VM 到 Internet 的访问,可以解析上述 URI,并配置特定的规则,允许与这些 IP 建立出站连接。 有关详细信息,请参阅防火墙后的 Azure 密钥保管库

加密密钥存储要求

Azure 磁盘加密需要 Azure 密钥保管库 来控制和管理磁盘加密密钥和机密。 密钥保管库和 VM 必须位于同一 Azure 区域和订阅中。

有关详细信息,请参阅创建和配置用于 Azure 磁盘加密的密钥保管库

术语

下表定义了Azure 磁盘加密文档中使用的常见术语:

术语 定义
Azure 密钥保管库 Azure 密钥保管库是基于联邦信息处理标准(FIPS)验证的硬件安全模块的加密密钥管理服务。 这些标准有助于保护加密密钥和敏感机密。 有关详细信息,请参阅 Azure 密钥保管库文档和创建和配置用于 Azure 磁盘加密的密钥保管库
Azure CLI Azure CLI 经过了优化,可从命令行管理 Azure 资源。
DM-Crypt DM-Crypt 是基于 Linux 的透明磁盘加密子系统,用于在 Linux VM 上启用磁盘加密。
密钥加密密钥 (KEK) 可用于保护或包装机密的非对称密钥 (RSA 2048)。 可提供硬件安全模块 (HSM) 保护的密钥或软件保护的密钥。 有关详细信息,请参阅 Azure 密钥保管库文档和创建和配置用于 Azure 磁盘加密的密钥保管库
PowerShell cmdlet 有关详细信息,请参阅 Azure PowerShell cmdlet

后续步骤