Leggere in inglese

Condividi tramite


Abilitare la crittografia dei dischi per i nodi del cluster di Azure Service Fabric in Linux

Questa esercitazione descrive come abilitare la crittografia dei dischi nei nodi del cluster di Azure Service Fabric in Linux. È 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 Linux.
  • Passaggi da seguire prima di abilitare la crittografia dei dischi nei nodi del cluster di Service Fabric in Linux.
  • Passaggi da seguire per abilitare la crittografia dei rischi nei nodi del cluster di Service Fabric in Linux.

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:

  1. Esegui il comando seguente:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. 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

  1. Creare un insieme di credenziali nella stessa sottoscrizione e nella stessa area del set di scalabilità. Selezionare quindi 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
    
  2. Installare la versione più recente dell'interfaccia della riga di comando di Azure, che include i nuovi comandi di crittografia.

  3. 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 e la disabilitazione della crittografia sono supportate per i volumi di dati e del sistema operativo nei set di scalabilità di macchine virtuali in Linux.
  • 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, è vivamente consigliabile usare uno dei modelli nella pagina degli esempi di modelli di creazione del cluster di Azure Service Fabric.

Se si dispone già di un modello personalizzato, verificare che tutti e tre i parametri correlati al certificato nel modello e nel file dei parametri siano denominati come segue. Assicurarsi anche che i valori siano Null come indicato di seguito:

   "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultValue": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    },

Poiché la crittografia dei dischi è supportata solo per i set di scalabilità di macchine virtuali in Linux, è necessario aggiungere un disco dati usando un modello di Azure Resource Manager. Aggiornare il modello per il provisioning del disco dati come indicato di seguito:

   
   "storageProfile": { 
            "imageReference": { 
              "publisher": "[parameters('vmImagePublisher')]", 
              "offer": "[parameters('vmImageOffer')]", 
              "sku": "[parameters('vmImageSku')]", 
              "version": "[parameters('vmImageVersion')]" 
            }, 
            "osDisk": { 
              "caching": "ReadOnly", 
              "createOption": "FromImage", 
              "managedDisk": { 
                "storageAccountType": "[parameters('storageAccountType')]" 
              } 
           }, 
                "dataDisks": [ 
                { 
                    "diskSizeGB": 1023, 
                    "lun": 0, 
                    "createOption": "Empty" 
   
$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 

Ecco il comando dell'interfaccia della riga di comando equivalente. Modificare i valori nelle istruzioni declare specificando i valori appropriati. L'interfaccia della riga di comando supporta tutti gli altri parametri supportati dal precedente comando di PowerShell.

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

Montare un disco dati in un'istanza di Linux

Prima di continuare con la crittografia in un set di scalabilità di macchine virtuali, verificare che il disco dati aggiunto sia montato correttamente. Accedere alla macchina virtuale del cluster Linux ed eseguire il comando LSBLK. L'output dovrebbe indicare il disco dati aggiunto nella colonna del punto di montaggio.

Distribuire un'applicazione in un cluster di Service Fabric in Linux

Per distribuire un'applicazione nel cluster, seguire i passaggi e le indicazioni riportate in Guida introduttiva: Distribuire contenitori Linux in Service Fabric.

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 Linux

Usare i comandi seguenti per ottenere lo stato di un intero set di scalabilità di macchine virtuali o di qualsiasi istanza nel set di scalabilità. È anche possibile accedere alla macchina virtuale del cluster Linux ed eseguire il comando LSBLK . L'output deve mostrare il disco dati aggiunto nella colonna Punto di montaggio e la colonna Tipo deve visualizzare Crypt.


$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>

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 Windows.