啟用Azure VM磁碟加密
蘇建榮 Alan Su
- 恆逸教育訓練中心-資深講師
- 技術分類:網路管理與通訊應用
Azure 磁碟加密(Azure Disk Encryption)可加密 Azure 中以資源管理員部署模型所建立的虛擬機器所使用的磁碟,以防止離線攻擊。對於 Windows 作業系統的虛擬機器它使用 Bitlocker 加密,而 Linux 作業系統的虛擬機器則是使用 DM-Crypt 加密,並配合 Azure 金鑰保存庫(Azure Key Vault)以及在 Azure Active Directory 註冊為應用程式來保存與存取所需的 key 與 secret。
使用 Azure PowerShell 來執行 Azure 磁碟加密是最方便且快速的方式,您需要有一部已安裝 PowerShell 5.0(或以上) 的工作用電腦(Windows 10 或 Windows Server 2016 皆已在作業系統安裝時就已經安裝了 PowerShell 5.0/5.1),並且下載加裝 AzureRM 系列模組。
安裝 AzureRM 系列模組:
- 在 PowerShell 中,執行 Install-Module -Name AzureRM。
- 當詢問”立即安裝並匯入 NuGet 提供者?”時,輸入 y。
- 當詢問”確定要安裝來自 ‘PSGallery’ 的模組?”時,輸入 y。
接著請由以下網址下載 AzureDiskEncryptionPreRequisiteSetup.ps1 (下載存檔後,請確認副檔名為 .ps1,若不是請變更它)
點我下載 AzureDiskEncryptionPreRequisiteSetup.ps1
AzureDiskEncryptionPreRequisiteSetup.ps1可為我們在 Azure 中建立 KeyVault 並在Azure AD 中註冊為應用程式後,顯示出 KeyVaultUrl 與 KeyVaultId。
在 PowerShell 中執行AzureDiskEncryptionPreRequisiteSetup.ps1:
- 執行 Add-AzureRMAccount 並登入
- 執行 C:\ AzureDiskEncryptionPreRequisiteSetup.ps1 (假設您下載至 C 磁碟)
- 在 resourceGroupName: 輸入您KeyVault 所屬的資源群組名(若不存在,則會幫您建立)
- 在keyVaultName: 輸入您要建立的KeyVault 名稱(此名稱需沒有被其他 Azure 用戶使用)
- 在location: 輸入您要使用的Azure 地區(例如:Southeast Asia)
- 在subscriptionId: 輸入您Azure 訂用帳戶的識別碼(您在步驟 1 登入後會顯示)
- 當 KeyVault 建立完成並已註冊成應用程式後,會顯示出您的 KeyVaultUrl 與 KeyVaultId,請記下它們。
在 PowerShell 中,為您的Azure VM 啟用 Azurer 磁碟加密::
- 執行 Set-AzureRmVmDiskEncryptionExtension -ResourceGroupName "您 VM 的資源群組名" -VMName "您的 VM 名" -DiskEncryptionKeyVaultId "剛才記下的 KeyVaultId" -DiskEncryptionKeyVaultUrl "剛才記下的 KeyVaultUrl"
- 當詢問”Do you want to continue?” 時,輸入 y。
- 等待一段時間後(取決於您 VM 大小、磁碟效能與磁碟中的資料量,可能數分鐘到數十分鐘),即啟用完成。
若您使用遠端桌面連線,連到您 Azure 中此部 VM,即可在控制台→系統及安全性→BitLocker 磁碟加密中看到您的作業系統磁碟、暫時性磁碟與資料碟皆已加密。