Verwenden der Azure CLI zum Aktivieren der serverseitigen Verschlüsselung mit kundenseitig verwalteten Schlüsseln für verwaltete Datenträger
Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen ✔️ Einheitliche Skalierungsgruppen
Mit Azure Disk Storage können Sie Ihre eigenen Schlüssel verwalten, wenn Sie die serverseitige Verschlüsselung (Server Side Encryption, SSE) für verwaltete Datenträger verwenden. Informationen zum Konzept der SSE mit kundenseitig verwalteten Schlüsseln sowie weitere Typen der Verschlüsselung von Daten auf verwalteten Datenträgern finden Sie im Abschnitt Vom Kunden verwaltete Schlüssel des Artikels zur Datenträgerverschlüsselung.
Beschränkungen
Vorerst gelten für vom Kunden verwaltete Schlüssel die folgenden Einschränkungen:
- Wenn dieses Feature für einen Datenträger mit inkrementellen Momentaufnahmen aktiviert ist, kann es auf diesem Datenträger oder seinen Momentaufnahmen nicht deaktiviert werden. Um dieses Problem zu umgehen, kopieren Sie alle Daten auf einen anderen verwalteten Datenträger ohne kundenseitig verwaltete Schlüssel. Sie können dies entweder mit der Azure CLI oder mit dem Azure PowerShell-Modul tun.
- Ein Datenträger und alle zugehörigen inkrementellen Momentaufnahmen müssen denselben Datenträgerverschlüsselungssatz aufweisen.
- Es werden ausschließlich Software- und HSM RSA-Schlüssel der Größen 2.048 Bit, 3.072 Bit und 4.096 Bit unterstützt.
- Für HSM-Schlüssel ist der Premium-Tarif von Azure Key Vault erforderlich.
- Nur für Disk Ultra- oder SSD Premium v2-Datenträger:
- Datenträger, die von Momentaufnahmen erstellt werden, die mit serverseitiger Verschlüsselung und kundenseitig verwalteten Schlüsseln verschlüsselt wurden, müssen mit demselben Datenträgerverschlüsselungssatz verschlüsselt werden.
- Benutzerseitig zugewiesene verwaltete Identitäten werden für Disk Ultra- und SSD Premium v2-Datenträger, die mit kundenseitig verwalteten Schlüsseln verschlüsselt sind, nicht unterstützt.
- Das Verschlüsseln von Ultra Disks und Premium SSD V2-Datenträgern mit kundenseitig verwalteten Schlüsseln mithilfe von Azure Key Vaults, die in einem anderen Microsoft Entra ID-Mandanten gespeichert sind, wird derzeit nicht unterstützt.
- Die meisten Ressourcen, die sich auf Ihre vom Kunden verwalteten Schlüssel (Datenträgerverschlüsselungssätze, VMs, Datenträger und Momentaufnahmen) beziehen, müssen sich im selben Abonnement und in derselben Region befinden.
- Azure Key Vault-Instanzen können aus einem anderen Abonnement verwendet werden, müssen sich aber in derselben Region wie Ihr Datenträgerverschlüsselungssatz befinden. Als Vorschau können Sie Azure Key Vaults in verschiedenen Microsoft Entra-Mandanten verwenden.
- Datenträger, die mit kundenseitig verwalteten Schlüsseln verschlüsselt sind, können nur in eine andere Ressourcengruppe verschoben werden, wenn die Zuordnung der VM, an die sie angefügt sind, aufgehoben wird.
- Mit kundenseitig verwalteten Schlüsseln verschlüsselte Datenträger, Momentaufnahmen und Images können nicht zwischen Abonnements verschoben werden.
- Verwaltete Datenträger, die vorher oder aktuell mit Azure Disk Encryption verschlüsselt wurden, können nicht mit kundenseitig verwalteten Schlüsseln verschlüsselt werden.
- Pro Region und Abonnement können nur bis zu 5.000 Datenträgerverschlüsselungssätze erstellt werden.
- Informationen über die Verwendung von kundenseitig verwalteter Schlüssel mit Shared Image Gallerys finden Sie unter Vorschau: Verwenden von kundenseitig verwalteten Schlüsseln zum Verschlüsseln von Images.
Erstellen von Ressourcen
Nach dem Aktivieren des Features müssen Sie ein DiskEncryptionSet und entweder einen Azure Key Vault oder ein per Azure Key Vault verwaltetes HSM einrichten.
Azure-Schlüsseltresor
- Installieren Sie die neueste Version der Azure CLI, und melden Sie sich mit az login bei einem Azure-Konto an.
- Erstellen einer Azure Key Vault-Instanz und eines Verschlüsselungsschlüssels.
Beim Erstellen der Key Vault-Instanz müssen Sie den Schutz vor endgültigem Löschen aktivieren. Der Schutz vor endgültigem Löschen stellt sicher, dass ein gelöschter Schlüssel erst nach Ablauf der Aufbewahrungsdauer dauerhaft gelöscht werden kann. Diese Einstellungen schützen Sie vor dem Verlust von Daten durch versehentliches Löschen. Diese Einstellungen sind obligatorisch, wenn ein Schlüsseltresor für die Verschlüsselung verwalteter Datenträger verwendet wird.
Wichtig
Verwenden Sie keine gemischte Groß-/Kleinschreibung für die Region, da ansonsten Probleme beim Zuweisen zusätzlicher Datenträger zur Ressource im Azure-Portal auftreten.
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az group create --resource-group $rgName --location $location
az keyvault create -n $keyVaultName \
-g $rgName \
-l $location \
--enable-purge-protection true
az keyvault key create --vault-name $keyVaultName \
-n $keyName \
--protection software
- Erstellen Sie ein DiskEncryptionSet (Datenträgerverschlüsselungssatz). Sie können „enable-auto-key-rotation“ auf TRUE festlegen, um die automatische Rotation des Schlüssels zu aktivieren. Wenn Sie die automatische Rotation aktivieren, aktualisiert das System innerhalb von einer Stunde automatisch alle verwalteten Datenträger, Momentaufnahmen und Images, die auf den Datenträgerverschlüsselungssatz verweisen, damit die neue Version des Schlüssels verwendet wird.
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false
- Gewähren Sie der DiskEncryptionSet-Ressource Zugriff auf den Schlüsseltresor.
Hinweis
Es kann einige Minuten dauern, bis Azure die Identität des Datenträgerverschlüsselungssatzes in Microsoft Entra ID erstellt hat. Wenn Sie bei der Ausführung des folgenden Befehls einen ähnlichen Fehler wie „Active Directory-Objekt kann nicht gefunden werden“ erhalten, warten Sie einige Minuten, und versuchen Sie es erneut.
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault set-policy -n $keyVaultName \
-g $rgName \
--object-id $desIdentity \
--key-permissions wrapkey unwrapkey get
Über Azure Key Vault verwaltetes HSM
Alternativ können Sie ein verwaltetes HSM verwenden, um Ihre Schlüssel zu verarbeiten.
Dazu müssen die folgenden Voraussetzungen erfüllt sein:
- Installieren Sie die neueste Version der Azure CLI, und melden Sie sich mit az login bei einem Azure-Konto an.
- Erstellen und Konfigurieren Sie ein verwaltetes HSM.
- Weisen Sie einem Benutzer Berechtigungen zu, damit er Ihr verwaltetes HSM verwalten kann.
Konfiguration
Nachdem Sie ein verwaltetes HSM erstellt und Berechtigungen hinzugefügt haben, aktivieren Sie den Schutz vor endgültigem Löschen, und erstellen Sie einen Verschlüsselungsschlüssel.
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az keyvault update-hsm --subscription $subscriptionId -g $rgName --hsm-name $keyVaultName --enable-purge-protection true
az keyvault key create --hsm-name $keyVaultName --name $keyName --ops wrapKey unwrapKey --kty RSA-HSM --size 2048
Erstellen Sie anschließend ein DiskEncryptionSet (Datenträgerverschlüsselungssatz).
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false
Erteilen Sie dem DiskEncryptionSet schließlich Zugriff auf das verwaltete HSM.
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault role assignment create --hsm-name $keyVaultName --role "Managed HSM Crypto Service Encryption User" --assignee $desIdentity --scope /keys
Nachdem Sie diese Ressourcen erstellt und konfiguriert haben, können Sie diese zum Sichern Ihrer verwalteten Datenträger verwenden. Der folgende Link enthält Beispielskripts mit jeweils einem entsprechenden Szenario, die Sie zum Sichern Ihrer verwalteten Datenträger verwenden können.
Beispiele
Erstellen einer VM mit einem Marketplace-Image, Verschlüsseln der Datenträger für Betriebssystem und Daten mit vom Kunden verwalteten Schlüsseln
rgName=yourResourceGroupName
vmName=yourVMName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vm create -g $rgName -n $vmName -l $location --image $image --size $vmSize --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 128 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Verschlüsseln vorhandener verwalteter Datenträger
Die vorhandenen Datenträger dürfen nicht an einen laufenden virtuellen Computer angefügt werden, damit Sie sie mithilfe des folgenden Skripts verschlüsseln können:
rgName=yourResourceGroupName
diskName=yourDiskName
diskEncryptionSetName=yourDiskEncryptionSetName
az disk update -n $diskName -g $rgName --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId
Erstellen einer VM-Skalierungsgruppe mit einem Marketplace-Image, Verschlüsseln der Datenträger für Betriebssystem und Daten mit vom Kunden verwalteten Schlüsseln
rgName=yourResourceGroupName
vmssName=yourVMSSName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vmss create -g $rgName -n $vmssName --image $image --upgrade-policy automatic --admin-username azureuser --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 64 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Erstellen eines leeren Datenträgers, der mit serverseitiger Verschlüsselung und vom Kunden verwalteten Schlüsseln verschlüsselt wird, und Anfügen an eine VM
vmName=yourVMName
rgName=yourResourceGroupName
diskName=yourDiskName
diskSkuName=Premium_LRS
diskSizeinGiB=30
location=westcentralus
diskLUN=2
diskEncryptionSetName=yourDiskEncryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az disk create -n $diskName -g $rgName -l $location --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId --size-gb $diskSizeinGiB --sku $diskSkuName
diskId=$(az disk show -n $diskName -g $rgName --query [id] -o tsv)
az vm disk attach --vm-name $vmName --lun $diskLUN --ids $diskId
Ändern des Schlüssels eines DiskEncryptionSet, um den Schlüssel für alle Ressourcen, die auf das DiskEncryptionSet verweisen, zu rotieren
rgName=yourResourceGroupName
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
keyVaultId=$(az keyvault show --name $keyVaultName--query [id] -o tsv)
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set update -n keyrotationdes -g keyrotationtesting --key-url $keyVaultKeyUrl --source-vault $keyVaultId
Ermitteln des Status der serverseitigen Verschlüsselung eines Datenträgers
az disk show -g yourResourceGroupName -n yourDiskName --query [encryption.type] -o tsv
Wichtig
Kundenseitig verwaltete Schlüssel basieren auf den verwalteten Identitäten von Azure-Ressourcen, einem Feature von Microsoft Entra ID. Wenn Sie vom Kunden verwaltete Schlüssel konfigurieren, wird Ihren Ressourcen im Hintergrund automatisch eine verwaltete Identität zugewiesen. Wenn Sie anschließend das Abonnement, die Ressourcengruppe oder den verwalteten Datenträger von einem Microsoft Entra-Verzeichnis in ein anderes Verzeichnis verschieben, wird die den verwalteten Datenträgern zugeordnete verwaltete Identität nicht an den neuen Mandanten übertragen, sodass kundenseitig verwaltete Schlüssel möglicherweise nicht mehr funktionieren. Weitere Informationen finden Sie unter Übertragen eines Abonnements zwischen Microsoft Entra-Verzeichnissen.
Nächste Schritte
- Untersuchen der Azure Resource Manager-Vorlagen zum Erstellen verschlüsselter Datenträger mit vom Kunden verwalteten Schlüsseln
- Replizieren von Computern mit Datenträgern, die für kundenseitig verwaltete Schlüssel aktiviert sind
- Einrichten der Notfallwiederherstellung von virtuellen VMware-Computern in Azure mithilfe von PowerShell
- Einrichten der Notfallwiederherstellung in Azure für Hyper-V-VMs mithilfe von PowerShell und Azure Resource Manager
- Ein Codebeispiel finden Sie unter Erstellen eines verwalteten Datenträgers aus einer Momentaufnahme mit CLI.