Azure Disk Encryption gebruiken met extensievolgorde van virtuele-machineschaalset
Extensies zoals Azure-schijfversleuteling kunnen in een opgegeven volgorde worden toegevoegd aan een virtuele-machineschaalset van Azure. Gebruik hiervoor extensievolgorde.
Over het algemeen moet versleuteling worden toegepast op een schijf:
- Na extensies of aangepaste scripts die de schijven of volumes voorbereiden.
- Voordat extensies of aangepaste scripts de gegevens op de versleutelde schijven of volumes openen of gebruiken.
In beide gevallen wijst de provisionAfterExtensions
eigenschap aan welke extensie later in de volgorde moet worden toegevoegd.
Azure-voorbeeldsjablonen
Als u Azure Disk Encryption wilt toepassen na een andere extensie, plaatst u de provisionAfterExtensions
eigenschap in het extensieblok AzureDiskEncryption.
Hier volgt een voorbeeld met customScriptExtension, een PowerShell-script waarmee een Windows-schijf wordt geïnitialiseerd en geformatteerd, gevolgd door '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')]"
}
}
},
]
}
}
Als u Azure Disk Encryption wilt toepassen vóór een andere extensie, plaatst u de provisionAfterExtensions
eigenschap in het blok van de extensie dat u wilt volgen.
Hier volgt een voorbeeld met behulp van 'AzureDiskEncryption' gevolgd door 'VMDiagnosticsSettings', een extensie die bewakings- en diagnostische mogelijkheden biedt op een Virtuele Azure-machine met Windows:
"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"
}
}
},
]
}
}
Zie voor een uitgebreidere sjabloon:
- Pas de Azure Disk Encryption-extensie toe na een aangepast shellscript waarmee de schijf (Linux) wordt opgemaakt: deploy-extseq-linux-ADE-after-customscript.json
Volgende stappen
- Meer informatie over extensievolgorde: Inrichting van sequentie-extensies in virtuele-machineschaalsets.
- Meer informatie over de
provisionAfterExtensions
eigenschap: Naslaginformatie over sjablonen voor Microsoft.Compute virtualMachineScaleSets/extensions. - Azure Disk Encryption voor virtuele-machineschaalsets
- Een virtuele-machineschaalset versleutelen met behulp van de Azure CLI
- Een virtuele-machineschaalset versleutelen met behulp van Azure PowerShell
- Een sleutelkluis voor Azure Disk Encryption maken en configureren