Criar uma versão de imagem criptografada com chaves gerenciadas pelo cliente

Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes

As imagens em uma Galeria de Computação do Azure (anteriormente conhecida como Galeria de Imagens Compartilhadas) são armazenadas como instantâneos. Essas imagens são criptografadas automaticamente por meio da criptografia AES de 256 bits do lado do servidor. A criptografia no servidor também está em conformidade com o padrão FIPS 140-2. Para mais informações sobre os módulos criptográficos subjacentes aos discos gerenciados do Azure, veja API de Criptografia: Próxima geração.

Você pode contar com chaves gerenciadas pela plataforma para a criptografia das suas imagens ou gerenciar a criptografia usando suas próprias chaves. Você também pode usar esses dois recursos em conjunto para criptografia duplicada. Se você optar por gerenciar a criptografia com suas próprias chaves, pode especificar uma chave gerenciada pelo cliente a ser usada para criptografar e descriptografar todos os discos nas suas imagens.

A criptografia no servidor com chaves gerenciadas pelo cliente usa o Azure Key Vault. Você pode importar as suas chaves RSA para o Key Vault ou, se preferir, gerar novas chaves RSA no Azure Key Vault.

Pré-requisitos

Este artigo requer que você já tenha um conjunto de criptografia de disco em cada região onde deseja replicar sua imagem:

  • Para usar apenas uma chave gerenciada pelo cliente, consulte os artigos sobre como habilitar chaves gerenciadas pelo cliente com criptografia no servidor usando o portal do Azure ou o PowerShell.

  • Para usar tanto as chaves gerenciadas pela plataforma quanto as gerenciadas pelo cliente (para criptografia dupla), consulte os artigos sobre como habilitar a criptografia dupla em repouso usando o portal do Azure ou o PowerShell.

    Importante

    É necessário usar o link https://aka.ms/diskencryptionupdates para acessar o portal do Azure. No momento, a criptografia dupla em repouso não está visível para acesso no portal público do Azure sem esse link.

Limitações

Quando você usa chaves gerenciadas pelo cliente para criptografar imagens em uma Galeria de Computação do Azure, as seguintes limitações se aplicam:

  • Os conjuntos de chaves de criptografia devem estar na mesma assinatura da sua imagem.

  • Os conjuntos de chaves de criptografia são recursos regionais. Portanto, cada região requer um conjunto de chaves de criptografia diferente.

  • Após usar as suas próprias chaves para criptografar um disco ou imagem, não é possível usar novamente chaves gerenciadas pela plataforma para criptografar essas mesmas imagens.

  • Atualmente, a origem da versão da imagem da VM não dá suporte à criptografia de chave gerenciada pelo cliente.

  • Alguns dos recursos, como replicar uma imagem SSE+CMK, criar uma imagem do disco criptografado SSE+CMK etc. não têm suporte por meio do portal.

PowerShell

Para especificar um conjunto de criptografia de disco para uma versão de imagem, use o New-AzGalleryImageVersion com o parâmetro -TargetRegion:


$sourceId = <ID of the image version source>

$osDiskImageEncryption = @{DiskEncryptionSetId='subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/diskEncryptionSets/myDESet'}

$dataDiskImageEncryption1 = @{DiskEncryptionSetId='subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/diskEncryptionSets/myDESet1';Lun=1}

$dataDiskImageEncryption2 = @{DiskEncryptionSetId='subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/diskEncryptionSets/myDESet2';Lun=2}

$dataDiskImageEncryptions = @($dataDiskImageEncryption1,$dataDiskImageEncryption2)

$encryption1 = @{OSDiskImage=$osDiskImageEncryption;DataDiskImages=$dataDiskImageEncryptions}

$region1 = @{Name='West US';ReplicaCount=1;StorageAccountType=Standard_LRS;Encryption=$encryption1}

$eastUS2osDiskImageEncryption = @{DiskEncryptionSetId='subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/diskEncryptionSets/myEastUS2DESet'}

$eastUS2dataDiskImageEncryption1 = @{DiskEncryptionSetId='subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/diskEncryptionSets/myEastUS2DESet1';Lun=1}

$eastUS2dataDiskImageEncryption2 = @{DiskEncryptionSetId='subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/diskEncryptionSets/myEastUS2DESet2';Lun=2}

$eastUS2DataDiskImageEncryptions = @($eastUS2dataDiskImageEncryption1,$eastUS2dataDiskImageEncryption2)

$encryption2 = @{OSDiskImage=$eastUS2osDiskImageEncryption;DataDiskImages=$eastUS2DataDiskImageEncryptions}

$region2 = @{Name='East US 2';ReplicaCount=1;StorageAccountType=Standard_LRS;Encryption=$encryption2}

$targetRegion = @($region1, $region2)


# Create the image
New-AzGalleryImageVersion `
   -ResourceGroupName $rgname `
   -GalleryName $galleryName `
   -GalleryImageDefinitionName $imageDefinitionName `
   -Name $versionName -Location $location `
   -SourceImageId $sourceId `
   -ReplicaCount 2 `
   -StorageAccountType Standard_LRS `
   -PublishingProfileEndOfLifeDate '2020-12-01' `
   -TargetRegion $targetRegion

Criar uma máquina virtual

É possível criar uma máquina virtual (VM) a partir de uma Galeria de Computação do Azure e usar chaves gerenciadas pelo cliente para criptografar os discos. A sintaxe é a mesma de quando se cria uma máquina virtual generalizada ou especializada a partir de uma imagem. Use o conjunto de parâmetros estendidos e adicione Set-AzVMOSDisk -Name $($vmName +"_OSDisk") -DiskEncryptionSetId $diskEncryptionSet.Id -CreateOption FromImage à configuração da VM.

No caso de discos de dados, você precisa adicionar o parâmetro -DiskEncryptionSetId $setID ao usar o Add-AzVMDataDisk.

CLI

Para especificar uma criptografia de disco definida para uma versão de imagem, use az image gallery create-image-version com o parâmetro --target-region-encryption. O formato de --target-region-encryption é uma lista separadas por vírgulas de chaves para criptografar o sistema operacional e os discos de dados. O resultado deve ser assim: <encryption set for the OS disk>,<Lun number of the data disk>,<encryption set for the data disk>,<Lun number for the second data disk>,<encryption set for the second data disk>.

Use --managed-image para especificar a origem da versão da imagem se a origem do disco do sistema operacional for um disco gerenciado ou uma VM. Neste exemplo, a origem é uma imagem gerenciada que tem um disco do sistema operacional e um disco de dados no LUN 0. O disco do sistema operacional será criptografado com o DiskEncryptionSet1 e o disco de dados com o DiskEncryptionSet2.

az sig image-version create \
   -g MyResourceGroup \
   --gallery-image-version 1.0.0 \
   --location westus \
   --target-regions westus=2=standard_lrs eastus2 \
   --target-region-encryption WestUSDiskEncryptionSet1,0,WestUSDiskEncryptionSet2 EastUS2DiskEncryptionSet1,0,EastUS2DiskEncryptionSet2 \
   --gallery-name MyGallery \
   --gallery-image-definition MyImage \
   --managed-image "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage"

Use --os-snapshot para especificar o disco do sistema operacional se a origem do disco do sistema operacional for um instantâneo. Adicione outros instantâneos de disco de dados que também devam fazer parte da versão da imagem. Use --data-snapshot-luns para especificar o número de unidade lógica e use --data-snapshots para especificar os instantâneos.

Neste exemplo, as origens são instantâneos de disco. Há um disco do sistema operacional e um disco de dados no LUN 0. O disco do sistema operacional será criptografado com o DiskEncryptionSet1, e o disco de dados, com o DiskEncryptionSet2.

az sig image-version create \
   -g MyResourceGroup \
   --gallery-image-version 1.0.0 \
   --location westus\
   --target-regions westus=2=standard_lrs eastus\
   --target-region-encryption WestUSDiskEncryptionSet1,0,WestUSDiskEncryptionSet2 EastUS2DiskEncryptionSet1,0,EastUS2DiskEncryptionSet2 \
   --os-snapshot "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/myOSSnapshot" \
   --data-snapshot-luns 0 \
   --data-snapshots "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/myDDSnapshot" \
   --gallery-name MyGallery \
   --gallery-image-definition MyImage 
   

Criar a VM

É possível criar uma VM a partir de uma Galeria de Computação do Azure e usar chaves gerenciadas pelo cliente para criptografar os discos. A sintaxe é a mesma de quando se cria uma VM generalizada ou especializada com a adição do parâmetro --os-disk-encryption-set. Para discos de dados, adicione --data-disk-encryption-sets com uma lista delimitada por espaços dos conjuntos de criptografia de disco para os discos de dados.

Portal

Ao criar sua versão da imagem no portal, você pode usar a guia Criptografia para inserir as informações sobre os seus conjuntos de criptografia de armazenamento.

  1. Na página Criar uma versão de imagem, selecione a guia Criptografia.
  2. Em Tipo de criptografia, selecione Criptografia em repouso com chaves gerenciadas pelo cliente ou Criptografia dupla com chaves gerenciadas pela plataforma e chaves gerenciadas pelo cliente.
  3. Para cada disco na imagem, selecione um conjunto de criptografia a partir do Conjunto de criptografia de disco na lista suspensa.

Criar a VM

É possível criar uma VM de uma versão de imagem e usar chaves gerenciadas pelo cliente para criptografar os discos. Ao criar a VM no portal, na guia Discos, selecione Criptografia em repouso com chaves gerenciadas pelo cliente ou Criptografia dupla com chaves gerenciadas pela plataforma e chaves gerenciadas pelo cliente em Tipo de criptografia. Depois selecione o conjunto de criptografia na lista suspensa.

Próximas etapas

Saiba mais sobre Criptografia de disco do lado do servidor.

Saiba mais sobre como obter informações do plano de compra em Obter informações do plano de compra do Azure Marketplace ao criar imagens.