Abilitare la crittografia dei dischi per i nodi del cluster di Azure Service Fabric in Windows
Questa esercitazione descrive come abilitare la crittografia dei dischi nei nodi del cluster di Service Fabric in Windows. È necessario seguire questi passaggi per ognuno dei tipi di nodo e dei set di scalabilità di macchine virtuali. Per crittografare i nodi, verrà usata la funzionalità Crittografia dischi di Azure nel set di scalabilità di macchine virtuali.
Questa guida include gli argomenti seguenti:
- Concetti principali da tenere in considerazione quando si abilita la crittografia dei dischi nei set di scalabilità di macchine virtuali del cluster di Service Fabric in Windows.
- Passaggi da seguire prima di abilitare la crittografia dei dischi nei nodi del cluster di Service Fabric in Windows.
- Passaggi da seguire per abilitare la crittografia dei rischi nei nodi del cluster di Service Fabric in Windows.
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Prerequisiti
Registrazione self-service
L'anteprima della crittografia dei dischi per il set di scalabilità di macchine virtuali richiede la registrazione self-service. Eseguire la procedura descritta di seguito:
- Eseguire prima di tutto il comando seguente:
Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
- Attendere circa 10 minuti fino a visualizzare lo stato Registrato. È possibile controllare lo stato eseguendo il comando seguente:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption" Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
Azure Key Vault
- Creare un insieme di credenziali delle chiavi nella stessa sottoscrizione e nella stessa area del set di scalabilità, quindi selezionare i criteri di accesso EnabledForDiskEncryption nell'insieme di credenziali delle chiavi usando il relativo cmdlet di PowerShell. È anche possibile impostare i criteri usando l'interfaccia utente di Key Vault nel portale di Azure con il comando seguente:
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
- Installare la versione più recente dell'interfaccia della riga di comando di Azure, che include i nuovi comandi di crittografia.
- Installare la versione più recente dell’SDK di Azure da Azure PowerShell. Di seguito sono indicati i cmdlet di Crittografia dischi di Azure del set di scalabilità di macchine virtuali da usare per abilitare (set) la crittografia, recuperare (get) lo stato della crittografia e rimuovere (disable) la crittografia nell'istanza del set di scalabilità.
Comando | Versione | Origine |
---|---|---|
Get-AzVmssDiskEncryptionStatus | 1.0.0 o versione successiva | Az.Compute |
Get-AzVmssVMDiskEncryptionStatus | 1.0.0 o versione successiva | Az.Compute |
Disable-AzVmssDiskEncryption | 1.0.0 o versione successiva | Az.Compute |
Get-AzVmssDiskEncryption | 1.0.0 o versione successiva | Az.Compute |
Get-AzVmssVMDiskEncryption | 1.0.0 o versione successiva | Az.Compute |
Set-AzVmssDiskEncryptionExtension | 1.0.0 o versione successiva | Az.Compute |
Scenari supportati per la crittografia dei dischi
- La crittografia del set di scalabilità di macchine virtuali è supportata solo per i set di scalabilità creati con dischi gestiti. Non è supportata per i set di scalabilità di dischi nativi (o non gestiti).
- La crittografia è supportata per i volumi del sistema operativo e di dati nel set di scalabilità di macchine virtuali in Windows. La disabilitazione della crittografia è supportata anche per i volumi di dati e del sistema operativo per i set di scalabilità di macchine virtuali in Windows.
- Le operazioni di ricreazione dell’immagine e aggiornamento delle macchine virtuali per i set di scalabilità di macchine virtuali non sono supportate nell'anteprima corrente.
Creare un nuovo cluster e abilitare la crittografia dei dischi
Usare i comandi seguenti per creare un cluster e abilitare la crittografia dei dischi tramite un modello di Azure Resource Manager e un certificato autofirmato.
Accedere ad Azure
Accedere con i comandi seguenti:
Login-AzAccount
Set-AzContext -SubscriptionId <guid>
azure login
az account set --subscription $subscriptionId
Usare il modello personalizzato già disponibile
Se è necessario creare un modello personalizzato specifico per le proprie esigenze, è vivamente consigliabile iniziare con uno di quelli disponibili nella pagina degli esempi di modelli di creazione per cluster di Azure Service Fabric. Per personalizzare la sezione del modello di cluster, vedere le indicazioni seguenti.
Se si dispone già di un modello personalizzato, verificare che tutti e tre i parametri correlati al certificato nel modello e il file dei parametri siano denominati come segue e che i valori siano Null come indicato di seguito:
"certificateThumbprint": {
"value": ""
},
"sourceVaultValue": {
"value": ""
},
"certificateUrlValue": {
"value": ""
},
$resourceGroupLocation="westus"
$resourceGroupName="mycluster"
$CertSubjectName="mycluster.westus.cloudapp.azure.com"
$certPassword="Password!1" | ConvertTo-SecureString -AsPlainText -Force
$certOutputFolder="c:\certificates"
$parameterFilePath="c:\templates\templateparam.json"
$templateFilePath="c:\templates\template.json"
New-AzServiceFabricCluster -ResourceGroupName $resourceGroupName -CertificateOutputFolder $certOutputFolder -CertificatePassword $certpassword -CertificateSubjectName $CertSubjectName -TemplateFile $templateFilePath -ParameterFile $parameterFilePath
declare certPassword=""
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare certSubjectName="mylinuxsecure.westus.cloudapp.azure.com"
declare parameterFilePath="c:\mytemplates\linuxtemplateparm.json"
declare templateFilePath="c:\mytemplates\linuxtemplate.json"
declare certOutputFolder="c:\certificates"
az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation \
--certificate-output-folder $certOutputFolder --certificate-password $certPassword \
--certificate-subject-name $certSubjectName \
--template-file $templateFilePath --parameter-file $parametersFilePath
Distribuire un'applicazione in un cluster di Service Fabric in Windows
Per distribuire un'applicazione nel cluster, seguire la procedura e le indicazioni in Distribuire e rimuovere applicazioni con PowerShell.
Abilitare la crittografia dei dischi per i set di scalabilità di macchine virtuali creati in precedenza
Per abilitare la crittografia dei dischi per i set di scalabilità di macchine virtuali creati nei passaggi precedenti, eseguire i comandi seguenti:
$VmssName = "nt1vm"
$vaultName = "mykeyvault"
$resourceGroupName = "mycluster"
$KeyVault = Get-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName
$DiskEncryptionKeyVaultUrl = $KeyVault.VaultUri
$KeyVaultResourceId = $KeyVault.ResourceId
Set-AzVmssDiskEncryptionExtension -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType All
az vmss encryption enable -g <resourceGroupName> -n <VMSS name> --disk-encryption-keyvault <KeyVaultResourceId>
Verificare che la crittografia dei dischi sia abilitata per un set di scalabilità di macchine virtuali in Windows
Eseguire i comandi seguenti per ottenere lo stato di un intero set di scalabilità di macchine virtuali o di qualsiasi istanza nel set di scalabilità.
$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Get-AzVmssDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName
Get-AzVmssVMDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -InstanceId "0"
az vmss encryption show -g <resourceGroupName> -n <VMSS name>
È anche possibile accedere al set di scalabilità di macchine virtuali e assicurarsi che le unità siano crittografate.
Disabilitare la crittografia dei dischi per il set di scalabilità di macchine virtuali in un cluster di Service Fabric
Eseguire i comandi seguenti per disabilitare la crittografia dei dischi per un set di scalabilità di macchine virtuali. Si noti che la disabilitazione della crittografia dei dischi si applica all'intero set di scalabilità di macchine virtuali e non alle singole istanze.
$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $VmssName
az vmss encryption disable -g <resourceGroupName> -n <VMSS name>
Passaggi successivi
A questo punto, si dovrebbe disporre di un cluster protetto e sapere come abilitare e disabilitare la crittografia dei dischi per i nodi del cluster di Service Fabric e i set di scalabilità di macchine virtuali. Per indicazioni simili sui nodi del cluster di Service Fabric in Linux, vedere Crittografia dei dischi per Linux.