為受控磁碟啟用待用雙重加密
適用於:✔️ Linux VM ✔️ Windows VM ✔️
Azure 磁碟儲存體支援受控磁碟的待用雙重加密。 如需有關待用雙重加密和其他受控磁碟加密類型的概念資訊,請參閱磁碟加密文章的待用雙重加密一節。
限制
Ultra 磁碟或進階 SSD v2 磁碟目前不支援待用雙重加密。
必要條件
如果您要使用 Azure CLI,請安裝最新的 Azure CLI 並使用 az login 登入 Azure 帳戶。
如果您要使用 Azure PowerShell 模組,請安裝最新的 Azure PowerShell 版本,並使用 Connect-AzAccount 登入 Azure 帳戶。
開始使用
登入 Azure 入口網站。
搜尋 [磁碟加密集] 並加以選取。
選取 + 建立。
選取其中一個支援區域。
對於加密類型,選取 [使用平台管理和客戶自控金鑰進行雙重加密]。
注意
一旦您建立具有特定加密類型的磁碟加密集,就無法加以變更。 如果您想要使用不同的加密類型,則必須建立新的磁碟加密集。
填寫其餘資訊。
選取 Azure Key Vault 和金鑰,或視需要建立新的金鑰。
注意
如果建立 Key Vault 執行個體,您必須啟用虛刪除和清除保護。 使用金鑰保存庫加密受控磁碟時,這些設定是必要的,並可防止因為意外刪除而遺失資料。
選取 建立。
瀏覽至您所建立的磁碟加密集,然後選取顯示的錯誤。 這會設定磁碟加密集,使其發揮作用。
應該會彈出通知並成功。 這樣做可讓您搭配金鑰保存庫使用磁碟加密集。
瀏覽至磁碟。
選取 [加密]。
針對 [金鑰管理],請在 [平台代管和客戶自控金鑰] 下方選取其中一個金鑰。
選取 [儲存]。
您現在已在受控磁碟上啟用待用雙重加密。
建立 Azure Key Vault 執行個體和加密金鑰。
建立 Key Vault 執行個體時,您必須啟用虛刪除和清除保護。 虛刪除可確保 Key Vault 將已刪除的金鑰保留一段指定的保留期間 (預設為 90 天)。 清除保護可確保已刪除的金鑰在保留期限結束之前,無法永久刪除。 這些設定可防止您因為意外刪除而遺失資料。 使用 Key Vault 來加密受控磁碟時,必須使用這些設定。
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az keyvault create -n $keyVaultName -g $rgName -l $location --enable-purge-protection true --enable-soft-delete true
az keyvault key create --vault-name $keyVaultName -n $keyName --protection software
取得您使用 az keyvault key show
建立之金鑰的金鑰 URL。
az keyvault key show --name $keyName --vault-name $keyVaultName
建立 DiskEncryptionSet,並將 encryptionType 設定為 EncryptionAtRestWithPlatformAndCustomerKeys。 將 yourKeyURL
取代為您從 az keyvault key show
收到的 URL。
az disk-encryption-set create --resource-group $rgName --name $diskEncryptionSetName --key-url yourKeyURL --source-vault $keyVaultName --encryption-type EncryptionAtRestWithPlatformAndCustomerKeys
將 DiskEncryptionSet 資源存取權授與金鑰保存庫。
注意
Azure 可能需要幾分鐘的時間,才能在您的 Microsoft Entra ID 中建立 DiskEncryptionSet 的身分識別。 如果您在執行以下命令時收到「找不到 Active Directory 物件」之類的錯誤,請稍候幾分鐘再重試。
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault set-policy -n $keyVaultName -g $rgName --object-id $desIdentity --key-permissions wrapkey unwrapkey get
建立 Azure Key Vault 執行個體和加密金鑰。
建立 Key Vault 執行個體時,您必須啟用虛刪除和清除保護。 虛刪除可確保 Key Vault 將已刪除的金鑰保留一段指定的保留期間 (預設為 90 天)。 清除保護可確保已刪除的金鑰在保留期限結束之前,無法永久刪除。 這些設定可防止您因為意外刪除而遺失資料。 使用 Key Vault 來加密受控磁碟時,必須使用這些設定。
$ResourceGroupName="yourResourceGroupName"
$LocationName="westus2"
$keyVaultName="yourKeyVaultName"
$keyName="yourKeyName"
$keyDestination="Software"
$diskEncryptionSetName="yourDiskEncryptionSetName"
$keyVault = New-AzKeyVault -Name $keyVaultName -ResourceGroupName $ResourceGroupName -Location $LocationName -EnableSoftDelete -EnablePurgeProtection
$key = Add-AzKeyVaultKey -VaultName $keyVaultName -Name $keyName -Destination $keyDestination
擷取您所建立金鑰的 URL,後續命令會需要用到。 Get-AzKeyVaultKey
的識別碼輸出是金鑰 URL。
Get-AzKeyVaultKey -VaultName $keyVaultName -KeyName $keyName
取得您所建立之 Key Vault 執行個體的資源識別碼,後續命令會需要用到。
Get-AzKeyVault -VaultName $keyVaultName
建立 DiskEncryptionSet,並將 encryptionType 設定為 EncryptionAtRestWithPlatformAndCustomerKeys。 將 yourKeyURL
和 yourKeyVaultURL
取代為您稍早擷取的 URL。
$config = New-AzDiskEncryptionSetConfig -Location $locationName -KeyUrl "yourKeyURL" -SourceVaultId 'yourKeyVaultURL' -IdentityType 'SystemAssigned'
$config | New-AzDiskEncryptionSet -ResourceGroupName $ResourceGroupName -Name $diskEncryptionSetName -EncryptionType EncryptionAtRestWithPlatformAndCustomerKeys
將 DiskEncryptionSet 資源存取權授與金鑰保存庫。
注意
Azure 可能需要幾分鐘的時間,才能在您的 Microsoft Entra ID 中建立 DiskEncryptionSet 的身分識別。 如果您在執行以下命令時收到「找不到 Active Directory 物件」之類的錯誤,請稍候幾分鐘再重試。
$des=Get-AzDiskEncryptionSet -name $diskEncryptionSetName -ResourceGroupName $ResourceGroupName
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
下一步