Použití Azure CLI k povolení šifrování na straně serveru pomocí 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í modulu Azure CLI nebo modulu Azure PowerShell.
  • 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.
  • 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.
  • 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í Azure Disk Encryption není možné š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ů

Po povolení této funkce budete muset nastavit DiskEncryptionSet a 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í az login.
  • Vytvořte Azure Key Vault a šifrovací klíč.

Při vytváření 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í Key Vault pro šifrování spravovaných disků.

Důležité

Nezadávejte region ve formátu camel case; pokud tak učiníte, můžete při přiřazování dalších disků k prostředku na portálu Azure narazit na problémy.

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:

Může trvat několik minut, než Azure vytvoří identitu vašeho DiskEncryptionSet ve vašem Microsoft Entra ID. Pokud se při spuštění následujícího příkazu zobrazí chyba Typu Nejde najít objekt služba 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

spravované 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 se 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 Microsoft Entra adresáře 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 najdete v tématu Přenos předplatného mezi adresáři Microsoft Entra.

Další kroky