Sdílet prostřednictvím


Použití Azure CLI k povolení šifrování na straně serveru s využitím klíčů spravovaných zákazníkem pro spravované disky

Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ Virtuální počítače s Windows ✔️ Flexibilní škálovací sady ✔️ Uniformní škálovací sady

Azure Disk Storage umožňuje spravovat vlastní klíče při použití šifrování na straně serveru (SSE) pro spravované disky, pokud se rozhodnete. Koncepční informace o službě SSE s klíči spravovanými zákazníkem a dalších typech šifrování spravovaných disků najdete v části Klíče spravované zákazníkem v našem článku o šifrování disků.

Omezení

Klíče spravované zákazníkem mají prozatím následující omezení:

  • Pokud je tato funkce povolená pro disk s přírůstkovými snímky, není možné ji na tomto disku ani jeho snímky zakázat. Pokud chcete tento problém obejít, zkopírujte všechna data na zcela jiný spravovaný disk, který nepoužívá klíče spravované zákazníkem. Můžete to udělat pomocí Azure CLI nebo modulu Azure PowerShellu.
  • Disk a všechny přidružené přírůstkové snímky musí mít stejnou sadu šifrování disku.
  • Podporují se pouze softwarové a HSM klíče RSA o velikosti 2 048 bitů, 3 072 bitů a 4 096 bitů, žádné jiné klíče ani velikosti.
    • Klíče HSM vyžadují úroveň Premium trezorů klíčů Azure.
  • Pouze pro disky Úrovně Ultra a disky SSD úrovně Premium v2:
    • (Preview) Spravované identity přiřazené uživatelem jsou k dispozici pro Ultra Disks a Premium SSD v2 disky šifrované pomocí klíčů spravovaných zákazníkem.
    • (Preview) Ultra disky a Premium SSD v2 disky můžete šifrovat klíči spravovanými zákazníkem, které jsou uložené v Azure Key Vault a umístěné v jiném tenantovi Microsoft Entra ID.
  • Většina prostředků souvisejících s klíči spravovanými zákazníkem (sady šifrování disků, virtuální počítače, disky a snímky) musí být ve stejném předplatném a oblasti.
    • Služby Azure Key Vault se můžou používat z jiného předplatného, ale musí být ve stejné oblasti jako vaše sada šifrování disků. Ve verzi Preview můžete používat služby Azure Key Vault z různých tenantů Microsoft Entra.
  • Disky šifrované pomocí klíčů spravovaných zákazníkem se můžou přesunout jenom do jiné skupiny prostředků, pokud je virtuální počítač, ke kterému jsou připojeny, uvolněn ze zdrojů.
  • Disky, snímky a image šifrované pomocí klíčů spravovaných zákazníkem se mezi předplatnými nedají přesouvat.
  • Spravované disky aktuálně nebo dříve šifrované pomocí služby Azure Disk Encryption se nedají šifrovat pomocí klíčů spravovaných zákazníkem.
  • Může vytvořit až 5 000 sad šifrování disků pro každou oblast na předplatné.
  • Informace o používání klíčů spravovaných zákazníkem se sdílenými galeriemi imagí najdete v tématu Preview: Použití klíčů spravovaných zákazníkem pro šifrování imagí.

Vytvoření zdrojů

Jakmile je tato funkce povolena, budete muset nastavit DiskEncryptionSet a buď Azure Key Vault nebo Azure Key Vault Managed HSM.

Azure Key Vault

  • Nainstalujte nejnovější Azure CLI a přihlaste se k účtu Azure pomocí příkazu az login.
  • Vytvoření služby Azure Key Vault a šifrovacího klíče

Při vytváření služby Key Vault je nutné povolit ochranu před vymazáním. Ochrana před vymazáním zajistí, že odstraněný klíč nebude možné trvale odstranit, dokud nevydržuje doba uchovávání informací. Tato nastavení chrání před ztrátou dat z důvodu náhodného odstranění. Tato nastavení jsou povinná při použití služby Key Vault pro šifrování spravovaných disků.

Důležité

Nepoužívejte camel case pro označení oblasti, pokud tak učiníte, můžete mít problémy při přiřazování dalších disků k prostředku v portálu Azure.

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
  • Vytvořte sadu šifrování disku. Pokud chcete povolit automatické otáčení klíče, můžete nastavit enable-auto-key-rotation na true. Když povolíte automatickou rotaci, systém automaticky aktualizuje všechny spravované disky, snímky a obrazy odkazující na sadu šifrování disku tak, aby používaly novou verzi klíče do jedné hodiny.
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
  • Udělte prostředku DiskEncryptionSet přístup k úložišti klíčů.

Poznámka:

Vytvoření identity DiskEncryptionSet ve vašem Microsoft Entra ID může trvat několik minut. Pokud se při spuštění následujícího příkazu zobrazí chyba Typu Nejde najít objekt služby Active Directory, počkejte několik minut a zkuste to znovu.

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

Managed HSM Azure Key Vault

Případně můžete ke zpracování klíčů použít spravovaný HSM.

K tomu je nutné splnit následující požadavky:

Konfigurace

Po vytvoření spravovaného HSM a přidání oprávnění povolte ochranu před vymazáním a vytvořte šifrovací klíč.

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

Pak vytvořte DiskEncryptionSet.

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

Nakonec udělte DiskEncryptionSet přístup ke spravovanému 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

Teď, když jste tyto prostředky vytvořili a nakonfigurovali, můžete je použít k zabezpečení spravovaných disků. Následující odkazy obsahují ukázkové skripty, z nichž každý má odpovídající scénář, který můžete použít k zabezpečení spravovaných disků.

Příklady

Vytvoření virtuálního počítače pomocí image Marketplace, šifrování disků s operačním systémem a datových disků pomocí klíčů spravovaných zákazníkem

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

Šifrování existujících spravovaných disků

Vaše stávající disky nesmí být připojené ke spuštěném virtuálnímu počítači, abyste je mohli zašifrovat pomocí následujícího skriptu:

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

Vytvoření škálovací sady virtuálních počítačů pomocí image Marketplace, šifrování disků s operačním systémem a datových disků pomocí klíčů spravovaných zákazníkem

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

Vytvoření prázdného disku šifrovaného pomocí šifrování na straně serveru s klíči spravovanými zákazníkem a jeho připojení k virtuálnímu počítači

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

Změňte klíč DiskEncryptionSet, aby se klíč rotoval pro všechny prostředky odkazující na DiskEncryptionSet.


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

Zjištění stavu šifrování disku na straně serveru

az disk show -g yourResourceGroupName -n yourDiskName --query [encryption.type] -o tsv

Důležité

Klíče spravované zákazníkem spoléhají na spravované identity pro prostředky Azure, což je funkce Microsoft Entra ID. Při konfiguraci klíčů spravovaných zákazníkem je spravovaná identita automaticky přiřazena vašim prostředkům na pozadí. Pokud následně přesunete předplatné, skupinu prostředků nebo spravovaný disk z jednoho adresáře Microsoft Entra do jiného, spravovaná identita přidružená ke spravovaným diskům se nepřenese do nového tenanta, takže klíče spravované zákazníkem už nemusí fungovat. Další informace naleznete v tématu Převod předplatného mezi adresáři Microsoft Entra.

Další kroky