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

Az Azure CLI az Azure-erőforrások parancssorból vagy szkriptekkel történő létrehozására és kezelésére használható. Ez a rövid útmutató bemutatja, hogyan hozhat létre és titkosíthat virtuálisgép-méretezési csoportokat az Azure CLI használatával. Az Azure Disk-titkosítás 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.

Előfeltételek

  • Ez a cikk az Azure CLI 2.0.31-es vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.

Méretezési csoport létrehozása

Mielőtt létrehozhatna egy méretezési csoportot, létre kell hoznia egy erőforráscsoportot az az group create paranccsal. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen:

az group create --name myResourceGroup --location eastus

Most hozzon létre egy virtuálisgép-méretezési csoportot az az vmss create használatával. Az alábbi példa létrehoz egy myScaleSet nevű méretezési csoportot, amely a módosítások alkalmazásakor automatikusan frissül, és SSH-kulcsokat hoz létre, ha nem léteznek a ~/.ssh/id_rsa fájlban. Minden egyes virtuálisgép-példányhoz 32 GB adatlemez csatlakozik, az Azure Custom Script Extension pedig az az vmss bővítménykészlettel készíti elő az adatlemezeket:

Fontos

Győződjön meg arról, hogy a támogatott operációs rendszert az ADE-vel választja ki. Támogatott operációs rendszer az ADE-hez.

# Create a scale set with attached data disk
az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --orchestration-mode Flexible \
  --image <SKU Linux Image> \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 32

# Prepare the data disk for use with the Custom Script Extension
az vmss extension set \
  --publisher Microsoft.Azure.Extensions \
  --version 2.0 \
  --name CustomScript \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.sh"],"commandToExecute":"./prepare_vm_disks.sh"}'

A méretezési csoport erőforrásainak és virtuális gépeinek létrehozása és konfigurálása néhány percet vesz igénybe.

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.

Saját egyedi keyvault_name definiálása. Ezután hozzon létre egy KeyVault-t az keyvaulttal ugyanabban az előfizetésben és régióban, mint a méretezési csoport, és állítsa be a --enabled-for-disk-encryption hozzáférési szabályzatot.

# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname

# Create Key Vault
az keyvault create --resource-group myResourceGroup --name $keyvault_name --enabled-for-disk-encryption

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.

Saját egyedi keyvault_name definiálása. Ezután frissítse a KeyVaultot az keyvault frissítéssel, és állítsa be a --enabled-for-disk-encryption hozzáférési szabályzatot.

# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname

# Create Key Vault
az keyvault update --name $keyvault_name --enabled-for-disk-encryption

Titkosítás engedélyezése

Feljegyzés

Ha rugalmas vezénylési módban használja a virtuálisgép-méretezési csoportokat, csak az új példányok lesznek titkosítva. A méretezési csoportban lévő meglévő példányokat külön-külön kell titkosítani, vagy el kell távolítani és ki kell cserélni.

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 erőforrás-azonosítóját az az keyvault show használatával. Ezeket a változókat használja a titkosítási folyamat elindításához az az vmss encryption enable engedélyezésével:

# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)

# Enable encryption of the data disks in a scale set
az vmss encryption enable \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --disk-encryption-keyvault $vaultResourceId \
    --volume-type DATA

A titkosítási folyamat elindítása egy-két percet is igénybe vehet.

Mivel a méretezési csoport frissítési szabályzata a korábbi lépésben létrehozott méretezési csoportban automatikus, a virtuálisgép-példányok automatikusan elindítják a titkosítási folyamatot. Olyan méretezési csoportok esetén, ahol a frissítési szabályzat manuális, indítsa el a titkosítási szabályzatot a virtuálisgép-példányokon az az vmss update-instances használatával.

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.

# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)

# Enable encryption of the data disks in a scale set
az vmss encryption enable \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --disk-encryption-keyvault $vaultResourceId \
    --key-encryption-key myKEK \
    --key-encryption-keyvault $vaultResourceId \
    --volume-type DATA

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 az az vmss encryption showt:

az vmss encryption show --resource-group myResourceGroup --name myScaleSet

A virtuálisgép-példányok titkosítása esetén az állapotkód a EncryptionState/encrypted protokollt jelenti, ahogyan az alábbi példakimenetben látható:

[
  {
    "disks": [
      {
        "encryptionSettings": null,
        "name": "myScaleSet_myScaleSet_0_disk2_3f39c2019b174218b98b3dfae3424e69",
        "statuses": [
          {
            "additionalProperties": {},
            "code": "EncryptionState/encrypted",
            "displayStatus": "Encryption is enabled on disk",
            "level": "Info",
            "message": null,
            "time": null
          }
        ]
      }
    ],
    "id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/virtualMachines/0",
    "resourceGroup": "MYRESOURCEGROUP"
  }
]

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 az az vmss encryption letiltással az alábbiak szerint:

az vmss encryption disable --resource-group myResourceGroup --name myScaleSet

Következő lépések

  • Ebben a cikkben az Azure CLI használatával titkosított egy virtuálisgép-méretezési csoportot. Azure PowerShell- vagy Azure Resource Manager-sablonokat is használhat.
  • 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.
  • A Linux-méretezési csoport adatlemeztitkosításának végpontok közötti kötegfájl-példáját itt találja. Ez a példa létrehoz egy erőforráscsoportot, linuxos méretezési csoportot, csatlakoztat egy 5 GB-os adatlemezt, és titkosítja a virtuálisgép-méretezési csoportot.