Operációs rendszer és csatlakoztatott adatlemezek titkosítása virtuálisgép-méretezési csoportban az Azure PowerShell használatával

Az Azure PowerShell-modul az Azure-erőforrások PowerShell-parancssorból vagy szkriptekkel történő létrehozására és kezelésére használható. Ez a cikk bemutatja, hogyan hozhat létre és titkosíthat virtuálisgép-méretezési csoportokat az Azure PowerShell használatával. Az Azure Disk Encryption virtuálisgép-méretezési csoportokra való alkalmazásával kapcsolatos további információkért lásd : Azure Disk Encryption for Virtual Machine Scale Sets.

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Screenshot that shows an example of Try It for Azure Cloud Shell.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Button to launch Azure Cloud Shell.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Screenshot that shows the Cloud Shell button in the Azure portal

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+V billentyűkombinációval+, vagy a Cmd+Shift+V macOS rendszeren való kiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Lemeztitkosításhoz engedélyezett Azure Key Vault létrehozása

Az Azure Key Vault olyan kulcsokat, titkos kulcsokat vagy jelszavakat tárolhat, amelyekkel biztonságosan implementálhatja őket az alkalmazásokban és szolgáltatásokban. A titkosítási kulcsokat az Azure Key Vault tárolja szoftveres védelemmel, vagy importálhatja vagy létrehozhatja kulcsait a FIPS 140 által hitelesített hardverbiztonsági modulokban (HSM-ekben). Ezek a titkosítási kulcsok a virtuális géphez csatlakoztatott virtuális lemezek titkosítására és visszafejtésére szolgálnak. Megtarthatja a titkosítási kulcsok feletti irányítást, és naplózhatja azok használatát.

Hozzon létre egy Key Vaultot a New-AzKeyVaulttal. Ha engedélyezni szeretné a Key Vault lemeztitkosításhoz való használatát, állítsa be az EnabledForDiskEncryption paramétert. Az alábbi példa az erőforráscsoport neve, a Key Vault neve és a hely változóit is meghatározza. Adja meg saját egyedi Key Vault-nevét:

$rgName="myResourceGroup"
$vaultName="myuniquekeyvault"
$location = "EastUS"

New-AzResourceGroup -Name $rgName -Location $location
New-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $location -EnabledForDiskEncryption

Meglévő Key Vault használata

Erre a lépésre csak akkor van szükség, ha rendelkezik egy meglévő Key Vaulttal, amelyet lemeztitkosítással szeretne használni. Hagyja ki ezt a lépést, ha az előző szakaszban létrehozott egy Key Vaultot.

A Set-AzKeyVaultAccessPolicy használatával engedélyezheti a meglévő Key Vaultot ugyanabban az előfizetésben és régióban, mint a lemeztitkosítás méretezési készlete. Adja meg a meglévő Key Vault nevét a $vaultName változóban az alábbiak szerint:

$vaultName="myexistingkeyvault"
Set-AzKeyVaultAccessPolicy -VaultName $vaultName -EnabledForDiskEncryption

Méretezési csoport létrehozása

Fontos

2023 novemberétől a PowerShell és az Azure CLI használatával létrehozott virtuálisgép-méretezési csoportok alapértelmezés szerint rugalmas vezénylési módba kerülnek, ha nincs megadva vezénylési mód. A módosítással és a végrehajtandó műveletekkel kapcsolatos további információkért tekintse meg a VMSS PowerShell/CLI-ügyfelek kompatibilitástörő változását – Microsoft Community Hub

Először a Get-Credential paranccsal állítsa be a virtuálisgép-példányok rendszergazdai felhasználónevét és jelszavát:

$cred = Get-Credential

Most hozzon létre egy virtuálisgép-méretezési csoportot a New-AzVmss használatával. A forgalom az egyes virtuális gépek közötti elosztása érdekében a parancs egy terheléselosztót is létrehoz. A terheléselosztó olyan szabályokat tartalmaz, amelyek elosztják a 80-as TCP-porton beérkező forgalmat, valamint lehetővé teszi a távoli asztali forgalmat a 3389-es TCP-porton és a PowerShell távoli eljáráshívást az 5985-ös TCP-porton:

$vmssName="myScaleSet"

New-AzVmss `
    -ResourceGroupName $rgName `
    -VMScaleSetName $vmssName `
    -OrchestrationMode "flexible" `
    -Location $location `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -PublicIpAddressName "myPublicIPAddress" `
    -LoadBalancerName "myLoadBalancer" `
    -Credential $cred

Titkosítás engedélyezése

A méretezési csoportban lévő virtuálisgép-példányok titkosításához először szerezze be a Key Vault URI-jával és erőforrás-azonosítójával kapcsolatos információkat a Get-AzKeyVaulttal. Ezek a változók a set-AzVmssDiskEncryptionExtension használatával indítják el a titkosítási folyamatot:

$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"

Amikor a rendszer kéri, írja be az y parancsot a lemeztitkosítási folyamat folytatásához a méretezési csoport virtuálisgép-példányokon.

Titkosítás engedélyezése a KEK használatával a kulcs körbefuttatásához

A virtuálisgép-méretezési csoport titkosításához kulcstitkosítási kulcsot is használhat a biztonság érdekében.

$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"

Feljegyzés

A disk-encryption-keyvault paraméter értékének szintaxisa a teljes azonosító sztring:
/subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]

A kulcstitkosítási kulcs paraméter értékének szintaxisa a KEK teljes URI-ja, mint a következőben:
https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

Titkosítási folyamat ellenőrzése

A lemeztitkosítás állapotának ellenőrzéséhez használja a Get-AzVmssDiskEncryption parancsot:

Get-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $vmssName

A virtuálisgép-példányok titkosítása esetén a EncryptionSummary kód a ProvisioningState/succeeded függvényt jelenti az alábbi példakimenetben látható módon:

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

Titkosítás letiltása

Ha már nem szeretne titkosított virtuálisgép-példányokat használni, letilthatja a titkosítást a Disable-AzVmssDiskEncryption használatával az alábbiak szerint:

Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $vmssName

Következő lépések

  • Ebben a cikkben az Azure PowerShell használatával titkosított egy virtuálisgép-méretezési csoportot. Használhatja az Azure CLI-t vagy az Azure Resource Manager-sablonokat is.
  • Ha egy másik bővítmény kiépítése után szeretné alkalmazni az Azure Disk Encryptiont, használhatja a bővítmények szekvenálását.