Share via


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

Questa esercitazione descrive come abilitare la crittografia del disco nei nodi del cluster di Azure Service Fabric in Linux. È necessario seguire questa procedura per ogni tipo di nodo e set di scalabilità di macchine virtuali. Per crittografare i nodi, si userà la funzionalità Crittografia dischi di Azure nei set di scalabilità di macchine virtuali.

La guida illustra gli argomenti seguenti:

  • Concetti chiave da tenere presente quando si abilita la crittografia del disco nei set di scalabilità di macchine virtuali del cluster di Service Fabric in Linux.
  • Passaggi da seguire prima di abilitare la crittografia del disco nei nodi del cluster di Service Fabric in Linux.
  • Passaggi da seguire per abilitare la crittografia del disco 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 automatica

L'anteprima della crittografia del disco per il set di scalabilità di macchine virtuali richiede la registrazione automatica. Eseguire la procedura descritta di seguito:

  1. Eseguire il comando seguente:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Attendere circa 10 minuti fino alla lettura dello 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 cmdlet di PowerShell. È anche possibile impostare i criteri usando l'interfaccia utente Key Vault nell'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, con i nuovi comandi di crittografia.

  3. Installare la versione più recente di Azure SDK dalla versione Azure PowerShell. Di seguito sono riportati i cmdlet di Crittografia dischi di Azure per abilitare (set) la crittografia, recuperare (ottenere) lo stato di crittografia e rimuovere (disabilitare) la crittografia nell'istanza del set di scalabilità.

Comando Versione Source (Sorgente)
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 per i 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 sono supportate sia per i volumi di sistema operativo che per i volumi di dati nei set di scalabilità di macchine virtuali in Linux.
  • Le operazioni di reimage 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 del disco

Usare i comandi seguenti per creare un cluster e abilitare la crittografia del disco usando 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, è consigliabile usare uno dei modelli nella pagina 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 il file di parametro siano denominati come indicato di seguito. Assicurarsi anche che i valori siano Null come indicato di seguito:

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

Poiché solo la crittografia dei dischi dati è supportata per i set di scalabilità di macchine virtuali in Linux, è necessario aggiungere un disco dati usando un modello di 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 equivalente dell'interfaccia della riga di comando. Modificare i valori nelle istruzioni dichiarate nei valori appropriati. L'interfaccia della riga di comando supporta tutti gli altri parametri supportati dal comando di PowerShell precedente.

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, assicurarsi che il disco dati aggiunto sia montato correttamente. Accedere alla macchina virtuale del cluster Linux ed eseguire il comando LSBLK . L'output deve mostrare che il disco dati aggiunto nella colonna Punto di montaggio .

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

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

Abilitare la crittografia del disco per i set di scalabilità di macchine virtuali creati in precedenza

Per abilitare la crittografia del disco per i set di scalabilità di macchine virtuali creati tramite i 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>

Convalidare se la crittografia del disco è abilitata per un set di scalabilità di macchine virtuali in Linux

Per ottenere lo stato di un intero set di scalabilità di macchine virtuali o di qualsiasi istanza in un set di scalabilità, eseguire i comandi seguenti. È inoltre possibile accedere alla macchina virtuale del cluster Linux ed eseguire il comando LSBLK . L'output deve visualizzare il disco dati aggiunto nella colonna Punto di montaggio e la colonna Type deve leggere 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 del disco per un set di scalabilità di macchine virtuali in un cluster di Service Fabric

Disabilitare la crittografia del disco per un set di scalabilità di macchine virtuali eseguendo i comandi seguenti. Si noti che la disabilitazione della crittografia del disco si applica all'intero set di scalabilità di macchine virtuali e non a un'unica istanza.

$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $VmssName

az vmss encryption disable -g <resourceGroupName> -n <VMSS name>

Passaggi successivi

A questo punto, è necessario disporre di un cluster sicuro e sapere come abilitare e disabilitare la crittografia del disco 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 dischi per Windows.