Aracılığıyla paylaş


Linux VM’lerde Azure Disk Şifrelemesi senaryoları

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

Linux sanal makineleri (VM) için Azure Disk Şifrelemesi, Linux’un DM-Crypt özelliğini kullanarak işletim sistemi diskini ve veri disklerini şifreler. Ayrıca EncryptFormatAll özelliğini kullanarak geçici disklerin de şifrelenmesini sağlar.

Azure Disk Şifrelemesi, disk şifreleme anahtarlarını ve gizli dizilerini denetlemenize ve yönetmenize yardımcı olmak için Azure Key Vault ile tümleşiktir. Hizmete genel bakış için bkz. Linux VM’leri için Azure Disk Şifrelemesi.

Ön koşullar

Disk şifrelemesini yalnızca desteklenen VM boyutlarına ve işletim sistemlerine sahip olan sanal makinelere uygulayabilirsiniz. Aşağıdaki önkoşulları da karşılamanız gerekir:

Her durumda, diskler şifrelenmeden önce bir anlık görüntü almanız ve/veya yedekleme oluşturmanız gerekir. Yedeklemeler, şifreleme sırasında beklenmeyen bir hata oluşması durumunda kurtarma seçeneğinin mümkün olmasını sağlar. Yönetilen disklere sahip olan sanal makinelerin şifreleme öncesinde yedeklenmesi gerekir. Yedekleme yapıldıktan sonra, -skipVmBackup parametresini belirterek yönetilen diskleri şifrelemek için Set-AzVMDiskEncryptionExtension cmdlet'ini kullanabilirsiniz. Şifrelenmiş VM'leri yedekleme ve geri yükleme hakkında daha fazla bilgi için Azure Backup makalesine bakın.

Kısıtlamalar

Vm'yi şifrelemek için daha önce Microsoft Entra ID ile Azure Disk Şifrelemesi kullandıysanız, VM'nizi şifrelemek için bu seçeneği kullanmaya devam etmeniz gerekir. Ayrıntılar için bkz. Microsoft Entra Id (önceki sürüm) ile Azure Disk Şifrelemesi.

Linux işletim sistemi birimleri şifrelenirken sanal makinenin kullanım dışı kalacağı kabul edilmelidir. Şifreleme işlemi sırasında erişilmesi gerekecek olan açık dosyaların kilitlenmesi gibi sorunlarla karşılaşmamak için şifreleme işlemi devam ederken kesinlikle SSH oturumu açılmaması önerilir. İlerleme durumunu denetlemek için Get-AzVMDiskEncryptionStatus PowerShell cmdlet'ini veya vm şifreleme show CLI komutunu kullanın. Bu işlem 30 GB boyutlarındaki bir işletim sistemi birimi için birkaç saat sürebilir. Veri birimlerinin şifrelenmesi için de ek zaman gerekir. Aynı şifreleme seçeneği kullanıldığı sürece veri birimlerinin şifrelenmesi için gereken süre birimlerin boyutu ve veri miktarıyla orantılı olacaktır.

Linux sanal makinelerinde şifrelemenin devre dışı bırakılması yalnızca veri birimleri için desteklenir. İşletim sistemi biriminin şifrelenmiş olması durumunda veri veya işletim sistemi birimleri için desteklenmez.

Azure Disk Şifrelemesi aşağıdaki Linux senaryoları, özellikleri ve teknolojileri ile çalışmaz:

  • Klasik VM oluşturma yöntemiyle oluşturulan temel katman VM'leri veya VM'leri şifreleme.
  • İşletim sistemi sürücüsü şifrelendiğinde Linux VM'sinin işletim sistemi sürücüsünde veya veri sürücüsünde şifrelemeyi devre dışı bırakma.
  • Linux Sanal Makine Ölçek Kümeleri için işletim sistemi sürücüsünü şifreleme.
  • Linux VM'lerinde özel görüntüleri şifreleme.
  • Şirket içi anahtar yönetim sistemiyle tümleştirme.
  • Azure Dosyalar (paylaşılan dosya sistemi).
  • Ağ Dosya Sistemi (NFS).
  • Dinamik birimler.
  • Kısa ömürlü işletim sistemi diskleri.
  • DFS, GFS, DRDB ve CephFS gibi (ancak bunlarla sınırlı olmamak üzere) paylaşılan/dağıtılmış dosya sistemlerinin şifrelenmesini sağlar.
  • Şifrelenmiş vm'yi başka bir aboneliğe veya bölgeye taşıma.
  • Şifrelenmiş bir VM'nin görüntüsünü veya anlık görüntüsünü oluşturma ve ek VM'leri dağıtmak için kullanma.
  • Çekirdek Kilitlenme Dökümü (kdump).
  • Oracle ACFS (ASM Küme Dosya Sistemi).
  • Yüksek performanslı bilgi işlem VM boyutları veya Depolama iyileştirilmiş VM boyutları gibi NVMe diskleri.
  • "İç içe bağlama noktaları" olan bir VM; diğer bir ifadeyle, tek bir yolda birden çok bağlama noktası ("/1stmountpoint/data/2stmountpoint" gibi).
  • İşletim sistemi klasörünün üzerine bağlı bir veri sürücüsüne sahip bir VM.
  • Kök (işletim sistemi diski) mantıksal biriminin veri diski kullanılarak genişletildiği vm.
  • Yazma Hızlandırıcısı diskleri olan M serisi VM'ler.
  • ADE'yi Konakta Şifreleme veya müşteri tarafından yönetilen anahtarlarla sunucu tarafı şifreleme (SSE + CMK) ile şifrelenmiş diskleri olan bir VM'ye uygulama. Bir veri diskine SSE + CMK uygulamak veya ADE ile şifrelenmiş bir VM'ye yapılandırılmış SSE + CMK ile bir veri diski eklemek de desteklenmeyen bir senaryodur.
  • ADE ile şifrelenmiş veya ADE ile şifrelenmiş bir VM'yi Konakta Şifreleme'ye veya müşteri tarafından yönetilen anahtarlarla sunucu tarafı şifrelemeye geçirme.
  • Yük devretme kümelerindeki VM'leri şifreleme.
  • Azure ultra disklerinin şifrelenmesini sağlar.
  • Premium SSD v2 disklerinin şifresi.
  • Gizli Dizileri olan aboneliklerdeki VM'lerin şifrelenmesi, DENY etkisiyle belirtilen en yüksek geçerlilik süresi ilkesine sahip olmalıdır.

Araçları yükleme ve Azure'a bağlanma

Azure Disk Şifrelemesi etkinleştirilebilir ve Azure CLI ve Azure PowerShell. Bunu yapmak için araçları yerel olarak yüklemeniz ve Azure aboneliğinize bağlanmanız gerekir.

Azure CLI 2.0, Azure kaynaklarını yönetmeye yönelik bir komut satırı aracıdır. CLI, verileri esnek bir şekilde sorgulamak, uzun süre çalışan işlemleri engelleyici olmayan işlemler olarak desteklemek ve betik oluşturma işlemini kolaylaştırmak için tasarlanmıştır. Azure CLI'yi yükleme makalesindeki adımları izleyerek yerel olarak yükleyebilirsiniz.

Azure CLI ile Azure hesabınızda oturum açmak için az login komutunu kullanın.

az login

Altında oturum açmak için bir kiracı seçmek istiyorsanız şunu kullanın:

az login --tenant <tenant>

Birden çok aboneliğiniz varsa ve belirli bir abonelik belirtmek istiyorsanız az account list ile abonelik listenizi alın ve az account set ile belirtin.

az account list
az account set --subscription "<subscription name or ID>"

Daha fazla bilgi için bkz . Azure CLI 2.0'ı kullanmaya başlama.

Mevcut veya çalışan bir Linux VM'de şifrelemeyi etkinleştirme

Bu senaryoda, Resource Manager şablonunu, PowerShell cmdlet'lerini veya CLI komutlarını kullanarak şifrelemeyi etkinleştirebilirsiniz. Sanal makine uzantısı için şema bilgilerine ihtiyacınız varsa Linux uzantısı için Azure Disk Şifrelemesi makalesine bakın.

Önemli

Azure Disk Şifrelemesi etkinleştirilmeden önce ve dışında yönetilen disk tabanlı bir VM örneğinin anlık görüntüsü ve/veya yedeklemesi zorunludur. Yönetilen diskin anlık görüntüsü portaldan veya Azure Backup aracılığıyla alınabilir. Yedeklemeler, şifreleme sırasında beklenmeyen bir hata olması durumunda kurtarma seçeneğinin mümkün olmasını sağlar. Yedekleme yapıldıktan sonra Set-AzVMDiskEncryptionExtension cmdlet'i , -skipVmBackup parametresini belirterek yönetilen diskleri şifrelemek için kullanılabilir. Set-AzVMDiskEncryptionExtension komutu, bir yedekleme yapılana ve bu parametre belirtilene kadar yönetilen disk tabanlı VM'lerde başarısız olur.

Şifrelemenin şifrelenmesi veya devre dışı bırakılması VM'nin yeniden başlatılmasına neden olabilir.

Şifrelemeyi devre dışı bırakmak için bkz . Şifrelemeyi devre dışı bırakma ve şifreleme uzantısını kaldırma.

Azure CLI komut satırı aracını yükleyip kullanarak şifrelenmiş VHD'nizde disk şifrelemesini etkinleştirebilirsiniz. Azure Cloud Shell ile tarayıcınızda kullanabilir veya yerel makinenize yükleyip herhangi bir PowerShell oturumunda kullanabilirsiniz. Azure'da mevcut veya çalışan Linux VM'lerinde şifrelemeyi etkinleştirmek için aşağıdaki CLI komutlarını kullanın:

Azure'da çalışan bir sanal makinede şifrelemeyi etkinleştirmek için az vm encryption enable komutunu kullanın.

  • Çalışan vm'leri şifreleme:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • KEK kullanarak çalışan bir VM'i şifreleme:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    Dekont

    Disk-encryption-keyvault parametresinin değerinin söz dizimi tam tanımlayıcı dizesidir: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    Anahtar-şifreleme-anahtar parametresinin değerinin söz dizimi KEK'nin tam URI'sidir; örneğin: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Disklerin şifrelendiğini doğrulayın: Vm'nin şifreleme durumunu denetlemek için az vm encryption show komutunu kullanın.

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    

Şifrelemeyi devre dışı bırakmak için bkz . Şifrelemeyi devre dışı bırakma ve şifreleme uzantısını kaldırma.

Linux VM'lerindeki veri diskleri için EncryptFormatAll özelliğini kullanma

EncryptFormatAll parametresi Linux veri disklerinin şifrelenme süresini kısaltıyor. Belirli ölçütleri karşılayan bölümler, geçerli dosya sistemleriyle birlikte biçimlendirilir ve ardından komut yürütmeden önce bulundukları yere yeniden eklenir. Ölçütlere uyan bir veri diskini dışlamak istiyorsanız, komutu çalıştırmadan önce çıkarabilirsiniz.

Bu komut çalıştırıldıktan sonra, daha önce bağlanmış olan tüm sürücüler biçimlendirilir ve şifreleme katmanı artık boş olan sürücünün üzerinde başlatılır. Bu seçenek belirlendiğinde, VM'ye bağlı geçici disk de şifrelenir. Geçici disk sıfırlanırsa, sonraki fırsatta Azure Disk Şifrelemesi çözümü tarafından VM için yeniden biçimlendirilir ve yeniden şifrelenir. Kaynak disk şifrelenirken, Microsoft Azure Linux Aracısı kaynak diski yönetemez ve takas dosyasını etkinleştiremez, ancak değiştirme dosyasını el ile yapılandırabilirsiniz.

Uyarı

Vm'nin veri birimlerinde gerekli veriler olduğunda EncryptFormatAll kullanılmamalıdır. Diskleri çıkararak şifrelemenin dışında tutabilirsiniz. Önce test VM'sinde EncryptFormatAll'ı denemeniz, üretim VM'sinde denemeden önce özellik parametresini ve bunun etkisini anlamanız gerekir. EncryptFormatAll seçeneği veri diskini biçimlendirdiğinden üzerindeki tüm veriler kaybolur. Devam etmeden önce, dışlamak istediğiniz disklerin düzgün şekilde çıkarıldığını doğrulayın.

Şifreleme ayarlarını güncelleştirirken bu parametreyi ayarliyorsanız, gerçek şifrelemeden önce yeniden başlatmaya yol açabilir. Bu durumda, fstab dosyasından biçimlendirılmasını istemediğiniz diski de kaldırmak istersiniz. Benzer şekilde, şifreleme işlemini başlatmadan önce şifreleme biçimli olmasını istediğiniz bölümü fstab dosyasına eklemeniz gerekir.

EncryptFormatAll ölçütleri

parametresi tüm bölümlerden geçer ve aşağıdaki ölçütlerin tümünü karşıladıkları sürece bunları şifreler:

  • Kök/OS/önyükleme bölümü değil
  • Henüz şifrelenmemiş
  • BEK birimi değil
  • RAID birimi değil
  • LVM birimi değil
  • Bağlı

RAID veya LVM birimi yerine RAID veya LVM birimini oluşturan diskleri şifreleyin.

Azure'da çalışan bir sanal makinede şifrelemeyi etkinleştirmek için az vm encryption enable komutunu kullanın.

  • EncryptFormatAll kullanarak çalışan bir VM'yi şifreleyin:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "data" --encrypt-format-all
    

EncryptFormatAll parametresini Mantıksal Birim Yöneticisi (LVM) ile kullanma

LvM-on-crypt kurulumu öneririz. Şifreleme yapılandırmasında LVM hakkında ayrıntılı yönergeler için bkz . ADE şifreli cihazlarda LVM ve RAID yapılandırma.

Müşteri tarafından şifrelenmiş VHD ve şifreleme anahtarlarından oluşturulan yeni VM'ler

Bu senaryoda, PowerShell cmdlet'lerini veya CLI komutlarını kullanarak şifrelemeyi etkinleştirebilirsiniz.

Azure'da kullanılabilecek önceden şifrelenmiş görüntüleri hazırlamak için Azure Disk şifrelemesi ile aynı betiklerdeki yönergeleri kullanın. Görüntü oluşturulduktan sonra, bir sonraki bölümdeki adımları kullanarak şifrelenmiş bir Azure VM oluşturabilirsiniz.

Önemli

Azure Disk Şifrelemesi etkinleştirilmeden önce ve dışında yönetilen disk tabanlı bir VM örneğinin anlık görüntüsü ve/veya yedeklemesi zorunludur. Yönetilen diskin anlık görüntüsü portaldan alınabilir veya Azure Backup kullanılabilir. Yedeklemeler, şifreleme sırasında beklenmeyen bir hata olması durumunda kurtarma seçeneğinin mümkün olmasını sağlar. Yedekleme yapıldıktan sonra Set-AzVMDiskEncryptionExtension cmdlet'i , -skipVmBackup parametresini belirterek yönetilen diskleri şifrelemek için kullanılabilir. Set-AzVMDiskEncryptionExtension komutu, bir yedekleme yapılana ve bu parametre belirtilene kadar yönetilen disk tabanlı VM'lerde başarısız olur.

Şifrelemenin şifrelenmesi veya devre dışı bırakılması VM'nin yeniden başlatılmasına neden olabilir.

Vm'leri önceden şifrelenmiş VHD'lerle şifrelemek için Azure PowerShell kullanma

Set-AzVMOSDisk PowerShell cmdlet'ini kullanarak şifrelenmiş VHD'nizde disk şifrelemesini etkinleştirebilirsiniz. Aşağıdaki örnekte bazı yaygın parametreler verilmiştir.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Linux -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

Yeni eklenen veri diskinde şifrelemeyi etkinleştirme

az vm disk attach komutunu kullanarak veya Azure portalı aracılığıyla yeni bir veri diski ekleyebilirsiniz. Şifrelemeden önce yeni eklenen veri diskini bağlamanız gerekir. Şifreleme devam ederken sürücü kullanılamayacağı için veri sürücüsünün şifrelenmesini istemeniz gerekir.

VM daha önce "Tümü" ile şifrelendiyse --volume-type parametresi "Tümü" olarak kalmalıdır. Tümü hem işletim sistemini hem de veri disklerini içerir. VM daha önce bir birim türü "OS" ile şifrelendiyse, hem işletim sisteminin hem de yeni veri diskinin dahil edilmesi için --volume-type parametresi "Tümü" olarak değiştirilmelidir. VM yalnızca "Veri" birim türüyle şifrelendiyse, aşağıda gösterildiği gibi "Veri" olarak kalabilir. Vm'ye yeni bir veri diski eklemek ve eklemek, şifreleme için yeterli hazırlık değildir. Yeni eklenen disk de şifrelemeyi etkinleştirmeden önce VM'nin içinde biçimlendirilmeli ve düzgün bir şekilde bağlanmalıdır. Linux'ta disk kalıcı bir blok cihaz adıyla /etc/fstab'a bağlanmalıdır.

PowerShell söz diziminin aksine, CLI şifrelemeyi etkinleştirirken kullanıcının benzersiz bir dizi sürümü sağlamasını gerektirmez. CLI otomatik olarak kendi benzersiz dizi sürümü değerini oluşturur ve kullanır.

  • Çalışan bir VM'nin veri hacimlerini şifreleme:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • KEK kullanarak çalışan bir VM'nin veri hacimlerini şifreleme:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

Şifrelemeyi devre dışı bırakma ve şifreleme uzantısını kaldırma

Azure disk şifreleme uzantısını devre dışı bırakabilir ve Azure disk şifreleme uzantısını kaldırabilirsiniz. Bunlar iki ayrı işlemdir.

ADE'yi kaldırmak için önce şifrelemeyi devre dışı bırakmanız ve ardından uzantıyı kaldırmanız önerilir. Şifreleme uzantısını devre dışı bırakmadan kaldırırsanız diskler yine de şifrelenir. Uzantıyı kaldırdıktan sonra şifrelemeyi devre dışı bırakırsanız uzantı yeniden yüklenir (şifre çözme işlemini gerçekleştirmek için) ve ikinci kez kaldırılması gerekir.

Uyarı

İşletim sistemi diski şifrelenirse şifrelemeyi devre dışı bırakasınız. (özgün şifreleme işlemi volumeType=ALL veya volumeType=OS belirttiğinde işletim sistemi diskleri şifrelenir.)

Şifrelemeyi devre dışı bırakmak yalnızca veri diskleri şifrelendiğinde ancak işletim sistemi diski şifrelenmediğinde çalışır.

Şifrelemeyi devre dışı bırakma

Şifrelemeyi Azure PowerShell, Azure CLI veya Resource Manager şablonuyla devre dışı bırakabilirsiniz. Şifrelemeyi devre dışı bırakmak uzantıyı kaldırmaz (bkz. Şifreleme uzantısını kaldırma).

  • Azure PowerShell ile disk şifrelemesini devre dışı bırakma: Şifrelemeyi devre dışı bırakmak için Disable-AzVMDiskEncryption cmdlet'ini kullanın.

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Azure CLI ile şifrelemeyi devre dışı bırakma: Şifrelemeyi devre dışı bırakmak için az vm encryption disable komutunu kullanın.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Resource Manager şablonuyla şifrelemeyi devre dışı bırakma:

    1. Çalışan Linux VM'sinde disk şifrelemesini devre dışı bırak şablonundan Azure'a Dağıt'a tıklayın.
    2. Aboneliği, kaynak grubunu, konumu, VM'yi, birim türünü, yasal koşulları ve sözleşmeyi seçin.
    3. Çalışan bir Linux VM'de disk şifrelemesini devre dışı bırakmak için Satın Al'a tıklayın.

Şifreleme uzantısını kaldırma

Disklerinizin şifresini çözmek ve şifreleme uzantısını kaldırmak istiyorsanız, uzantıyı kaldırmadan önce şifrelemeyi devre dışı bırakmanız gerekir; bkz. Şifrelemeyi devre dışı bırakma.

Şifreleme uzantısını Azure PowerShell veya Azure CLI kullanarak kaldırabilirsiniz.

  • Azure PowerShell ile disk şifrelemesini devre dışı bırakma: Şifrelemeyi kaldırmak için Remove-AzVMDiskEncryptionExtension cmdlet'ini kullanın.

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Azure CLI ile şifrelemeyi devre dışı bırakın: Şifrelemeyi kaldırmak için az vm extension delete komutunu kullanın.

    az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryptionForLinux"
    

Sonraki adımlar