Een sleutelkluis voor Azure Disk Encryption maken en configureren

Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️

Azure Disk Encryption gebruikt Azure Key Vault om sleutels en geheimen voor schijfversleuteling te beheren. Zie Aan de slag met Azure Key Vault en Uw sleutelkluis beveiligen voor meer informatie over sleutelkluizen.

Waarschuwing

Een sleutelkluis maken en configureren voor gebruik met Azure Disk Encryption bestaat uit drie stappen:

  1. Een resourcegroep maken, indien nodig.
  2. Een sleutelkluis maken.
  3. Geavanceerd toegangsbeleid voor sleutelkluis instellen.

Deze stappen worden geïllustreerd in de volgende quickstarts:

U kunt eventueel ook een sleutelversleutelingssleutel genereren of importeren (KEK).

Notitie

De stappen in dit artikel zijn geautomatiseerd in het CLI-script met vereisten voor Azure Disk Encryption en het PowerShell-script voor Azure Disk Encryption.

Hulpprogramma's installeren en verbinding maken met Azure

De stappen in dit artikel kunnen worden voltooid met de Azure CLI, de Modulemodule Azure PowerShell Az PowerShell of Azure Portal.

Hoewel de portal toegankelijk is via uw browser, moeten Azure CLI en Azure PowerShell lokaal worden geïnstalleerd; zie Azure Disk Encryption voor Linux: Hulpprogramma's installeren voor meer informatie.

Verbinding maken met uw Azure-account

Voordat u de Azure CLI of Azure PowerShell gebruikt, moet u eerst verbinding maken met uw Azure-abonnement. U doet dit door u aan te melden met Azure CLI, u aan te melden met Azure PowerShellof uw referenties aan de Azure-portal op te geven wanneer u hierom wordt gevraagd.

az login
Connect-AzAccount

Een brongroep maken

Als u al een resourcegroep hebt, kunt u verdergaan naar Een sleutelkluis maken.

Een resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.

Maak een resourcegroep met behulp van de Azure CLI-opdracht az group create, de Azure PowerShell-opdracht New-AzResourceGroup of vanuit de Azure-portal.

Azure-CLI

az group create --name "myResourceGroup" --location eastus

Azure PowerShell

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Maak een sleutelkluis.

Als u al een sleutelkluis hebt, kunt u verdergaan naar Set key vault advanced access policies (Geavanceerde toegangsbeleidsregels voor sleutelkluizen instellen).

Maak een sleutelkluis met behulp van de opdracht az keyvault create Azure CLI, de Opdracht New-AzKeyvault Azure PowerShell, Azure Portal of een Resource Manager-sjabloon.

Waarschuwing

Om ervoor te zorgen dat versleutelingsgeheimen geen regionale grenzen overschrijden, moet u een sleutelkluis maken en gebruiken die zich in dezelfde regio en tenant bevindt als de VM's die moeten worden versleuteld.

Elke sleutelkluis moet een unieke naam hebben. Vervang <uw unieke sleutelkluisnaam> door de naam van uw sleutelkluis in de volgende voorbeelden.

Azure-CLI

Wanneer u een sleutelkluis maakt met behulp van de Azure CLI, voegt u de vlag '--enabled-for-disk-encryption' toe.

az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption

Azure PowerShell

Wanneer u een sleutelkluis maakt met behulp van Azure PowerShell, voegt u de vlag -EnabledForDiskEncryption toe.

New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption

Resource Manager-sjabloon

U kunt ook een sleutelkluis maken met behulp van een Resource Manager-sjabloon.

  1. Klik in de Azure-quickstartsjabloon op Implementeren in Azure.
  2. Selecteer het abonnement, de resourcegroep, de locatie van de resourcegroep, de naam van de sleutelkluis, de object-id, de juridische voorwaarden en de overeenkomst en klik vervolgens op Aankoop.

Geavanceerd toegangsbeleid voor de sleutelkluis instellen

Belangrijk

Nieuw gemaakte sleutelkluizen hebben standaard voorlopig verwijderen ingeschakeld. Als u een bestaande sleutelkluis gebruikt, moet u voorlopig verwijderen inschakelen. Zie het overzicht van voorlopig verwijderen van Azure Key Vault.

Het Azure-platform heeft toegang nodig tot de versleutelingssleutels of geheimen in uw sleutelkluis om ze beschikbaar te maken voor de VM voor het opstarten en ontsleutelen van de volumes.

Als u uw sleutelkluis niet hebt ingeschakeld voor schijfversleuteling, implementatie of sjabloonimplementatie op het moment van maken (zoals in de vorige stap is gedemonstreerd), moet u het geavanceerde toegangsbeleid bijwerken.

Azure-CLI

Gebruik az keyvault update om schijfversleuteling in te schakelen voor de sleutelkluis.

  • Key Vault inschakelen voor schijfversleuteling: Ingeschakeld voor schijfversleuteling is vereist.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
    
  • Schakel Key Vault in voor implementatie, indien nodig: hiermee kan de Microsoft.Compute-resourceprovider geheimen ophalen uit deze sleutelkluis wanneer naar deze sleutelkluis wordt verwezen bij het maken van resources, bijvoorbeeld bij het maken van een virtuele machine.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
    
  • Schakel Key Vault in voor sjabloonimplementatie, indien nodig: Sta Resource Manager toe geheimen op te halen uit de kluis.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
    

Azure PowerShell

Gebruik de PowerShell-cmdlet Set-AzKeyVaultAccessPolicy voor sleutelkluizen om schijfversleuteling in te schakelen voor de sleutelkluis.

  • Key Vault inschakelen voor schijfversleuteling: EnabledForDiskEncryption is vereist voor Azure Disk Encryption.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
    
  • Schakel Key Vault in voor implementatie, indien nodig: hiermee kan de Microsoft.Compute-resourceprovider geheimen ophalen uit deze sleutelkluis wanneer naar deze sleutelkluis wordt verwezen bij het maken van resources, bijvoorbeeld bij het maken van een virtuele machine.

     Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
    
  • Key Vault inschakelen voor sjabloonimplementatie, indien nodig: Hiermee kan Azure Resource Manager geheimen ophalen uit deze sleutelkluis wanneer naar deze sleutelkluis wordt verwezen in een sjabloonimplementatie.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
    

Azure Portal

  1. Selecteer uw sleutelkluis en ga naar Toegangsbeleid.

  2. Selecteer onder 'Toegang tot inschakelen' het vak Azure Disk Encryption voor volumeversleuteling.

  3. Selecteer azure Virtual Machines voor implementatie en/of Azure Resource Manager voor sjabloonimplementatie, indien nodig.

  4. Klik op Opslaan.

    Azure key vault advanced access policies

Azure Disk Encryption en automatische rotatie

Hoewel Azure Key Vault nu automatische rotatie van sleutels heeft, is deze momenteel niet compatibel met Azure Disk Encryption. Azure Disk Encryption blijft de oorspronkelijke versleutelingssleutel gebruiken, zelfs nadat deze automatisch is gedraaid.

Als u een versleutelingssleutel roteert, wordt Azure Disk Encryption niet verbroken, maar wordt de 'oude' versleutelingssleutel uitgeschakeld (met andere woorden, de sleutel die Azure Disk Encryption nog steeds gebruikt) wordt gebruikt.

Een Key Encryption Key (KEK) instellen

Belangrijk

Het account dat wordt uitgevoerd om schijfversleuteling via de sleutelkluis in te schakelen, moet machtigingen voor lezer hebben.

Als u een Key Encryption Key (KEK) wilt gebruiken als een extra beveiligingslaag voor versleutelingssleutels, voegt u een KEK toe aan uw sleutelkluis. Wanneer er een KEK is opgegeven, gebruikt Azure Disk Encryption die sleutel om de versleutelingsgeheimen te verpakken voordat er naar Key Vault wordt geschreven.

U kunt een nieuwe KEK genereren met behulp van de Azure CLI-opdracht az keyvault key create , de Azure PowerShell Add-AzKeyVaultKey-cmdlet of de Azure-portal. U moet een RSA-sleuteltype genereren; Azure Disk Encryption biedt momenteel geen ondersteuning voor het gebruik van Elliptic Curve-sleutels.

U kunt in plaats daarvan een KEK importeren uit uw HSM voor on-premises sleutelbeheer. Zie onze Key Vault-documentatie voor meer informatie.

De URL's voor uw sleutelkluis-KEK moeten versiebeheer hebben. Azure dwingt deze beperking van versiebeheer af. Zie de volgende voorbeelden voor geldige geheim- en KEK-URL's:

Azure-CLI

Gebruik de Azure CLI-opdracht az keyvault key create om een nieuwe KEK te genereren en op te slaan in uw sleutelkluis.

az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096

U kunt in plaats daarvan een persoonlijke sleutel importeren met behulp van de Azure CLI az keyvault key import command:

In beide gevallen geeft u de naam van uw KEK op aan de parameter Azure CLI az vm encryption enable --key-encryption-key.

az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"

Azure PowerShell

Gebruik de Azure PowerShell-cmdlet Add-AzKeyVaultKey om een nieuwe KEK te genereren en op te slaan in uw sleutelkluis.

Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096

U kunt in plaats daarvan een persoonlijke sleutel importeren met behulp van de Azure PowerShell-opdracht az keyvault key import .

In beide gevallen geeft u de id van uw KEK-sleutelkluis en de URL van uw KEK op aan de Azure PowerShell Set-AzVMDiskEncryptionExtension-parameters -KeyEncryptionKeyVaultId en -KeyEncryptionKeyUrl. In dit voorbeeld wordt ervan uitgegaan dat u dezelfde sleutelkluis gebruikt voor zowel de schijfversleutelingssleutel als de KEK.

$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup"
$KEK = Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "myKEK"

Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyUrl $KEK.Id -SkipVmBackup -VolumeType All

Volgende stappen