快速入門:使用 PowerShell 在 Azure 中建立並加密 Windows 虛擬機器

重要

Azure 磁碟加密預定於 2028 年 9 月 15 日退休。 在此之前,您可以繼續使用 Azure 磁碟加密,不會中斷。 2028 年 9 月 15 日,啟用 ADE 的工作負載仍可繼續運行,但加密磁碟在虛擬機重啟後將無法解鎖,導致服務中斷。

對於新虛擬機,可以在主機上使用 加密 ,或考慮 機密虛擬機大小搭配作業系統磁碟加密 來處理機密運算工作負載。 所有啟用 ADE 的虛擬機(包括備份)必須在退休日前遷移至主機加密,以避免服務中斷。 詳情請參見「 從 Azure 磁碟加密遷移到主機加密 」。

適用於:✔️ Windows VM

使用 Azure PowerShell 模組,透過 PowerShell 命令列或腳本建立和管理 Azure 資源。 這個快速入門說明如何使用 Azure PowerShell 模組建立 Windows 虛擬機(VM)、建立用於儲存加密金鑰的 金鑰保存庫,以及加密虛擬機。

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。

建立資源群組

使用 New-AzResourceGroup 來建立 Azure 資源群組。 資源群組是在其中部署與管理 Azure 資源的邏輯容器:

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

建立虛擬機器

使用 New-AzVM 來建立 Azure 虛擬機器。 將認證資訊提供給 Cmdlet。

$cred = Get-Credential

New-AzVM -Name MyVm -Credential $cred -ResourceGroupName MyResourceGroup -Image win2016datacenter -Size Standard_D2S_V3

部署虛擬機只需幾分鐘。

建立一個為加密金鑰設定的金鑰庫

Azure 磁碟加密 會將其加密金鑰儲存在 Azure Key Vault 中。 用 New-AzKeyVault 建立金鑰保險庫。 要啟用金鑰庫儲存加密金鑰,請使用參數 -EnabledForDiskEncryption 。

重要

每個金鑰保存庫必須有唯一的名稱。 以下範例建立一個名為 myKV 的金鑰保險庫,但你必須為你的金鑰庫取不同的名字。

New-AzKeyVault -name MyKV -ResourceGroupName myResourceGroup -Location EastUS -EnabledForDiskEncryption

將虛擬機器加密

請使用 Set-AzVmDiskEncryptionExtension 加密你的虛擬機。

Set-AzVmDiskEncryptionExtension 需要從你的 key Vault 物件中取得一些值。 透過將您的金鑰保險庫唯一名稱傳給 Get-AzKeyVault 來取得這些數值。

$KeyVault = Get-AzKeyVault -VaultName MyKV -ResourceGroupName MyResourceGroup

Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName MyVM -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId

幾分鐘後,程序回傳以下輸出:

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK OK

您可以執行 Get-AzVmDiskEncryptionStatus 以驗證加密程序。

Get-AzVmDiskEncryptionStatus -VMName MyVM -ResourceGroupName MyResourceGroup

啟用加密後,回傳的輸出中會出現以下欄位:

OsVolumeEncrypted          : Encrypted
DataVolumesEncrypted       : NoDiskFound
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Provisioning succeeded

清除資源

當你不再需要這些資源時,使用 Remove-AzResourceGroup 指令檔來移除資源群組、虛擬機及所有相關資源:

Remove-AzResourceGroup -Name "myResourceGroup"

下一步

在這個快速入門中,你建立了一台虛擬機器,建立了啟用加密金鑰的金鑰庫,並加密了虛擬機。 欲了解更多關於 Azure 磁碟加密 對 IaaS 虛擬機的先決條件,請參閱下一篇文章。