Freigeben über


Verwenden des Azure CLI zum Aktivieren der serverseitigen Verschlüsselung mit vom Kunden verwalteten Schlüsseln für verwaltete Datenträger

Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen ✔️ Uniforme Skalierungsgruppen

mit Azure Disk Storage können Sie ihre eigenen Schlüssel verwalten, wenn Sie serverseitige Verschlüsselung (SSE) für verwaltete Datenträger verwenden, wenn Sie dies auswählen. 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. Dazu können Sie entweder die Azure CLI oder das modul Azure PowerShell verwenden.
  • 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 mit den Größen 2.048 Bit, 3.072 Bit und 4.096 Bit unterstützt, keine anderen Schlüssel oder Größen.
    • HSM-Schlüssel erfordern die Premium-Ebene der Azure-Schlüsseltresore.
  • Nur für Ultra-Datenträger und Premium SSD v2-Datenträger:
    • (Vorschau) Vom Benutzer zugewiesene verwaltete Identitäten sind für Ultra Disks und Premium SSD v2-Datenträger verfügbar, die mit vom Kunden verwalteten Schlüsseln verschlüsselt sind.
  • 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.
  • Datenträger, die mit vom Kunden verwalteten Schlüsseln verschlüsselt sind, können nur zu einer anderen Ressourcengruppe wechseln, wenn der virtuelle Computer, dem sie zugeordnet sind, freigegeben ist.
  • Mit kundenseitig verwalteten Schlüsseln verschlüsselte Datenträger, Momentaufnahmen und Images können nicht zwischen Abonnements verschoben werden.
  • Verwaltete Datenträger, die derzeit oder zuvor mit Azure Disk Encryption verschlüsselt wurden, können nicht mit vom Kunden 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

Sobald das Feature aktiviert ist, müssen Sie ein DiskEncryptionSet und entweder ein Azure Key Vault oder ein Azure Key Vault Managed HSM einrichten.

Azure Key Vault

  • Installieren Sie die neuesten Azure CLI, und melden Sie sich bei einem Azure Konto mit az login an.
  • Erstellen Sie einen Azure Key Vault- und Verschlüsselungsschlüssel.

Beim Erstellen der Key Vault müssen Sie den Löschschutz aktivieren. Der Löschschutz stellt sicher, dass ein gelöschter Schlüssel erst endgültig gelöscht werden kann, wenn der Aufbewahrungszeitraum abgelaufen ist. Diese Einstellungen schützen Sie vor dem Verlust von Daten durch versehentliches Löschen. Diese Einstellungen sind obligatorisch, wenn Sie eine Key Vault zum Verschlüsseln von verwalteten Datenträgern verwenden.

Wichtig

Verwenden Sie kein CamelCase für die Region. Andernfalls kann es beim Zuweisen zusätzlicher Datenträger zur Ressource im Azure-Portal zu Problemen kommen.

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 die Automatische Schlüsseldrehung auf "true " festlegen, um die automatische Drehung des Schlüssels zu aktivieren. Wenn Sie die automatische Rotation aktivieren, aktualisiert das System automatisch alle verwalteten Datenträger, Momentaufnahmen und Images, die auf den Datenträgerverschlüsselungssatz verweisen, sodass die neue Version des Schlüssels innerhalb einer Stunde 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 Ihres DiskEncryptionSets in Ihrer Microsoft Entra ID erstellt. Wenn beim Ausführen des folgenden Befehls eine Fehlermeldung wie "Das Active Directory Objekt nicht gefunden" angezeigt wird, 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

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:

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

diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az disk update -n $diskName -g $rgName --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId

Erstellen Sie eine virtuelle Maschine-Skalierungsgruppe mit einem Marketplace-Image, und verschlüsseln Sie die Betriebssystem- und Datendatenträger 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

Vom Kunden verwaltete Schlüssel basieren auf verwalteten Identitäten für Azure Ressourcen, ein 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 verschieben, wird die verwaltete Identität, die den verwalteten Datenträgern zugeordnet ist, nicht an den neuen Mandanten übertragen, sodass vom Kunden verwaltete Schlüssel möglicherweise nicht mehr funktionieren. Weitere Informationen finden Sie unter Transferieren eines Abonnements zwischen Microsoft Entra Verzeichnissen.

Nächste Schritte