這很重要
Azure 磁碟加密預定於 2028 年 9 月 15 日退休。 在此之前,您可以繼續使用 Azure 磁碟加密,不會中斷。 2028 年 9 月 15 日,啟用 ADE 的工作負載仍可繼續運行,但加密磁碟在虛擬機重啟後將無法解鎖,導致服務中斷。
為新的虛擬機器使用主機端加密。 所有啟用 ADE 的虛擬機(包括備份)必須在退休日前遷移至主機加密,以避免服務中斷。 詳情請參見「 從 Azure 磁碟加密遷移到主機加密 」。
Azure 磁碟加密等延伸模組可以依指定的順序新增至 Azure 虛擬機器擴展集。 若要這樣做,請使用 延伸排序。
一般而言,加密應該套用至磁碟:
- 在準備磁碟或磁碟區的擴充功能或自訂指令碼之後。
- 在存取或使用加密磁碟或磁碟區上資料的擴充功能或自訂指令碼之前。
在任一情況下,屬性 provisionAfterExtensions 都會指定稍後應該在序列中新增的延伸模組。
範例 Azure 範本
如果您想要在另一個延伸模組之後套用 Azure 磁碟加密,請將屬性放在 provisionAfterExtensions AzureDiskEncryption 延伸模組區塊中。
以下是使用「CustomScriptExtension」的範例,這是一個初始化和格式化 Windows 磁碟的 PowerShell 腳本,後面接著「AzureDiskEncryption」:
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [
{
"type": "Microsoft.Compute/virtualMachineScaleSets/extensions",
"name": "CustomScriptExtension",
"location": "[resourceGroup().location]",
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"forceUpdateTag": "[parameters('forceUpdateTag')]",
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/ade-vmss/FormatMBRDisk.ps1"
]
},
"protectedSettings": {
"commandToExecute": "powershell -ExecutionPolicy Unrestricted -File FormatMBRDisk.ps1"
}
}
},
{
"type": "Microsoft.Compute/virtualMachineScaleSets/extensions",
"name": "AzureDiskEncryption",
"location": "[resourceGroup().location]",
"properties": {
"provisionAfterExtensions": [
"CustomScriptExtension"
],
"publisher": "Microsoft.Azure.Security",
"type": "AzureDiskEncryption",
"typeHandlerVersion": "2.2",
"autoUpgradeMinorVersion": true,
"forceUpdateTag": "[parameters('forceUpdateTag')]",
"settings": {
"EncryptionOperation": "EnableEncryption",
"KeyVaultURL": "[reference(variables('keyVaultResourceId'),'2018-02-14-preview').vaultUri]",
"KeyVaultResourceId": "[variables('keyVaultResourceID')]",
"KeyEncryptionKeyURL": "[parameters('keyEncryptionKeyURL')]",
"KekVaultResourceId": "[variables('keyVaultResourceID')]",
"KeyEncryptionAlgorithm": "[parameters('keyEncryptionAlgorithm')]",
"VolumeType": "[parameters('volumeType')]",
"SequenceVersion": "[parameters('sequenceVersion')]"
}
}
},
]
}
}
如果您想要在另一個延伸模組之前套用 Azure 磁碟加密,請將屬性 provisionAfterExtensions 放在要遵循的延伸模組區塊中。
以下是使用 “AzureDiskEncryption” 後面接著 “VMDiagnosticsSettings” 的範例,這是在 Windows 型 Azure VM 上提供監視和診斷功能的延伸模組:
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [
{
"name": "AzureDiskEncryption",
"type": "Microsoft.Compute/virtualMachineScaleSets/extensions",
"location": "[resourceGroup().location]",
"properties": {
"publisher": "Microsoft.Azure.Security",
"type": "AzureDiskEncryption",
"typeHandlerVersion": "2.2",
"autoUpgradeMinorVersion": true,
"forceUpdateTag": "[parameters('forceUpdateTag')]",
"settings": {
"EncryptionOperation": "EnableEncryption",
"KeyVaultURL": "[reference(variables('keyVaultResourceId'),'2018-02-14-preview').vaultUri]",
"KeyVaultResourceId": "[variables('keyVaultResourceID')]",
"KeyEncryptionKeyURL": "[parameters('keyEncryptionKeyURL')]",
"KekVaultResourceId": "[variables('keyVaultResourceID')]",
"KeyEncryptionAlgorithm": "[parameters('keyEncryptionAlgorithm')]",
"VolumeType": "[parameters('volumeType')]",
"SequenceVersion": "[parameters('sequenceVersion')]"
}
}
},
{
"name": "Microsoft.Insights.VMDiagnosticsSettings",
"type": "extensions",
"location": "[resourceGroup().location]",
"apiVersion": "2016-03-30",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/myVM', copyindex())]"
],
"properties": {
"provisionAfterExtensions": [
"AzureDiskEncryption"
],
"publisher": "Microsoft.Azure.Diagnostics",
"type": "IaaSDiagnostics",
"typeHandlerVersion": "1.5",
"autoUpgradeMinorVersion": true,
"settings": {
"xmlCfg": "[base64(concat(variables('wadcfgxstart'),
variables('wadmetricsresourceid'),
concat('myVM', copyindex()),
variables('wadcfgxend')))]",
"storageAccount": "[variables('storageName')]"
},
"protectedSettings": {
"storageAccountName": "[variables('storageName')]",
"storageAccountKey": "[listkeys(variables('accountid'),
'2015-06-15').key1]",
"storageAccountEndPoint": "https://core.windows.net"
}
}
},
]
}
}
如需更深入的範本,請參閱:
- 在格式化磁碟 (Linux) 的自訂 shell 指令碼之後套用 Azure 磁碟加密擴充功能:deploy-extseq-linux-ADE-after-customscript.json
後續步驟
- 深入了解擴充功能排序:排序虛擬機器擴展集中的擴充功能佈建。
- 深入了解
provisionAfterExtensions屬性:Microsoft.Compute virtualMachineScaleSets/extensions 範本參考。 - 適用於虛擬機器規模組的 Azure 磁碟加密
- 使用 Azure CLI 加密虛擬機器規模集
- 使用 Azure PowerShell 加密虛擬機器規模集
- 建立和設定 Azure 磁碟加密的金鑰保存庫