Azure PowerShell ile sanal makine ölçek kümesindeki işletim sistemini ve bağlı veri disklerini şifreleyin
uygulama hedefi: : heavy_check_mark: Linux vm 'leri: heavy_check_mark: Windows vm 'ler: heavy_check_mark: tekdüzen ölçek kümeleri
Azure PowerShell modülü, PowerShell komut satırından veya betik içinden Azure kaynakları oluşturmak ve yönetmek için kullanılır. bu makalede, bir sanal makine ölçek kümesi oluşturmak ve şifrelemek için Azure PowerShell nasıl kullanılacağı gösterilmektedir. Azure disk şifrelemesini bir sanal makine ölçek kümesine uygulama hakkında daha fazla bilgi için bkz. Sanal Makine Ölçek Kümeleri Için Azure disk şifrelemesi.
Azure Cloud Shell kullanma
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell’i barındırır. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Bu makaledeki kodu, yerel ortamınıza herhangi bir şey yüklemeye gerek kalmadan çalıştırmak için Cloud Shell’in önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell’i başlatmak için:
| Seçenek | Örnek/Bağlantı |
|---|---|
| Kod bloğunun sağ üst köşesindeki Deneyin’i seçin. Deneyin seçeneği belirlendiğinde, kod otomatik olarak Cloud Shell’e kopyalanmaz. | ![]() |
| Cloud Shell’i tarayıcınızda açmak için https://shell.azure.com bölümüne gidin veya Cloud Shell’i Başlat düğmesini seçin. | ![]() |
| Azure portalın sağ üst köşesindeki menü çubuğunda yer alan Cloud Shell düğmesini seçin. | ![]() |
Azure Cloud Shell’de bu makaledeki kodu çalıştırmak için:
Cloud Shell’i başlatın.
Kodu kopyalamak için kod bloğunda Kopyala düğmesini seçin.
Windows ve Linux sisteminde Ctrl+Shift+V tuşlarını kullanarak veya macOS’de Cmd+Shift+V tuşlarını kullanarak kodu Cloud Shell oturumuna yapıştırın.
Kodu çalıştırmak için Enter tuşuna basın.
Disk şifrelemesi için etkin bir Azure Key Vault oluşturma
Azure Key Vault, uygulamaları ve hizmetlerinize güvenli bir şekilde uygulamanızı sağlayan anahtarları, parolaları veya parolaları depolayabilirler. Şifreleme anahtarları yazılım korumasını kullanarak Azure Key Vault depolanır veya anahtarlarınızı FIPS 140-2 düzey 2 standartlarına sertifikalı donanım güvenlik modüllerinde (HSM 'ler) içeri aktarabilir veya oluşturabilirsiniz. Bu şifreleme anahtarları, VM 'nize bağlı sanal diskleri şifrelemek ve şifrelerini çözmek için kullanılır. Bu şifreleme anahtarlarının denetimini koruyabilir ve kullanımlarını denetleyebilir.
New-Azkeykasasıylabir Key Vault oluşturun. Key Vault disk şifrelemesi için kullanılmasına izin vermek için, Enabledfordiskencryption parametresini ayarlayın. Aşağıdaki örnek ayrıca kaynak grubu adı, Key Vault adı ve konum için değişkenleri tanımlar. Kendi benzersiz Key Vault adınızı sağlayın:
$rgName="myResourceGroup"
$vaultName="myuniquekeyvault"
$location = "EastUS"
New-AzResourceGroup -Name $rgName -Location $location
New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $location -EnabledForDiskEncryption
Mevcut bir Key Vault kullan
Bu adım yalnızca disk şifrelemesi ile kullanmak istediğiniz mevcut bir Key Vault varsa gereklidir. Önceki bölümde bir Key Vault oluşturduysanız bu adımı atlayın.
Set-AzKeyVaultAccessPolicyile disk şifrelemesi için ölçek kümesiyle aynı abonelikte ve bölgede bulunan mevcut bir Key Vault etkinleştirebilirsiniz. $VaultName değişkeninde mevcut Key Vault adını aşağıdaki gibi tanımlayın:
$vaultName="myexistingkeyvault"
Set-AzKeyVaultAccessPolicy -VaultName $vaultName -EnabledForDiskEncryption
Ölçek kümesi oluşturma
İlk olarak, VM örnekleri için Get-Credential ile bir yönetici kullanıcı adı ve parola ayarlayın:
$cred = Get-Credential
Şimdi New-AzVmssile bir sanal makine ölçek kümesi oluşturun. Her bir sanal makine örneklerine trafiği dağıtmak için bir yük dengeleyici de oluşturulur. Yük dengeleyici hem TCP bağlantı noktası 80 üzerinden trafiği dağıtmak hem de TCP bağlantı noktası 3389 üzerinden uzak masaüstü trafiğine hem de TCP bağlantı noktası 5985 üzerinden PowerShell uzaktan iletişimine olanak tanımak için kurallar içerir:
$vmssName="myScaleSet"
New-AzVmss `
-ResourceGroupName $rgName `
-VMScaleSetName $vmssName `
-Location $location `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-UpgradePolicy "Automatic" `
-Credential $cred
Şifrelemeyi etkinleştir
Bir ölçek kümesindeki sanal makine örneklerini şifrelemek için, ilk olarak Get-AzkeykasasıylaKey Vault URI ve kaynak kimliği hakkında bazı bilgiler alın. Bu değişkenler, set-AzVmssDiskEncryptionExtensionile şifreleme işlemini başlatmak için kullanılır:
$diskEncryptionKeyVaultUrl=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).VaultUri
$keyVaultResourceId=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).ResourceId
Set-AzVmssDiskEncryptionExtension -ResourceGroupName $rgName -VMScaleSetName $vmssName `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId -VolumeType "All"
İstendiğinde, ölçek kümesi sanal makine örneklerinde disk şifreleme işlemine devam etmek için y yazın.
Anahtarı kaydırmak için KEK kullanarak şifrelemeyi etkinleştirme
Ayrıca, sanal makine ölçek kümesini şifrelerken ek güvenlik için anahtar şifreleme anahtarını da kullanabilirsiniz.
$diskEncryptionKeyVaultUrl=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).VaultUri
$keyVaultResourceId=(Get-AzKeyVault -ResourceGroupName $rgName -Name $vaultName).ResourceId
$keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $vaultName -Name $keyEncryptionKeyName).Key.kid;
Set-AzVmssDiskEncryptionExtension -ResourceGroupName $rgName -VMScaleSetName $vmssName `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId `
-KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $keyVaultResourceId -VolumeType "All"
Not
Disk-Encryption-keykasası parametresinin değeri için sözdizimi tam tanımlayıcı dizesidir: /Subscriptions/[abonelik-kimliği-GUID]/resourceGroups/[resource-Group-Name]/providers/Microsoft.KeyVault/vaults/[keykasaadı] Anahtar şifreleme-anahtar parametresinin değeri için sözdizimi, KEK içinde olduğu gibi tam URI 'dir: https://[keykasaadı]. kasa. Azure. net/Keys/[kekname]/[kek-Unique-ID]
Şifreleme ilerlemesini denetleme
Disk şifrelemenin durumunu denetlemek için Get-AzVmssDiskEncryptionkomutunu kullanın:
Get-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $vmssName
VM örnekleri şifrelendiğinde, Encryptionsummary kodu aşağıdaki örnek çıktıda gösterildiği gibi provisioningstate/başarılı bildirir:
ResourceGroupName : myResourceGroup
VmScaleSetName : myScaleSet
EncryptionSettings :
KeyVaultURL : https://myuniquekeyvault.vault.azure.net/
KeyEncryptionKeyURL :
KeyVaultResourceId : /subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myuniquekeyvault
KekVaultResourceId :
KeyEncryptionAlgorithm :
VolumeType : All
EncryptionOperation : EnableEncryption
EncryptionSummary[0] :
Code : ProvisioningState/succeeded
Count : 2
EncryptionEnabled : True
EncryptionExtensionInstalled : True
Şifrelemeyi devre dışı bırak
Artık şifrelenmiş VM örnekleri disklerini kullanmak istemiyorsanız, Disable-AzVmssDiskEncryption ile şifrelemeyi şu şekilde devre dışı bırakabilirsiniz:
Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $vmssName
Sonraki adımlar
- bu makalede, bir sanal makine ölçek kümesini şifrelemek için Azure PowerShell kullandınız. Azure CLI veya Azure Resource Manager şablonlarınıda kullanabilirsiniz.
- Başka bir uzantı sağlandıktan sonra Azure disk şifrelemesi 'nin uygulanmasını istiyorsanız uzantı sıralamasınıkullanabilirsiniz.


