Abilitare la crittografia del disco per i nodi del cluster gestito di Service Fabric
I cluster gestiti di Service Fabric supportano due opzioni di crittografia del disco per proteggere i dati in modo da soddisfare gli impegni di sicurezza e conformità dell'organizzazione. L'opzione consigliata è Crittografia nell'host, ma supporta anche Crittografia dischi di Azure. Esaminare le opzioni di crittografia del disco e assicurarsi che l'opzione selezionata soddisfi le proprie esigenze.
Abilitare la crittografia a livello di host
Questo metodo di crittografia migliora le Crittografia dischi di Azure supportando tutti i tipi di sistema operativo e le immagini, incluse le immagini personalizzate, per le macchine virtuali crittografando i dati nel servizio Archiviazione di Azure. Questo metodo non usa la CPU delle macchine virtuali né influisce sulle prestazioni delle macchine virtuali, consentendo ai carichi di lavoro di usare tutte le risorse di SKU delle macchine virtuali disponibili.
Nota
Non è possibile abilitare nei tipi di nodo esistenti. È necessario effettuare il provisioning di un nuovo tipo di nodo ed eseguire la migrazione del carico di lavoro.
Nota
Centro sicurezza di Azure stato di crittografia del disco verrà visualizzato come Non integro in questo momento quando si usa la crittografia nell'host
Seguire questa procedura e fare riferimento a questo modello di esempio per distribuire un nuovo cluster gestito di Service Fabric con la crittografia host abilitata.
Esaminare le restrizioni seguenti per verificare che soddisfino i requisiti.
Configurare i prerequisiti necessari prima della distribuzione del cluster.
Configurare la
enableEncryptionAtHost
proprietà nel modello di cluster gestito per ogni tipo di nodo è necessaria la crittografia del disco. L'esempio è preconfigurato.- L'api delle risorse del cluster gestito di Service FabricVersion deve essere 2021-11-01-preview o versione successiva.
{ "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]", "location": "[resourcegroup().location]", "properties": { "enableEncryptionAtHost": true ... } }
Distribuire e verificare
Distribuire il cluster gestito configurato con Crittografia host abilitata.
$clusterName = "<clustername>" $resourceGroupName = "<rg-name>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose
È possibile controllare lo stato della crittografia del disco nel set di scalabilità sottostante di un tipo di nodo usando il
Get-AzVmss
comando . Prima di tutto è necessario trovare il nome del gruppo di risorse di supporto del cluster gestito (contenente la rete virtuale sottostante, il servizio di bilanciamento del carico, l'indirizzo IP pubblico, il gruppo di sicurezza di rete, i set di scalabilità e gli account di archiviazione). Assicurarsi di modificareNodeTypeNAme
in base al nome del tipo di nodo del cluster che si vuole controllare (come specificato nel modello di distribuzione).$NodeTypeName = "NT2" $clustername = <clustername> $resourceGroupName = "<rg-name>" $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId $VMSS = Get-AzVmss -ResourceGroupName $supportResourceGroupName -Name $NodeTypeName $VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost
L'output restituito dovrebbe essere simile al seguente:
$VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost True
Abilitare Crittografia dischi di Azure
Crittografia dischi di Azure fornisce la crittografia del volume per il sistema operativo e i dischi dati delle macchine virtuali di Azure usando la funzionalità DM-Crypt in Linux o la funzionalità BitLocker di Windows. Crittografia dischi di Azure si integra con Azure Key Vault per semplificare il controllo e la gestione delle chiavi e dei segreti di crittografia dei dischi.
In questa guida si apprenderà come abilitare la crittografia del disco nei nodi del cluster gestito di Service Fabric in Windows usando la funzionalità di Crittografia dischi di Azure per i set di scalabilità di macchine virtuali tramite modelli di Azure Resource Manager (ARM).
Registrarsi per Crittografia dischi di Azure
L'anteprima della crittografia dei dischi per il set di scalabilità di macchine virtuali richiede la registrazione self-service. Esegui questo comando:
Register-AzProviderFeature -FeatureName "UnifiedDiskEncryption" -ProviderNamespace "Microsoft.Compute"
Controllare lo stato della registrazione eseguendo:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
Dopo che lo stato diventa Registrato, si è pronti per procedere.
Effettuare il provisioning di un insieme di credenziali delle chiavi per la crittografia del disco
Crittografia dischi di Azure richiede Azure Key Vault per controllare e gestire segreti e chiavi di crittografia dei dischi. L'insieme di credenziali delle chiavi e il cluster gestito di Service Fabric devono trovarsi nella stessa area e nella stessa sottoscrizione di Azure. Se questi requisiti sono soddisfatti, è possibile usare un insieme di credenziali delle chiavi nuovo o esistente abilitandolo per la crittografia del disco.
Creare Key Vault con la crittografia del disco abilitata
Eseguire i comandi seguenti per creare un nuovo insieme di credenziali delle chiavi per la crittografia del disco. Assicurarsi che l'area dell'insieme di credenziali delle chiavi si trova nella stessa area del cluster.
$resourceGroupName = "<rg-name>" $keyvaultName = "<kv-name>" New-AzResourceGroup -Name $resourceGroupName -Location eastus2 New-AzKeyVault -ResourceGroupName $resourceGroupName -Name $keyvaultName -Location eastus2 -EnabledForDiskEncryption
Aggiornare l'insieme di credenziali delle chiavi esistente per abilitare la crittografia del disco
Eseguire i comandi seguenti per abilitare la crittografia del disco per un insieme di credenziali delle chiavi esistente.
Set-AzKeyVaultAccessPolicy -ResourceGroupName $resourceGroupName -VaultName $keyvaultName -EnabledForDiskEncryption
Aggiornare i file di modello e parametri per la crittografia del disco
Il passaggio seguente illustra le modifiche del modello necessarie per abilitare la crittografia del disco in un cluster gestito esistente. In alternativa, è possibile distribuire un nuovo cluster gestito di Service Fabric con la crittografia del disco abilitata con questo modello: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption
Aggiungere i parametri seguenti al modello, sostituendo la propria sottoscrizione, il nome del gruppo di risorse e il nome dell'insieme di credenziali in
keyVaultResourceId
:"parameters": { "keyVaultResourceId": { "type": "string", "defaultValue": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>", "metadata": { "description": "Full resource id of the Key Vault used for disk encryption." } }, "volumeType": { "type": "string", "defaultValue": "All", "metadata": { "description": "Type of the volume OS or Data to perform encryption operation" } } },
Aggiungere quindi l'estensione
AzureDiskEncryption
macchina virtuale ai tipi di nodo del cluster gestito nel modello:"properties": { "vmExtensions": [ { "name": "AzureDiskEncryption", "properties": { "publisher": "Microsoft.Azure.Security", "type": "AzureDiskEncryption", "typeHandlerVersion": "2.2", "autoUpgradeMinorVersion": true, "settings": { "EncryptionOperation": "EnableEncryption", "KeyVaultURL": "[reference(parameters('keyVaultResourceId'),'2016-10-01').vaultUri]", "KeyVaultResourceId": "[parameters('keyVaultResourceID')]", "VolumeType": "[parameters('volumeType')]" } } } ] }
Aggiornare infine il file dei parametri, sostituendo la sottoscrizione, il gruppo di risorse e il nome dell'insieme di credenziali delle chiavi in keyVaultResourceId:
"parameters": { ... "keyVaultResourceId": { "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" }, "volumeType": { "value": "All" } }
Distribuire e verificare le modifiche
Dopo aver pronto, distribuire le modifiche per abilitare la crittografia del disco nel cluster gestito.
$clusterName = "<clustername>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose
È possibile controllare lo stato della crittografia del disco nel set di scalabilità sottostante di un tipo di nodo usando il
Get-AzVmssDiskEncryption
comando . Prima di tutto è necessario trovare il nome del gruppo di risorse di supporto del cluster gestito (contenente la rete virtuale sottostante, il servizio di bilanciamento del carico, l'indirizzo IP pubblico, il gruppo di sicurezza di rete, i set di scalabilità e gli account di archiviazione). Assicurarsi di modificareVmssName
in base al nome del tipo di nodo del cluster che si vuole controllare (come specificato nel modello di distribuzione).$VmssName = "NT1" $clustername = <clustername> $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId Get-AzVmssDiskEncryption -ResourceGroupName $supportResourceGroupName -VMScaleSetName $VmssName
L'output dovrebbe essere simile al seguente:
ResourceGroupName : SFC_########-####-####-####-############ VmScaleSetName : NT1 EncryptionEnabled : True EncryptionExtensionInstalled : True
Passaggi successivi
Crittografia dischi di Azure per macchine virtuali Windows
Crittografare i set di scalabilità di macchine virtuali con Azure Resource Manager