啟用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 系列模組:

  1. 在 PowerShell 中,執行 Install-Module -Name AzureRM。
  2. 當詢問”立即安裝並匯入 NuGet 提供者?”時,輸入 y。
  3. 當詢問”確定要安裝來自 ‘PSGallery’ 的模組?”時,輸入 y。

接著請由以下網址下載 AzureDiskEncryptionPreRequisiteSetup.ps1 (下載存檔後,請確認副檔名為 .ps1,若不是請變更它)
點我下載 AzureDiskEncryptionPreRequisiteSetup.ps1

AzureDiskEncryptionPreRequisiteSetup.ps1可為我們在 Azure 中建立 KeyVault 並在Azure AD 中註冊為應用程式後,顯示出 KeyVaultUrl 與 KeyVaultId。

在 PowerShell 中執行AzureDiskEncryptionPreRequisiteSetup.ps1:

  1. 執行 Add-AzureRMAccount 並登入
  2. 執行 C:\ AzureDiskEncryptionPreRequisiteSetup.ps1 (假設您下載至 C 磁碟)
  3. 在 resourceGroupName: 輸入您KeyVault 所屬的資源群組名(若不存在,則會幫您建立)
  4. 在keyVaultName: 輸入您要建立的KeyVault 名稱(此名稱需沒有被其他 Azure 用戶使用)
  5. 在location: 輸入您要使用的Azure 地區(例如:Southeast Asia)
  6. 在subscriptionId: 輸入您Azure 訂用帳戶的識別碼(您在步驟 1 登入後會顯示)
  7. 當 KeyVault 建立完成並已註冊成應用程式後,會顯示出您的 KeyVaultUrl 與 KeyVaultId,請記下它們。

在 PowerShell 中,為您的Azure VM 啟用 Azurer 磁碟加密::

  1. 執行 Set-AzureRmVmDiskEncryptionExtension -ResourceGroupName "您 VM 的資源群組名" -VMName "您的 VM 名" -DiskEncryptionKeyVaultId "剛才記下的 KeyVaultId" -DiskEncryptionKeyVaultUrl "剛才記下的 KeyVaultUrl"
  2. 當詢問”Do you want to continue?” 時,輸入 y。
  3. 等待一段時間後(取決於您 VM 大小、磁碟效能與磁碟中的資料量,可能數分鐘到數十分鐘),即啟用完成。

若您使用遠端桌面連線,連到您 Azure 中此部 VM,即可在控制台→系統及安全性→BitLocker 磁碟加密中看到您的作業系統磁碟、暫時性磁碟與資料碟皆已加密。