Besturingssysteemschijven versleutelen met een door de klant beheerde sleutel in Azure Red Hat OpenShift
Standaard zijn de besturingssysteemschijven van de virtuele machines in een Azure Red Hat OpenShift-cluster versleuteld met automatisch gegenereerde sleutels die worden beheerd door Microsoft Azure. Voor extra beveiliging kunnen klanten de besturingssysteemschijven versleutelen met zelfbeheerde sleutels bij het implementeren van een Azure Red Hat OpenShift-cluster. Met deze functie kunt u meer controle over het versleutelen van vertrouwelijke gegevens met door de klant beheerde sleutels (CMK).
Clusters die zijn gemaakt met door de klant beheerde sleutels, hebben een standaardopslagklasse ingeschakeld met hun sleutels. Daarom worden zowel besturingssysteemschijven als gegevensschijven versleuteld door deze sleutels. De door de klant beheerde sleutels worden opgeslagen in Azure Key Vault.
Zie De serverversleuteling van Azure Disk Storage in de Microsoft Azure-documentatie voor meer informatie over het gebruik van Azure Key Vault voor het maken en onderhouden van sleutels.
Met versleuteling op basis van een host worden de gegevens die zijn opgeslagen op de VM-host van uw Azure Red Hat OpenShift-agentknooppunten versleuteld en worden ze versleuteld naar de Storage-service. Hostbasisversleuteling betekent dat de tijdelijke schijven in rust worden versleuteld met door het platform beheerde sleutels.
De cache van besturingssysteem- en gegevensschijven wordt in rust versleuteld met door het platform beheerde sleutels of door de klant beheerde sleutels, afhankelijk van het versleutelingstype dat op deze schijven is ingesteld. Wanneer u Azure Red Hat OpenShift gebruikt, worden besturingssysteem- en gegevensschijven standaard versleuteld met door het platform beheerde sleutels, wat betekent dat de caches voor deze schijven ook standaard worden versleuteld met door platform beheerde sleutels.
U kunt uw eigen beheerde sleutels opgeven volgens de onderstaande versleutelingsstappen. De cache voor deze schijven wordt ook versleuteld met behulp van de sleutel die u in deze stap opgeeft.
Beperking
Het is de verantwoordelijkheid van klanten om de Key Vault- en Schijfversleutelingsset in Azure te onderhouden. Als de sleutels niet worden onderhouden, worden azure Red Hat OpenShift-clusters verbroken. De VM's werken niet meer en daardoor werkt het hele Azure Red Hat OpenShift-cluster niet meer.
Het Azure Red Hat OpenShift Engineering-team heeft geen toegang tot de sleutels. Daarom kunnen ze geen back-ups maken, repliceren of de sleutels ophalen.
Zie Voor meer informatie over het gebruik van Schijfversleutelingssets voor het beheren van uw versleutelingssleutels de versleutelingssleutels aan de serverzijde van Azure Disk Storage in de Microsoft Azure-documentatie.
Vereisten
Controleer uw machtigingen. U moet machtigingen voor inzender en beheerder voor gebruikerstoegang of eigenaarsmachtigingen hebben.
Als u meerdere Azure-abonnementen hebt, registreert u de resourceproviders. Zie De resourceproviders registreren voor registratiegegevens.
Voor uw abonnement moet de functie EncryptionAtHost zijn ingeschakeld. U kunt dit inschakelen door het volgende uit te voeren:
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
U kunt de huidige status van de functie controleren door het volgende uit te voeren:
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
Een virtueel netwerk met twee lege subnetten maken
Maak een virtueel netwerk met twee lege subnetten. Als u een bestaand virtueel netwerk hebt dat aan uw behoeften voldoet, kunt u deze stap overslaan. Zie Een virtueel netwerk met twee lege subnetten maken om de procedure voor het maken van een virtueel netwerk te bekijken.
Een Azure Key Vault-exemplaar maken
U moet een Azure Key Vault-exemplaar gebruiken om uw sleutels op te slaan. Maak een nieuwe Sleutelkluis waarvoor opschoningsbeveiliging is ingeschakeld. Maak vervolgens een nieuwe sleutel in de Sleutelkluis om uw eigen aangepaste sleutel op te slaan.
- Meer omgevingsmachtigingen instellen:
export KEYVAULT_NAME=$USER-enckv export KEYVAULT_KEY_NAME=$USER-key export DISK_ENCRYPTION_SET_NAME=$USER-des
- Maak een sleutelkluis en een sleutel in de Sleutelkluis:
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)
Een Azure Disk Encryption-set maken
De Azure Disk Encryption Set wordt gebruikt als referentiepunt voor schijven in Azure Red Hat OpenShift-clusters. Deze is verbonden met de Azure Key Vault die u in de vorige stap hebt gemaakt en haalt de door de klant beheerde sleutels op vanaf die locatie.
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)
Machtigingen verlenen voor de Schijfversleutelingsset voor toegang tot de Sleutelkluis
Gebruik de schijfversleutelingsset die u in de vorige stap hebt gemaakt en versleutelingsset voor schijfversleuteling om toegang te krijgen tot de Azure Key Vault en deze te gebruiken.
az keyvault set-policy -n $KEYVAULT_NAME \
-g $RESOURCEGROUP \
--object-id $DES_IDENTITY \
--key-permissions wrapkey unwrapkey get
Een Azure Red Hat OpenShift-cluster maken
Maak een Azure Red Hat OpenShift-cluster om de door de klant beheerde sleutels te gebruiken.
Notitie
Het inschakelen van CMK op bestaande ARO-clusters is alleen mogelijk voor werkknooppunten, niet voor hoofdknooppunten. U kunt dit bereiken met behulp van machine-API via MACHINESET-CR's. Zie Door de klant beheerde versleutelingssleutels inschakelen voor een computerset en het wijzigen van een rekencomputerset voor meer informatie.
az aro create --resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--disk-encryption-set $DES_ID
Nadat u het Azure Red Hat OpenShift-cluster hebt gemaakt, worden alle VM's versleuteld met de door de klant beheerde versleutelingssleutels.
Voer de volgende opdrachten uit om te controleren of u de sleutels correct hebt geconfigureerd:
- Haal de naam op van de clusterresourcegroep waar de cluster-VM's, schijven enzovoort zich bevinden:
CLUSTERRESOURCEGROUP=$(az aro show --resource-group $RESOURCEGROUP --name $CLUSTER --query 'clusterProfile.resourceGroupId' -o tsv | cut -d '/' -f 5)
- Controleer of aan de schijven de juiste schijfversleutelingsset is gekoppeld:
Het veldaz disk list -g $CLUSTERRESOURCEGROUP --query '[].encryption'
diskEncryptionSetId
in de uitvoer moet verwijzen naar de schijfversleutelingsset die u hebt opgegeven tijdens het maken van het Azure Red Hat OpenShift-cluster.