Konakta şifreleme kullanarak uçtan uca şifrelemeyi etkinleştirmek için Azure CLI kullanma
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Konakta şifrelemeyi etkinleştirdiğinizde, VM ana bilgisayarında depolanan veriler bekleme durumunda şifrelenir ve Depolama hizmetine akışlar şifrelenir. Konakta şifreleme ve diğer yönetilen disk şifreleme türleri hakkında kavramsal bilgi için bkz . Konakta şifreleme - VM verileriniz için uçtan uca şifreleme.
Kısıtlamalar
- 4k kesim boyutu Ultra Diskler ve Premium SSD v2 için desteklenir.
- Yalnızca 13.05.2023'te oluşturulduklarında 512e kesim boyutu Ultra Diskler ve Premium SSD v2'de desteklenir.
- Bu tarihten önce oluşturulan diskler için, diskinizin anlık görüntüsünü oluşturun ve anlık görüntüyü kullanarak yeni bir disk oluşturun.
- Şu anda veya Azure Disk Şifrelemesi etkin olan sanal makinelerde (VM) veya sanal makine ölçek kümelerinde etkinleştirilemiyor.
- Azure Disk Şifrelemesi, konakta şifreleme etkinleştirilmiş disklerde etkinleştirilemiyor.
- Şifreleme mevcut sanal makine ölçek kümelerinde etkinleştirilebilir. Ancak, yalnızca şifreleme etkinleştirildikten sonra oluşturulan yeni VM'ler otomatik olarak şifrelenir.
- Mevcut VM'lerin şifrelenmesi için serbest bırakılması ve yeniden ayrılmaları gerekir.
Desteklenen VM boyutları
Desteklenen VM boyutlarının tam listesi program aracılığıyla çekilebilir. Bunları program aracılığıyla nasıl alacağınızı öğrenmek için Desteklenen VM boyutlarını bulma bölümüne bakın. VM boyutunun yükseltilmesi, yeni VM boyutunun EncryptionAtHost özelliğini desteklenip desteklemediğini denetlemek için doğrulamaya neden olur.
Önkoşullar
VM/VMSS'niz için EncryptionAtHost özelliğini kullanmadan önce aboneliğiniz için özelliği etkinleştirmeniz gerekir. Aboneliğiniz için özelliği etkinleştirmek için aşağıdaki adımları kullanın:
- Özelliği aboneliğinize kaydetmek için aşağıdaki komutu yürütebilirsiniz
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
- Özelliği denemeden önce aşağıdaki komutu kullanarak kayıt durumunun Kayıtlı (birkaç dakika sürer) olup olmadığını denetleyin.
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
Kaynak oluşturma
Not
Bu bölüm yalnızca müşteri tarafından yönetilen anahtarlara sahip yapılandırmalar için geçerlidir. Platform tarafından yönetilen anahtarlar kullanıyorsanız Örnek betikler bölümüne atlayabilirsiniz.
Özellik etkinleştirildikten sonra bir DiskEncryptionSet ve bir Azure Key Vault veya Azure Key Vault Yönetilen HSM ayarlamanız gerekir.
Azure Key Vault
- En son Azure CLI'yi yükleyin ve az login ile bir Azure hesabında oturum açın.
- Azure Key Vault ve şifreleme anahtarı oluşturun.
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:
- En son Azure CLI'yi yükleyin ve az login ile bir Azure hesabında oturum açın.
- Yönetilen bir HSM oluşturun ve yapılandırın.
- Yönetilen HSM'nizi yönetebilmesi için kullanıcıya izinler atayın.
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
Örnek betikler
Müşteri tarafından yönetilen anahtarlarla etkinleştirilmiş konakta şifrelemeye sahip bir VM oluşturma
Müşteri tarafından yönetilen anahtarlarla işletim sistemi ve veri disklerinin önbelleğini şifrelemek için daha önce oluşturulan DiskEncryptionSet kaynak URI'sini kullanarak yönetilen disklerle bir VM oluşturun. Geçici diskler platform tarafından yönetilen anahtarlarla şifrelenir.
rgName=yourRGName
vmName=yourVMName
location=eastus
vmSize=Standard_DS2_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 \
--encryption-at-host \
--image $image \
--size $vmSize \
--generate-ssh-keys \
--os-disk-encryption-set $diskEncryptionSetId \
--data-disk-sizes-gb 128 128 \
--data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Platform tarafından yönetilen anahtarlarla etkinleştirilmiş konakta şifrelemeye sahip bir VM oluşturma
İşletim sistemi/veri disklerinin ve geçici disklerin önbelleğini platform tarafından yönetilen anahtarlarla şifrelemek için konakta şifreleme özelliği etkinleştirilmiş bir VM oluşturun.
rgName=yourRGName
vmName=yourVMName
location=eastus
vmSize=Standard_DS2_v2
image=LinuxImageURN
az vm create -g $rgName \
-n $vmName \
-l $location \
--encryption-at-host \
--image $image \
--size $vmSize \
--generate-ssh-keys \
--data-disk-sizes-gb 128 128 \
Konakta şifrelemeyi etkinleştirmek için VM'yi güncelleştirme
rgName=yourRGName
vmName=yourVMName
az vm update -n $vmName \
-g $rgName \
--set securityProfile.encryptionAtHost=true
Vm için konakta şifreleme durumunu denetleme
rgName=yourRGName
vmName=yourVMName
az vm show -n $vmName \
-g $rgName \
--query [securityProfile.encryptionAtHost] -o tsv
Konakta şifrelemeyi devre dışı bırakmak için VM'yi güncelleştirme
Konakta şifrelemeyi devre dışı bırakmadan önce VM'nizi serbest bırakmanız gerekir.
rgName=yourRGName
vmName=yourVMName
az vm update -n $vmName \
-g $rgName \
--set securityProfile.encryptionAtHost=false
Müşteri tarafından yönetilen anahtarlarla etkinleştirilmiş konakta şifreleme ile bir Sanal Makine Ölçek Kümesi oluşturma
Müşteri tarafından yönetilen anahtarlarla işletim sistemi ve veri disklerinin önbelleğini şifrelemek için daha önce oluşturulan DiskEncryptionSet kaynak URI'sini kullanarak yönetilen disklerle bir Sanal Makine Ölçek Kümesi oluşturun. Geçici diskler platform tarafından yönetilen anahtarlarla şifrelenir.
Önemli
Kasım 2023'den itibaren, düzenleme modu belirtilmezse PowerShell ve Azure CLI kullanılarak oluşturulan VM ölçek kümeleri varsayılan olarak Esnek Düzenleme Modu olarak ayarlanır. Bu değişiklik ve gerçekleştirmeniz gereken eylemler hakkında daha fazla bilgi için BKZ. VMSS PowerShell/CLI Müşterileri için Yeni Değişiklik - Microsoft Community Hub
rgName=yourRGName
vmssName=yourVMSSName
location=westus2
vmSize=Standard_DS3_V2
image=Ubuntu2204
diskEncryptionSetName=yourDiskEncryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vmss create -g $rgName \
-n $vmssName \
--encryption-at-host \
--image $image \
--orchestration-mode flexible \
--admin-username azureuser \
--generate-ssh-keys \
--os-disk-encryption-set $diskEncryptionSetId \
--data-disk-sizes-gb 64 128 \
--data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Platform tarafından yönetilen anahtarlarla etkinleştirilmiş konakta şifreleme ile bir Sanal Makine Ölçek Kümesi oluşturma
İşletim sistemi/veri disklerinin ve geçici disklerin önbelleğini platform tarafından yönetilen anahtarlarla şifrelemek için konakta şifreleme etkinleştirilmiş bir Sanal Makine Ölçek Kümesi oluşturun.
Önemli
Kasım 2023'den itibaren, düzenleme modu belirtilmezse PowerShell ve Azure CLI kullanılarak oluşturulan VM ölçek kümeleri varsayılan olarak Esnek Düzenleme Modu olarak ayarlanır. Bu değişiklik ve gerçekleştirmeniz gereken eylemler hakkında daha fazla bilgi için BKZ. VMSS PowerShell/CLI Müşterileri için Yeni Değişiklik - Microsoft Community Hub
rgName=yourRGName
vmssName=yourVMSSName
location=westus2
vmSize=Standard_DS3_V2
image=Ubuntu2204
az vmss create -g $rgName \
-n $vmssName \
--encryption-at-host \
--image $image \
--orchestration-mode flexible \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 64 128 \
Konakta şifrelemeyi etkinleştirmek için sanal makine ölçek kümesini güncelleştirme
rgName=yourRGName
vmssName=yourVMName
az vmss update -n $vmssName \
-g $rgName \
--set virtualMachineProfile.securityProfile.encryptionAtHost=true
Sanal Makine Ölçek Kümesi için konakta şifreleme durumunu denetleme
rgName=yourRGName
vmssName=yourVMName
az vmss show -n $vmssName \
-g $rgName \
--query [virtualMachineProfile.securityProfile.encryptionAtHost] -o tsv
Konakta şifrelemeyi devre dışı bırakmak için sanal makine ölçek kümesini güncelleştirme
Sanal Makine Ölçek Kümenizdeki konakta şifrelemeyi devre dışı bırakabilirsiniz, ancak bu yalnızca konakta şifrelemeyi devre dışı bırakıldıktan sonra oluşturulan VM'leri etkiler. Mevcut VM'ler için VM'yi serbest bırakmanız, bu vm'de konakta şifrelemeyi devre dışı bırakmanız ve ardından VM'yi yeniden dağıtmanız gerekir.
rgName=yourRGName
vmssName=yourVMName
az vmss update -n $vmssName \
-g $rgName \
--set virtualMachineProfile.securityProfile.encryptionAtHost=false
Desteklenen VM boyutlarını bulma
Eski VM Boyutları desteklenmez. Desteklenen VM boyutlarının listesini kaynak SKU API'lerini veya Azure PowerShell modülünü kullanarak bulabilirsiniz. CLI kullanarak desteklenen boyutları bulamazsınız.
Kaynak Sku'ları API'sini çağırırken, özelliğin EncryptionAtHostSupported
True olarak ayarlandığını denetleyin.
{
"resourceType": "virtualMachines",
"name": "Standard_DS1_v2",
"tier": "Standard",
"size": "DS1_v2",
"family": "standardDSv2Family",
"locations": [
"CentralUSEUAP"
],
"capabilities": [
{
"name": "EncryptionAtHostSupported",
"value": "True"
}
]
}
Azure PowerShell modülü için Get-AzComputeResourceSku cmdlet'ini kullanın.
$vmSizes=Get-AzComputeResourceSku | where{$_.ResourceType -eq 'virtualMachines' -and $_.Locations.Contains('CentralUSEUAP')}
foreach($vmSize in $vmSizes)
{
foreach($capability in $vmSize.capabilities)
{
if($capability.Name -eq 'EncryptionAtHostSupported' -and $capability.Value -eq 'true')
{
$vmSize
}
}
}
Sonraki adımlar
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ı, yönetilen disklerinizin güvenliğini sağlamak için kullanabileceğiniz, her biri ilgili senaryoya sahip örnek betikler içerir.