適用於 Linux VM 的 Azure 磁碟加密

警告

本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

適用於:✔️ Linux VM ✔️ 彈性擴展集

Azure 磁碟加密可協助您保護資料安全,以符合您組織的安全性和合規性承諾。 其會使用 Linux 的 DM-Crypt 功能,為 Azure 虛擬機器 (VM) 的作業系統和資料磁碟提供磁碟區加密,並與 Azure Key Vault 整合,協助您控制及管理磁碟加密金鑰和祕密。

Azure 磁碟加密具有區域復原性,與虛擬機器相同。 如需詳細資料,請參閱支援可用性區域的 Azure 服務

若使用適用於雲端的 Microsoft Defender,則會在 VM 未加密時收到警示。 這些警示會顯示為高嚴重性,建議的處置方式是加密這些 VM。

適用於雲端的 Microsoft Defender 磁碟加密警示

警告

  • 如果您先前曾使用 Azure 磁碟加密搭配 Microsoft Entra ID 來加密 VM,則必須繼續使用此選項來加密您的 VM。 如需詳細資料,請參閱將 Azure 磁碟加密與 Microsoft Entra ID 搭配使用 (舊版)
  • 某些建議可能會增加資料、網路或計算資源的使用量,導致額外的授權或訂用帳戶成本。 您必須擁有有效的作用中 Azure 訂用帳戶,才能在 Azure 支援的區域中建立資源。

透過使用 Azure CLI 快速入門來建立並加密 Linux VM,或使用 Azure PowerShell 快速入門來建立並加密 Linux VM,您可以在幾分鐘內了解適用於 Linux 的 Azure 磁碟加密的基本概念。

支援的 VM 和作業系統

支援的 VM

Linux VM 有各種大小。 第 1 代和第 2 代 VM 支援 Azure 磁碟加密。 Azure 磁碟加密也適用於含有進階儲存體的 VM。

請參閱無本機暫存磁碟的 Azure VM 大小

基本、A 系列 VM,或在不符合下列最低記憶體需求的虛擬機器上,也無法使用 Azure 磁碟加密:

記憶體需求

虛擬機器 最低記憶體需求
僅限加密資料磁碟的 Linux VM 2 GB
同時加密資料和作業系統磁碟區,以及根 (/) 檔案系統使用量為 4 GB 或以下的 Linux VM 8 GB
同時加密資料和作業系統磁碟區,以及根 (/) 檔案系統使用量為 4 GB 以上的 Linux VM 根檔案系統使用量 * 2。 例如,16 GB 的根檔案系統使用量至少需要 32 GB 的 RAM

在 Linux 虛擬機器上完成 OS 磁碟加密流程後,VM 就可以設定以較少的記憶體執行。

如需其他例外狀況,請參閱 Azure 磁碟加密:限制

受支援的作業系統

Azure 加密 Linux 發行版本的子集支援 Azure 磁碟加密,其本身是所有 Linux 伺服器可能發行版本的子集。

支援 Azure 磁碟加密的Linux伺服器散發套件 Venn 圖表

未經過 Azure 背書的 Linux 伺服器發行版本不支援 Azure 磁碟加密;在經過背書的發行版本中,只有以下發行版本支援 Azure 磁碟加密:

發行者 供應項目 SKU URN 支援加密的磁碟區類型
Canonical Ubuntu 22.04-LTS Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest 作業系統和資料磁碟
Canonical Ubuntu 22.04-LTS Gen2 Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest 作業系統和資料磁碟
Canonical Ubuntu 20.04-LTS Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest 作業系統和資料磁碟
Canonical Ubuntu 20.04-DAILY-LTS Canonical:0001-com-ubuntu-server-focal-daily:20_04-daily-lts:latest 作業系統和資料磁碟
Canonical Ubuntu 20.04-LTS Gen2 Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest 作業系統和資料磁碟
Canonical Ubuntu 20.04-DAILY-LTS Gen2 Canonical:0001-com-ubuntu-server-focal-daily:20_04-daily-lts-gen2:latest 作業系統和資料磁碟
Canonical Ubuntu 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest 作業系統和資料磁碟
Canonical Ubuntu 18.04 18.04-DAILY-LTS Canonical:UbuntuServer:18.04-DAILY-LTS:latest 作業系統和資料磁碟
MicrosoftCBLMariner cbl-mariner cbl-mariner-2 MicrosoftCBLMariner:cbl-mariner:cbl-mariner-2:latest* 作業系統和資料磁碟
MicrosoftCBLMariner cbl-mariner cbl-mariner-2-gen2 MicrosoftCBLMariner:cbl-mariner:cbl-mariner-2-gen2:latest* 作業系統和資料磁碟
OpenLogic CentOS 8-LVM 8-LVM OpenLogic:CentOS-LVM:8-LVM:latest 作業系統和資料磁碟
OpenLogic CentOS 8.4 8_4 OpenLogic:CentOS:8_4:latest 作業系統和資料磁碟
OpenLogic CentOS 8.3 8_3 OpenLogic:CentOS:8_3:latest 作業系統和資料磁碟
OpenLogic CentOS 8.2 8_2 OpenLogic:CentOS:8_2:latest 作業系統和資料磁碟
OpenLogic CentOS 7-LVM 7-LVM OpenLogic:CentOS-LVM:7-LVM:7.9.2021020400 作業系統和資料磁碟
OpenLogic CentOS 7.9 7_9 OpenLogic:CentOS:7_9:latest 作業系統和資料磁碟
OpenLogic CentOS 7.8 7_8 OpenLogic:CentOS:7_8:latest 作業系統和資料磁碟
OpenLogic CentOS 7.7 7.7 OpenLogic:CentOS:7.7:latest 作業系統和資料磁碟
OpenLogic CentOS 7.6 7.6 OpenLogic:CentOS:7.6:latest 作業系統和資料磁碟
OpenLogic CentOS 7.5 7.5 OpenLogic:CentOS:7.5:latest 作業系統和資料磁碟
OpenLogic CentOS 7.4 7.4 OpenLogic:CentOS:7.4:latest 作業系統和資料磁碟
OpenLogic CentOS 6.8 6.8 OpenLogic:CentOS:6.8:latest 僅資料磁碟
Oracle Oracle Linux 8.6 8.6 Oracle:Oracle-Linux:ol86-lvm:latest 作業系統和資料磁碟 (請參閱下列注意事項)
Oracle Oracle Linux 8.6 Gen 2 8.6 Oracle:Oracle-Linux:ol86-lvm-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
Oracle Oracle Linux 8.5 8.5 Oracle:Oracle-Linux:ol85-lvm:latest 作業系統和資料磁碟 (請參閱下列注意事項)
Oracle Oracle Linux 8.5 Gen 2 8.5 Oracle:Oracle-Linux:ol85-lvm-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 9.2 9.2 RedHat:RHEL:9_2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 9.2 Gen 2 9.2 RedHat:RHEL:92-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 9.0 9.0 RedHat:RHEL:9_0:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 9.0 Gen 2 9.0 RedHat:RHEL:90-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 9-lvm 9-lvm RedHat:RHEL:9-lvm:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 9-lvm Gen 2 9-lvm-gen2 RedHat:RHEL:9-lvm-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.9 8.9 RedHat:RHEL:8_9:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.9 Gen 2 8.9 RedHat:RHEL:89-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.8 8.8 RedHat:RHEL:8_8:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.8 Gen 2 8.8 RedHat:RHEL:88-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.7 8.7 RedHat:RHEL:8_7:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.7 Gen 2 8.7 RedHat:RHEL:87-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.6 8.6 RedHat:RHEL:8_6:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.6 Gen 2 8.6 RedHat:RHEL:86-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.5 8.5 RedHat:RHEL:8_5:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.5 Gen 2 8.5 RedHat:RHEL:85-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.4 8.4 RedHat:RHEL:8.4:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.3 8.3 RedHat:RHEL:8.3:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8-LVM 8-LVM RedHat:RHEL:8-LVM:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8-LVM Gen 2 8-lvm-gen2 RedHat:RHEL:8-lvm-gen2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.2 8.2 RedHat:RHEL:8.2:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 8.1 8.1 RedHat:RHEL:8.1:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 7-LVM 7-LVM RedHat:RHEL:7-LVM:7.9.2020111202 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 7.9 7_9 RedHat:RHEL:7_9:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 7.8 7.8 RedHat:RHEL:7.8:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 7.7 7.7 RedHat:RHEL:7.7:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 7.6 7.6 RedHat:RHEL:7.6:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 7.5 7.5 RedHat:RHEL:7.5:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 7.4 7.4 RedHat:RHEL:7.4:latest 作業系統和資料磁碟 (請參閱下列注意事項)
RedHat RHEL 6.8 6.8 RedHat:RHEL:6.8:latest 資料磁碟 (請參閱下列注意事項)
RedHat RHEL 6.7 6.7 RedHat:RHEL:6.7:latest 資料磁碟 (請參閱下列注意事項)
SUSE openSUSE 42.3 42.3 SUSE:openSUSE-Leap:42.3:latest 僅資料磁碟
SUSE SLES 12-SP4 12-SP4 SUSE:SLES:12-SP4:latest 僅資料磁碟
SUSE SLES HPC 12-SP3 12-SP3 SUSE:SLES-HPC:12-SP3:latest 僅資料磁碟

* 適用於 2023 年 5 月以上的映像版本。

注意

RHEL:

所有發行版本:

  • 特定供應項目類型的 ADE 支援不會超過發行者所提供的生命循環結束日期。
  • 不建議針對新的 VM 使用舊版 ADE 解決方案 (使用 Microsoft Entra 認證),且其與 RHEL 7.8 之後的 RHEL 版本或預設的 Python 3 並不相容。

其他 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 必須能連線至 Microsoft Entra 端點 [login.microsoftonline.com]。
  • 若要將加密金鑰寫入您的金鑰保存庫,Linux VM 必須能連線至金鑰保存庫端點。
  • Linux VM 必須能連線至託管 Azure 擴充存放庫的 Azure 儲存體端點,和託管 VHD 檔案的 Azure 儲存體帳戶。
  • 如果您的安全性原則限制從 Azure VM 到網際網路的存取,您可以解析前述的 URI,並設定特定規則以允許輸出連線到 IP。 如需詳細資訊,請參閱防火牆後方的 Azure Key Vault

加密金鑰儲存體需求

Azure 磁碟加密需要 Azure Key Vault 來控管磁碟加密金鑰及祕密。 您的金鑰保存庫必須和 VM 位於相同的 Azure 區域和訂閱中。

如需詳細資料,請參閱建立及設定適用於 Azure 磁碟加密的金鑰保存庫

詞彙

下表定義 Azure 磁碟加密文件中所使用的一些常見詞彙:

詞彙 定義
Azure Key Vault Key Vault 是一個密碼編譯金鑰管理服務,以「美國聯邦資訊處理標準」(FIPS) 已驗證的硬體安全性模組為基礎。 這些標準可協助您保護密碼編譯金鑰和敏感性祕密。 如需詳細資訊,請參閱 Azure Key Vault 文件與建立及設定適用於 Azure 磁碟加密的金鑰保存庫
Azure CLI Azure CLI 已針對從命令列管理 Azure 資源進行最佳化。
DM-Crypt DM-Crypt 是基於 Linux 的透明磁碟加密子系統,用來在 Linux VM 上啟用磁碟加密。
金鑰加密金鑰 (KEK) 可用來保護或包裝密碼的非對稱金鑰 (RSA 2048)。 您可以提供硬體安全性模組 (HSM) 保護的金鑰或軟體保護的金鑰。 如需詳細資訊,請參閱 Azure Key Vault 文件與建立及設定適用於 Azure 磁碟加密的金鑰保存庫
PowerShell Cmdlet 如需詳細資訊,請參閱 Azure PowerShell Cmdlet

下一步