Share via


Yönetilen diskler için müşteri tarafından yönetilen anahtarlarla sunucu tarafı şifrelemeyi etkinleştirmek için Azure CLI'yi kullanma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri

Azure Disk Depolama, isterseniz yönetilen diskler için sunucu tarafı şifreleme (SSE) kullanırken kendi anahtarlarınızı yönetmenize olanak tanır. Müşteri tarafından yönetilen anahtarlarla SSE ve diğer yönetilen disk şifreleme türleri hakkında kavramsal bilgi için disk şifreleme makalemizin Müşteri tarafından yönetilen anahtarlar bölümüne bakın.

Kısıtlamalar

Şimdilik müşteri tarafından yönetilen anahtarlar aşağıdaki kısıtlamalara sahiptir:

  • Bu özellik artımlı anlık görüntüleri olan bir disk için etkinleştirildiyse, bu diskte veya anlık görüntülerinde devre dışı bırakılamaz. Bu sorunu geçici olarak çözmek için tüm verileri müşteri tarafından yönetilen anahtarları kullanmayan tamamen farklı bir yönetilen diske kopyalayın. Bunu Azure CLI veya Azure PowerShell modülüyle yapabilirsiniz.
  • Yalnızca 2.048 bit, 3.072 bit ve 4.096 bit boyutlarında yazılım ve HSM RSA anahtarları desteklenir; başka anahtar veya boyut yoktur.
    • HSM anahtarları, Azure Anahtar kasalarının premium katmanını gerektirir.
  • Yalnızca Ultra Diskler ve Premium SSD v2 diskleri için:
    • Sunucu tarafı şifreleme ve müşteri tarafından yönetilen anahtarlarla şifrelenmiş disklerden oluşturulan anlık görüntüler aynı müşteri tarafından yönetilen anahtarlarla şifrelenmelidir.
    • Kullanıcı tarafından atanan yönetilen kimlikler, müşteri tarafından yönetilen anahtarlarla şifrelenmiş Ultra Diskler ve Premium SSD v2 diskleri için desteklenmez.
  • Müşteri tarafından yönetilen anahtarlarınız (disk şifreleme kümeleri, VM'ler, diskler ve anlık görüntüler) ile ilgili kaynakların çoğu aynı abonelikte ve bölgede olmalıdır.
    • Azure Key Vaults farklı bir abonelikten kullanılabilir, ancak disk şifreleme kümenizle aynı bölgede olmalıdır. Önizleme olarak, farklı Microsoft Entra kiracılarından Azure Key Vault'ları kullanabilirsiniz.
  • Müşteri tarafından yönetilen anahtarlarla şifrelenmiş diskler, yalnızca bağlı oldukları VM serbest bırakıldığında başka bir kaynak grubuna taşınabilir.
  • Müşteri tarafından yönetilen anahtarlarla şifrelenmiş diskler, anlık görüntüler ve görüntüler abonelikler arasında taşınamaz.
  • Şu anda veya daha önce Azure Disk Şifrelemesi kullanılarak şifrelenen yönetilen diskler, müşteri tarafından yönetilen anahtarlar kullanılarak şifrelenemez.
  • Abonelik başına bölge başına en fazla 5000 disk şifreleme kümesi oluşturabilir.
  • Paylaşılan görüntü galerileriyle müşteri tarafından yönetilen anahtarları kullanma hakkında bilgi için bkz . Önizleme: Görüntüleri şifrelemek için müşteri tarafından yönetilen anahtarları kullanma.

Kaynak oluşturma

Özellik etkinleştirildikten sonra bir DiskEncryptionSet ve bir Azure Key Vault veya Azure Key Vault Yönetilen HSM ayarlamanız gerekir.

Azure Key Vault

Key Vault'ı oluştururken temizleme korumasını etkinleştirmeniz gerekir. Temizleme koruması, silinen anahtarın saklama süresi atlayana kadar kalıcı olarak silinememesini sağlar. Bu ayarlar yanlışlıkla silme nedeniyle veri kaybına karşı sizi korur. Yönetilen diskleri şifrelemek için Key Vault kullanılırken bu ayarlar zorunlu hale getirilir.

Önemli

Bölgeyi büyük/küçük harfe dönüştürmeyin. Bunu yaparsanız Azure portalında kaynağa ek diskler atarken sorunlarla karşılaşabilirsiniz.

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
  • DiskEncryptionSet oluşturun. Anahtarın otomatik döndürmesini etkinleştirmek için enable-auto-key-rotation değerini true değerine eşit olarak ayarlayabilirsiniz. Otomatik döndürmeyi etkinleştirdiğinizde, sistem bir saat içinde anahtarın yeni sürümünü kullanmak için disk şifreleme kümesine başvuran tüm yönetilen diskleri, anlık görüntüleri ve görüntüleri otomatik olarak güncelleştirir.
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
  • DiskEncryptionSet kaynak erişimini anahtar kasasına verin.

Not

Azure'ın Microsoft Entra kimliğinizde DiskEncryptionSet'inizin kimliğini oluşturması birkaç dakika sürebilir. Aşağıdaki komutu çalıştırırken "Active Directory nesnesi bulunamıyor" gibi bir hata alırsanız, birkaç dakika bekleyin ve yeniden deneyin.

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 Yönetilen HSM

Alternatif olarak, anahtarlarınızı işlemek için Yönetilen HSM kullanabilirsiniz.

Bunu yapmak için aşağıdaki önkoşulları tamamlamanız gerekir:

Yapılandırma

Yönetilen HSM oluşturup izinler ekledikten sonra temizleme korumasını etkinleştirin ve bir şifreleme anahtarı oluşturun.

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

Ardından bir DiskEncryptionSet oluşturun.

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

Son olarak, Yönetilen HSM'ye DiskEncryptionSet erişimi verin.

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

Artık bu kaynakları oluşturup yapılandırdığınıza göre, yönetilen disklerinizin güvenliğini sağlamak için bunları kullanabilirsiniz. Aşağıdaki bağlantılar, yönetilen disklerinizin güvenliğini sağlamak için kullanabileceğiniz, her biri ilgili senaryoya sahip örnek betikler içerir.

Örnekler

Market görüntüsü kullanarak vm oluşturma, işletim sistemini ve veri disklerini müşteri tarafından yönetilen anahtarlarla şifreleme

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

Mevcut yönetilen diskleri şifreleme

Aşağıdaki betiği kullanarak şifrelemeniz için mevcut disklerinizin çalışan bir VM'ye bağlı olmaması gerekir:

rgName=yourResourceGroupName
diskName=yourDiskName
diskEncryptionSetName=yourDiskEncryptionSetName

az disk update -n $diskName -g $rgName --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId

Market görüntüsü kullanarak, işletim sistemini ve veri disklerini müşteri tarafından yönetilen anahtarlarla şifreleyen bir sanal makine ölçek kümesi oluşturma

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

Müşteri tarafından yönetilen anahtarlarla sunucu tarafı şifrelemesi kullanarak şifrelenmiş boş bir disk oluşturma ve vm'ye ekleme

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

DiskEncryptionSet'e başvuran tüm kaynakların anahtarını döndürmek için DiskEncryptionSet anahtarını değiştirme


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

Diskin sunucu tarafı şifreleme durumunu bulma

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

Önemli

Müşteri tarafından yönetilen anahtarlar, Microsoft Entra ID'nin bir özelliği olan Azure kaynakları için yönetilen kimlikleri kullanır. Müşteri tarafından yönetilen anahtarları yapılandırdığınızda, kapaklar altındaki kaynaklarınıza otomatik olarak bir yönetilen kimlik atanır. Daha sonra aboneliği, kaynak grubunu veya yönetilen diski bir Microsoft Entra dizininden diğerine taşırsanız, yönetilen disklerle ilişkili yönetilen kimlik yeni kiracıya aktarılmaz, bu nedenle müşteri tarafından yönetilen anahtarlar artık çalışmayabilir. Daha fazla bilgi için bkz . Microsoft Entra dizinleri arasında abonelik aktarma.

Sonraki adımlar