Share via


Crittografare i dischi del sistema operativo con una chiave gestita dal cliente in Azure Red Hat OpenShift

Per impostazione predefinita, i dischi del sistema operativo delle macchine virtuali in un cluster Azure Red Hat OpenShift sono stati crittografati con chiavi generate automaticamente gestite da Microsoft Azure. Per maggiore sicurezza, i clienti possono crittografare i dischi del sistema operativo con chiavi autogestito durante la distribuzione di un cluster Azure Red Hat OpenShift. Questa funzionalità consente un maggiore controllo crittografando i dati riservati con chiavi gestite dal cliente (CMK).

I cluster creati con chiavi gestite dal cliente hanno una classe di archiviazione predefinita abilitata con le relative chiavi. Di conseguenza, sia i dischi del sistema operativo che i dischi dati vengono crittografati da queste chiavi. Le chiavi gestite dal cliente vengono archiviate in Azure Key Vault.

Per altre informazioni sull'uso di Azure Key Vault per creare e gestire le chiavi, vedere Crittografia lato server di Azure Disk Archiviazione nella documentazione di Microsoft Azure.

Con la crittografia basata su host, i dati archiviati nell'host della macchina virtuale delle macchine virtuali dei nodi dell'agente Di Azure Red Hat OpenShift vengono crittografati inattivi e i flussi crittografati nel servizio Archiviazione. La crittografia di base dell'host indica che i dischi temporanei vengono crittografati inattivi con chiavi gestite dalla piattaforma.

La cache dei dischi dati e del sistema operativo viene crittografata inattiva con chiavi gestite dalla piattaforma o chiavi gestite dal cliente, a seconda del tipo di crittografia impostato su tali dischi. Per impostazione predefinita, quando si usa Azure Red Hat OpenShift, il sistema operativo e i dischi dati vengono crittografati inattivi con chiavi gestite dalla piattaforma, ovvero le cache per questi dischi sono crittografate anche per impostazione predefinita con chiavi gestite dalla piattaforma.

È possibile specificare chiavi gestite personalizzate seguendo la procedura di crittografia seguente. La cache per questi dischi verrà crittografata anche usando la chiave specificata in questo passaggio.

Limitazione

È responsabilità dei clienti mantenere l'insieme di credenziali delle chiavi e il set di crittografia dischi in Azure. La mancata manutenzione delle chiavi comporterà l'interruzione dei cluster Azure Red Hat OpenShift. Le macchine virtuali smetteranno di funzionare e, di conseguenza, l'intero cluster Azure Red Hat OpenShift smetterà di funzionare.

Il team di Progettazione di Azure Red Hat OpenShift non può accedere alle chiavi. Di conseguenza, non possono eseguire il backup, replicare o recuperare le chiavi.

Per informazioni dettagliate sull'uso dei set di crittografia dischi per gestire le chiavi di crittografia, vedere Crittografia lato server di Azure Disk Archiviazione nella documentazione di Microsoft Azure.

Prerequisiti

  • Verificare le autorizzazioni. È necessario disporre delle autorizzazioni Collaboratore e Accesso utente Amministrazione istrator o Proprietario.

  • Se sono presenti più sottoscrizioni di Azure, registrare i provider di risorse. Per informazioni dettagliate sulla registrazione, vedere Registrare i provider di risorse.

  • È necessario che la funzionalità EncryptionAtHost sia abilitata nella sottoscrizione. È possibile abilitarlo eseguendo:

    az feature register --namespace Microsoft.Compute --name EncryptionAtHost
    
  • È possibile controllare lo stato corrente della funzionalità eseguendo:

    az feature show --namespace Microsoft.Compute --name EncryptionAtHost
    

Creare una rete virtuale contenente due subnet vuote

Creare una rete virtuale contenente due subnet vuote. Se si dispone di una rete virtuale esistente che soddisfa le proprie esigenze, è possibile ignorare questo passaggio. Per esaminare la procedura di creazione di una rete virtuale, vedere Creare una rete virtuale contenente due subnet vuote.

Creare un'istanza di Azure Key Vault

È necessario usare un'istanza di Azure Key Vault per archiviare le chiavi. Creare un nuovo insieme di credenziali delle chiavi con la protezione di ripulitura abilitata. Creare quindi una nuova chiave all'interno di Key Vault per archiviare la propria chiave personalizzata.

  1. Impostare altre autorizzazioni per l'ambiente:
    export KEYVAULT_NAME=$USER-enckv
    export KEYVAULT_KEY_NAME=$USER-key
    export DISK_ENCRYPTION_SET_NAME=$USER-des
    
  2. Creare un insieme di credenziali delle chiavi e una chiave nell'insieme di credenziali delle chiavi:
    az keyvault create -n $KEYVAULT_NAME \
                   -g $RESOURCEGROUP \
                   -l $LOCATION \
                   --enable-purge-protection true
    
    az keyvault key create --vault-name $KEYVAULT_NAME \
                           -n $KEYVAULT_KEY_NAME \
                           --protection software
    
    KEYVAULT_ID=$(az keyvault show --name $KEYVAULT_NAME --query "[id]" -o tsv)
    
    KEYVAULT_KEY_URL=$(az keyvault key show --vault-name $KEYVAULT_NAME \
                                            --name $KEYVAULT_KEY_NAME \
                                            --query "[key.kid]" -o tsv)
    

Creare un set di Crittografia dischi di Azure

Il set di Crittografia dischi di Azure viene usato come punto di riferimento per i dischi nei cluster Azure Red Hat OpenShift. È connesso all'insieme di credenziali delle chiavi di Azure creato nel passaggio precedente ed esegue il pull delle chiavi gestite dal cliente da tale posizione.

az disk-encryption-set create -n $DISK_ENCRYPTION_SET_NAME \
                              -l $LOCATION \
                              -g $RESOURCEGROUP \
                              --source-vault $KEYVAULT_ID \
                              --key-url $KEYVAULT_KEY_URL

DES_ID=$(az disk-encryption-set show -n $DISK_ENCRYPTION_SET_NAME -g $RESOURCEGROUP --query 'id' -o tsv)

DES_IDENTITY=$(az disk-encryption-set show -n $DISK_ENCRYPTION_SET_NAME \
                                           -g $RESOURCEGROUP \
                                           --query "[identity.principalId]" \
                                           -o tsv)

Concedere le autorizzazioni per il set di crittografia dischi per accedere all'insieme di credenziali delle chiavi

Usare il set di crittografia dischi creato nel passaggio precedente e concedere l'autorizzazione per il set di crittografia dischi per accedere e usare Azure Key Vault.

az keyvault set-policy -n $KEYVAULT_NAME \
                       -g $RESOURCEGROUP \
                       --object-id $DES_IDENTITY \
                       --key-permissions wrapkey unwrapkey get

Creare un cluster di Azure Red Hat OpenShift

Creare un cluster Azure Red Hat OpenShift per usare le chiavi gestite dal cliente.

az aro create --resource-group $RESOURCEGROUP \
              --name $CLUSTER  \
              --vnet aro-vnet  \
              --master-subnet master-subnet \
              --worker-subnet worker-subnet \
              --disk-encryption-set $DES_ID

Dopo aver creato il cluster Azure Red Hat OpenShift, tutte le macchine virtuali vengono crittografate con le chiavi di crittografia gestite dal cliente.

Per verificare che le chiavi siano state configurate correttamente, eseguire i comandi seguenti:

  1. Ottenere il nome del gruppo di risorse del cluster in cui si trovano le macchine virtuali, i dischi e così via del cluster:
    CLUSTERRESOURCEGROUP=$(az aro show --resource-group $RESOURCEGROUP --name $CLUSTER --query 'clusterProfile.resourceGroupId' -o tsv | cut -d '/' -f 5)
    
  2. Verificare che i dischi abbiano il set di crittografia dischi corretto collegato:
    az disk list -g $CLUSTERRESOURCEGROUP --query '[].encryption'
    
    Il campo diskEncryptionSetId nell'output deve puntare al set di crittografia dischi specificato durante la creazione del cluster Azure Red Hat OpenShift.