Erstellen und Konfigurieren eines Schlüsseltresors für Azure Disk Encryption
Gilt für: ✔️ Linux-VMs ✔️ Flexible Skalierungsgruppen
Azure Disk Encryption verwendet Azure Key Vault zum Steuern und Verwalten von Verschlüsselungsschlüsseln und Geheimnissen für die Datenträgerverschlüsselung. Weitere Informationen zu Schlüsseltresoren finden Sie unter Erste Schritte mit Azure Key Vault und Schützen eines Schlüsseltresors.
Warnung
- Wenn Sie zuvor Azure Disk Encryption mit Microsoft Entra ID zum Verschlüsseln einer VM verwendet haben, müssen Sie diese Option auch weiterhin zum Verschlüsseln Ihrer VM verwenden. Weitere Informationen finden Sie unter Erstellen und Konfigurieren eines Schlüsseltresors für Azure Disk Encryption mit Microsoft Entra ID (vorheriges Release).
Das Erstellen und Konfigurieren eines Schlüsseltresors für Azure Disk Encryption umfasst drei Schritte:
- Erstellen einer Ressourcengruppe (bei Bedarf)
- Erstellen eines Schlüsseltresors
- Festlegen von erweiterten Zugriffsrichtlinien für den Schlüsseltresor
Diese Schritte werden in den folgenden Schnellstarts veranschaulicht:
- Erstellen und Verschlüsseln einer Linux-VM mit der Azure-Befehlszeilenschnittstelle
- Erstellen und Verschlüsseln eines virtuellen Linux-Computers mit Azure PowerShell
Sie können auch einen Schlüssel für die Schlüsselverschlüsselung (Key Encryption Key, KEK) generieren oder importieren.
Hinweis
Die Schritte in diesem Artikel werden im CLI-Skript für die Voraussetzungen für Azure Disk Encryption und im PowerShell-Skript für die Voraussetzungen für Azure Disk Encryption automatisiert.
Installieren von Tools und Herstellen einer Verbindung mit Azure
Die Schritte in diesem Artikel können mit der Azure CLI, dem Azure PowerShell-Az-Modul oder dem Azure-Portal ausgeführt werden.
Während das Portal über Ihren Browser zugänglich ist, erfordern die Azure-Befehlszeilenschnittstelle und Azure PowerShell eine lokale Installation. Weitere Informationen finden Sie unter Azure Disk Encryption für Linux: Installieren von Tools.
Herstellen einer Verbindung mit Ihrem Azure-Konto
Vor der Verwendung der Azure-Befehlszeilenschnittstelle oder von Azure PowerShell müssen Sie zunächst eine Verbindung mit Ihrem Azure-Abonnement herstellen. Dies erfolgt durch Anmelden mit der Azure-Befehlszeilenschnittstelle, Anmelden mit Azure PowerShell oder Bereitstellen der Anmeldeinformationen im Azure-Portal nach Aufforderung.
az login
Connect-AzAccount
Erstellen einer Ressourcengruppe
Wenn Sie bereits über eine Ressourcengruppe verfügen, können Sie mit dem Erstellen eines Schlüsseltresors fortfahren.
Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.
Erstellen Sie eine Ressourcengruppe mit dem Azure CLI-Befehl az group create, dem Azure PowerShell-Befehl New-AzResourceGroup oder dem Azure-Portal.
Azure CLI
az group create --name "myResourceGroup" --location eastus
Azure PowerShell
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Erstellen eines Schlüsseltresors
Wenn Sie bereits über einen Schlüsseltresor verfügen, können Sie mit dem Festlegen von erweiterten Zugriffsrichtlinien für Schlüsseltresore fortfahren.
Erstellen Sie mit dem Azure CLI-Befehl az keyvault create, dem Azure PowerShell-Befehl New-AzKeyvault, dem Azure-Portal oder einer Resource Manager-Vorlage einen Schlüsseltresor.
Warnung
Um sicherzustellen, dass die Verschlüsselungsgeheimnisse die Regionsgrenzen nicht verlassen, müssen Sie einen Schlüsseltresor erstellen und verwenden, der sich in derselben Region und in demselben Mandanten wie die zu verschlüsselnden virtuellen Computer befindet.
Jeder Schlüsseltresor muss einen eindeutigen Namen haben. Ersetzen Sie in den folgenden Beispielen <your-unique-keyvault-name> durch den Namen Ihres Schlüsseltresors.
Azure CLI
Fügen Sie beim Erstellen eines Schlüsseltresors mithilfe der Azure CLI das Flag --enabled-for-disk-encryption hinzu.
az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption
Azure PowerShell
Fügen Sie beim Erstellen eines Schlüsseltresors mithilfe von Azure-PowerShell das Flag „-EnabledForDiskEncryption“ hinzu.
New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption
Resource Manager-Vorlage
Sie können auch mit der Resource Manager-Vorlage einen Schlüsseltresor erstellen.
- Klicken Sie in der Azure-Schnellstartvorlage auf In Azure bereitstellen.
- Wählen Sie Abonnement, Ressourcengruppe, Ressourcengruppenstandort, Schlüsseltresorname, Objekt-ID, rechtliche Bedingungen und Vereinbarung aus, und klicken Sie auf Kaufen.
Festlegen von erweiterten Zugriffsrichtlinien für Schlüsseltresore
Wichtig
Für neu erstellte Schlüsseltresore ist standardmäßig vorläufiges Löschen festgelegt. Wenn Sie einen bereits vorhandenen Schlüsseltresor verwenden, müssen Sie vorläufiges Löschen aktivieren. Siehe Übersicht über die Azure Key Vault-Funktion für vorläufiges Löschen.
Die Azure-Plattform benötigt Zugriff auf die Verschlüsselungsschlüssel oder geheimen Schlüssel in Ihrem Schlüsseltresor, um sie für den virtuellen Computer zur Verfügung zu stellen, damit die Volumes gestartet und entschlüsselt werden können.
Wenn Sie Ihren Schlüsseltresor nicht zum Zeitpunkt der Erstellung für Datenträgerverschlüsselung, Bereitstellung oder Vorlagenbereitstellung aktiviert haben (wie im vorherigen Schritt gezeigt), müssen Sie die erweiterten Zugriffsrichtlinien aktualisieren.
Azure CLI
Verwenden Sie az keyvault update, um die Datenträgerverschlüsselung für den Schlüsseltresor zu aktivieren.
Aktivieren von Key Vault für die Datenträgerverschlüsselung: „Enabled-for-disk-encryption“ ist erforderlich.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
Aktivieren von Key Vault für die Bereitstellung (falls erforderlich): Der Ressourcenanbieter „Microsoft.Compute“ wird aktiviert, um Geheimnisse aus diesem Schlüsseltresor abzurufen, wenn dieser Schlüsseltresor bei der Ressourcenerstellung (z. B. beim Erstellen einer VM) referenziert wird.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
Aktivieren von Key Vault für die Vorlagenbereitstellung (falls erforderlich): Der Resource Manager kann Geheimnisse aus dem Tresor abrufen.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
Azure PowerShell
Verwenden Sie das PowerShell-Cmdlet für Schlüsseltresore Set-AzKeyVaultAccessPolicy, um die Datenträgerverschlüsselung für den Schlüsseltresor zu aktivieren.
Aktivieren von Key Vault für die Datenträgerverschlüsselung: „EnabledForDiskEncryption“ ist für die Verwendung von Azure Disk Encryption erforderlich.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
Aktivieren von Key Vault für die Bereitstellung (falls erforderlich): Der Ressourcenanbieter „Microsoft.Compute“ wird aktiviert, um Geheimnisse aus diesem Schlüsseltresor abzurufen, wenn dieser Schlüsseltresor bei der Ressourcenerstellung (z. B. beim Erstellen einer VM) referenziert wird.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
Aktivieren von Key Vault für die Vorlagenbereitstellung (falls erforderlich): Azure Resource Manager kann aus diesem Schlüsseltresor Geheimnisse abrufen, wenn dieser Schlüsseltresor in einer Vorlagenbereitstellung referenziert wird.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
Azure-Portal
Wählen Sie Ihren Schlüsseltresor aus, und wechseln Sie zu Zugriffsrichtlinien.
Aktivieren Sie unter „Zugriff ermöglichen auf“ das Kontrollkästchen Azure Disk Encryption für Volumeverschlüsselung.
Wählen Sie ggf. Azure Virtual Machines für Bereitstellung und/oder Azure Resource Manager für Vorlagenbereitstellung aus.
Klicken Sie auf Speichern.
Azure Disk Encryption and automatische Rotation
In Azure Key Vault ist jetzt zwar eine automatische Schlüsselrotation verfügbar, diese ist jedoch derzeit nicht mit Azure Disk Encryption kompatibel. Insbesondere verwendet Azure Disk Encryption weiterhin den ursprünglichen Verschlüsselungsschlüssel, auch nachdem er automatisch rotiert wurde.
Beim Rotieren eines Verschlüsselungsschlüssels tritt kein Fehler in Azure Disk Encryption auf, beim Deaktivieren des „alten“ Verschlüsselungsschlüssels (d. h. des Schlüssels, der noch von Azure Disk Encryption verwendet wird) jedoch schon.
Einrichten eines Schlüssels zur Schlüsselverschlüsselung (Key Encryption Key, KEK)
Wichtig
Das Konto, das zum Aktivieren der Datenträgerverschlüsselung über den Schlüsseltresor ausgeführt wird, muss über Leseberechtigungen verfügen.
Wenn Sie Verschlüsselungsschlüssel mit einem Schlüssel für die Schlüsselverschlüsselung zusätzlich schützen möchten, fügen Sie Ihrem Schlüsseltresor einen Schlüsselverschlüsselungsschlüssel hinzu. Wenn ein Schlüsselverschlüsselungsschlüssel angegeben wird, verwendet Azure Disk Encryption diesen, um Verschlüsselungsgeheimnisse vor dem Schreiben in Key Vault zu umschließen.
Sie können einen neuen KEK mit dem Azure CLI-Befehl az keyvault key create
, dem Azure PowerShell-Cmdlet Add-AzKeyVaultKey oder dem Azure-Portal generieren. Sie müssen einen Schlüssel des Typs RSA generieren, da Azure Disk Encryption derzeit keine Elliptic Curve-Schlüssel unterstützt.
Sie können den KEK auch aus Ihrem lokalen Hardwaresicherheitsmodul (HSM) für die Schlüsselverwaltung importieren. Weitere Informationen finden Sie in der Key Vault-Dokumentation.
Ihre URLs für den KEK müssen mit einer Versionsangabe versehen sein. Azure erzwingt diese Einschränkung der Versionsverwaltung. Gültige URLs für Geheimnisse und KEKs finden Sie in den folgenden Beispielen:
- Beispiel für eine gültige Geheimnis-URL: https://contosovault.vault.azure.net/secrets/EncryptionSecretWithKek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Beispiel für eine gültige KEK-URL: https://contosovault.vault.azure.net/keys/diskencryptionkek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Azure CLI
Generieren Sie mit dem Azure CLI-Befehl az keyvault key create
einen neuen KEK, und speichern Sie ihn in Ihrem Schlüsseltresor.
az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096
Sie können stattdessen auch einen privaten Schlüssel mithilfe des Befehls az keyvault key import in der Azure-Befehlszeilenschnittstelle importieren:
In beiden Fällen geben Sie den Namen des KEK im Parameter --key-encryption-key für den Azure CLI-Befehl az vm encryption enable
an.
az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"
Azure PowerShell
Generieren Sie mit dem Azure PowerShell-Cmdlet Add-AzKeyVaultKey einen neuen KEK, und speichern Sie ihn in Ihrem Schlüsseltresor.
Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096
Sie können stattdessen auch einen privaten Schlüssel mithilfe des Azure PowerShell-Befehls az keyvault key import
importieren.
In beiden Fällen geben Sie die ID Ihres KEK-Schlüsseltresors und die URL Ihres KEK in den Parametern „-KeyEncryptionKeyVaultId“ und „-KeyEncryptionKeyUrl“ des Azure PowerShell-Befehls Set-AzVMDiskEncryptionExtension an. In diesem Beispiel wird davon ausgegangen, dass Sie für den Datenträger-Verschlüsselungsschlüssel und den KEK denselben Schlüsseltresor verwenden.
$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
Nächste Schritte
- CLI-Skript für die Voraussetzungen für Azure Disk Encryption
- PowerShell-Skript für die Voraussetzungen für Azure Disk Encryption
- Befassen Sie sich mit Azure Disk Encryption-Szenarien auf Linux-VMs.
- Erfahren Sie, wie Sie Probleme mit Azure Disk Encryption behandeln.
- Lesen Sie die Azure Disk Encryption-Beispielskripts.