Šifrování disků s operačním systémem pomocí klíče spravovaného zákazníkem v Azure Red Hat OpenShiftu

Ve výchozím nastavení byly disky operačního systému virtuálních počítačů v clusteru Azure Red Hat OpenShift šifrované pomocí automaticky generovaných klíčů spravovaných Microsoft Azure. Kvůli dalšímu zabezpečení můžou zákazníci při nasazování clusteru Azure Red Hat OpenShift šifrovat disky s operačním systémem pomocí klíčů spravovaných svým držitelem. Tato funkce umožňuje větší kontrolu šifrováním důvěrných dat pomocí klíčů spravovaných zákazníkem (CMK).

Clustery vytvořené pomocí klíčů spravovaných zákazníkem mají u svých klíčů povolenou výchozí třídu úložiště. Tyto klíče proto šifrují disky s operačním systémem i datové disky. Klíče spravované zákazníkem jsou uložené ve službě Azure Key Vault.

Další informace o použití služby Azure Key Vault k vytváření a správě klíčů najdete v tématu Šifrování služby Azure Disk Storage na straně serveru v dokumentaci k Microsoft Azure.

Díky šifrování založenému na hostiteli se data uložená na hostiteli virtuálních počítačů agenta Azure Red Hat OpenShift šifrují neaktivní uložená data a toky se zašifrují do služby Storage. Šifrování založené na hostiteli znamená, že dočasné disky jsou neaktivní neaktivní zašifrované pomocí klíčů spravovaných platformou.

Mezipaměť disků s operačním systémem a datových disků se šifruje v klidovém stavu pomocí klíčů spravovaných platformou nebo klíčů spravovaných zákazníkem v závislosti na typu šifrování nastaveném na těchto discích. Při použití Azure Red Hat OpenShiftu se neaktivní uložené disky s operačním systémem a datovými disky šifrují pomocí klíčů spravovaných platformou, což znamená, že mezipaměti pro tyto disky jsou také ve výchozím nastavení šifrované pomocí klíčů spravovaných platformou.

Vlastní spravované klíče můžete zadat pomocí následujícího postupu šifrování. Mezipaměť pro tyto disky se také zašifruje pomocí klíče, který zadáte v tomto kroku.

Omezení

Za údržbu služby Key Vault a sady disk Encryption v Azure zodpovídá zákazník. Selhání údržby klíčů způsobí nefunkční clustery Azure Red Hat OpenShift. Virtuální počítače přestanou fungovat a v důsledku toho přestane fungovat celý cluster Azure Red Hat OpenShift.

Technický tým Azure Red Hat OpenShift nemá přístup ke klíčům. Proto nemůžou zálohovat, replikovat ani načítat klíče.

Podrobnosti o použití služby Disk Encryption Sets ke správě šifrovacích klíčů najdete v tématu Šifrování služby Azure Disk Storage na straně serveru v dokumentaci k Microsoft Azure.

Požadavky

  • Ověřte svá oprávnění. Musíte mít oprávnění přispěvatele a správce uživatelských přístupů nebo oprávnění vlastníka.

  • Pokud máte více předplatných Azure, zaregistrujte poskytovatele prostředků. Podrobnosti o registraci najdete v tématu Registrace poskytovatelů prostředků.

  • Ve vašem předplatném budete muset mít povolenou funkci EncryptionAtHost. Můžete ho povolit spuštěním příkazu:

    az feature register --namespace Microsoft.Compute --name EncryptionAtHost
    
  • Aktuální stav funkce můžete zkontrolovat spuštěním následujícího příkazu:

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

Vytvoření virtuální sítě obsahující dvě prázdné podsítě

Vytvořte virtuální síť obsahující dvě prázdné podsítě. Pokud máte existující virtuální síť, která vyhovuje vašim potřebám, můžete tento krok přeskočit. Postup vytvoření virtuální sítě najdete v tématu Vytvoření virtuální sítě obsahující dvě prázdné podsítě.

Vytvoření instance služby Azure Key Vault

K uložení klíčů musíte použít instanci služby Azure Key Vault. Vytvořte novou službu Key Vault s povolenou ochranou před vymazáním. Potom ve službě Key Vault vytvořte nový klíč pro uložení vlastního klíče.

  1. Nastavení dalších oprávnění prostředí:
    export KEYVAULT_NAME=$USER-enckv
    export KEYVAULT_KEY_NAME=$USER-key
    export DISK_ENCRYPTION_SET_NAME=$USER-des
    
  2. Ve službě Key Vault vytvořte službu Key Vault a klíč:
    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)
    

Vytvoření sady azure Disk Encryption

Sada azure Disk Encryption Se používá jako referenční bod pro disky v clusterech Azure Red Hat OpenShift. Je připojený ke službě Azure Key Vault, kterou jste vytvořili v předchozím kroku, a načítá klíče spravované zákazníkem z daného umístění.

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)

Udělení oprávnění pro sadu šifrování disků pro přístup ke službě Key Vault

Použijte sadu šifrování disků, kterou jste vytvořili v předchozím kroku, a udělte oprávnění pro sadu šifrování disků pro přístup ke službě Azure Key Vault a používání služby Azure Key Vault.

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

Vytvoření clusteru Azure Red Hat OpenShift

Vytvořte cluster Azure Red Hat OpenShift pro použití klíčů spravovaných zákazníkem.

Poznámka:

Povolení cmk v existujících clusterech ARO je možné jenom pro pracovní uzly, ne pro hlavní uzly. Toho můžete dosáhnout pomocí rozhraní MACHINE-API prostřednictvím CRS sady počítačů. Další informace najdete v tématu Povolení šifrovacích klíčů spravovaných zákazníkem pro sadu počítačů a úpravu sady výpočetních počítačů.

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

Po vytvoření clusteru Azure Red Hat OpenShift se všechny virtuální počítače šifrují šifrovacími klíči spravovanými zákazníkem.

Pokud chcete ověřit, že jste klíče nakonfigurovali správně, spusťte následující příkazy:

  1. Získejte název skupiny prostředků clusteru, ve které jsou umístěné virtuální počítače, disky a tak dále:
    CLUSTERRESOURCEGROUP=$(az aro show --resource-group $RESOURCEGROUP --name $CLUSTER --query 'clusterProfile.resourceGroupId' -o tsv | cut -d '/' -f 5)
    
  2. Zkontrolujte, že disky mají připojenou správnou sadu šifrování disků:
    az disk list -g $CLUSTERRESOURCEGROUP --query '[].encryption'
    
    Pole diskEncryptionSetId ve výstupu musí odkazovat na sadu šifrování disku, kterou jste zadali při vytváření clusteru Azure Red Hat OpenShift.