Criar uma versão de imagem encriptada com chaves geridas pelo cliente

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

As imagens numa Galeria de Computação do Azure (anteriormente conhecida como Shared Image Gallery) são armazenadas como instantâneos. Estas imagens são encriptadas automaticamente através da encriptação AES do lado do servidor de 256 bits. A encriptação do lado do servidor também é compatível com FIPS 140-2. Para obter mais informações sobre os módulos criptográficos subjacentes aos discos geridos do Azure, veja API de Criptografia: Próxima Geração.

Pode depender de chaves geridas pela plataforma para a encriptação das suas imagens ou utilizar as suas próprias chaves. Também pode utilizar ambas as funcionalidades em conjunto para encriptação duplicada. Se optar por gerir a encriptação com as suas próprias chaves, pode especificar uma chave gerida pelo cliente para utilizar para encriptar e desencriptar todos os discos nas suas imagens.

A encriptação do lado do servidor através de chaves geridas pelo cliente utiliza o Azure Key Vault. Pode importar as chaves RSA para o cofre de chaves ou gerar novas chaves RSA no Azure Key Vault.

Pré-requisitos

Este artigo requer que já tenha uma encriptação de disco definida em cada região onde pretende replicar a imagem:

  • Para utilizar apenas uma chave gerida pelo cliente, veja os artigos sobre como ativar chaves geridas pelo cliente com a encriptação do lado do servidor com o portal do Azure ou o PowerShell.

  • Para utilizar chaves geridas pela plataforma e geridas pelo cliente (para encriptação dupla), veja os artigos sobre como ativar a encriptação dupla inativa com o portal do Azure ou o PowerShell.

    Importante

    Tem de utilizar a ligação https://aka.ms/diskencryptionupdates para aceder ao portal do Azure. A encriptação dupla inativa não está atualmente visível no portal do Azure público, a menos que utilize essa ligação.

Limitações

Quando utiliza chaves geridas pelo cliente para encriptar imagens num Azure Compute Gallery, aplicam-se estas limitações:

  • Os conjuntos de chaves de encriptação têm de estar na mesma subscrição que a sua imagem.

  • Os conjuntos de chaves de encriptação são recursos regionais, pelo que cada região requer um conjunto de chaves de encriptação diferente.

  • Depois de utilizar as suas próprias chaves para encriptar uma imagem, não pode voltar a utilizar chaves geridas pela plataforma para encriptar essas imagens.

  • Atualmente, a origem da versão da imagem da VM não suporta a encriptação de chaves gerida pelo cliente.

  • Algumas das funcionalidades, como replicar uma imagem SSE+CMK, criar uma imagem a partir do disco encriptado SSE+CMK, etc. não são suportados através do portal.

PowerShell

Para especificar um conjunto de encriptação de discos para uma versão de imagem, utilize New-AzGalleryImageVersion com o -TargetRegion parâmetro :


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

Pode criar uma máquina virtual (VM) a partir de uma Galeria de Computação do Azure e utilizar chaves geridas pelo cliente para encriptar os discos. A sintaxe é a mesma que criar uma VM generalizada ou especializada a partir de uma imagem. Utilize o conjunto de parâmetros expandido e adicione Set-AzVMOSDisk -Name $($vmName +"_OSDisk") -DiskEncryptionSetId $diskEncryptionSet.Id -CreateOption FromImage à configuração da VM.

Para discos de dados, adicione o -DiskEncryptionSetId $setID parâmetro quando utilizar Add-AzVMDataDisk.

CLI

Para especificar um conjunto de encriptação de discos para uma versão de imagem, utilize az image gallery create-image-version com o --target-region-encryption parâmetro . O formato de --target-region-encryption é uma lista separada por vírgulas de chaves para encriptar o SO e os discos de dados. Deverá ter o seguinte aspeto: <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>.

Se a origem do disco do SO for um disco gerido ou uma VM, utilize --managed-image para especificar a origem da versão da imagem. Neste exemplo, a origem é uma imagem gerida que tem um disco de SO e um disco de dados no LUN 0. O disco do SO será encriptado com DiskEncryptionSet1 e o disco de dados será encriptado com 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"

Se a origem do disco do SO for um instantâneo, utilize --os-snapshot para especificar o disco do SO. Adicione outros instantâneos do disco de dados que também devem fazer parte da versão da imagem. Utilize --data-snapshot-luns para especificar o LUN e utilize --data-snapshots para especificar os instantâneos.

Neste exemplo, as origens são instantâneos de disco. Existe um disco do SO e um disco de dados no LUN 0. O disco do SO será encriptado com DiskEncryptionSet1 e o disco de dados será encriptado com 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

Pode criar uma VM a partir de uma Galeria de Computação do Azure e utilizar chaves geridas pelo cliente para encriptar os discos. A sintaxe é a mesma que criar uma VM generalizada ou especializada com a adição do --os-disk-encryption-set parâmetro . Para discos de dados, adicione --data-disk-encryption-sets com uma lista delimitada por espaço dos conjuntos de encriptação de discos para os discos de dados.

Portal

Quando cria a sua versão de imagem no portal, pode utilizar o separador Encriptação para aplicar os conjuntos de encriptação de armazenamento.

  1. Na página Criar uma versão de imagem , selecione o separador Encriptação .
  2. Em Tipo de encriptação, selecione Encriptação inativa com uma chave gerida pelo cliente ou Encriptação dupla com chaves geridas pela plataforma e geridas pelo cliente.
  3. Para cada disco na imagem, selecione um conjunto de encriptação na lista pendente Conjunto de encriptação de discos.

Criar a VM

Pode criar uma VM a partir de uma versão da imagem e utilizar chaves geridas pelo cliente para encriptar os discos. Quando cria a VM no portal, no separador Discos , selecione Encriptação inativa com chaves geridas pelo cliente ou Encriptação dupla com chaves geridas pela plataforma e geridas pelo cliente para o tipo de Encriptação. Pode selecionar o conjunto de encriptação na lista pendente.

Passos seguintes

Saiba mais sobre a encriptação de discos do lado do servidor.

Para obter informações sobre como fornecer informações sobre o plano de compra, consulte Fornecer informações do plano de compra Azure Marketplace ao criar imagens.