Creación de una versión de imagen cifrada con claves administradas por el cliente

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjuntos de escalado flexibles ✔️ Conjuntos de escalado uniformes

Las imágenes de una instancia de Azure Compute Gallery (anteriormente conocida como Shared Image Gallery) se almacenan como instantáneas. Estas imágenes se cifran automáticamente a través del cifrado AES del lado servidor de 256 bits. El cifrado del lado servidor también es compatible con FIPS 140-2. Para más información sobre de los módulos criptográficos subyacentes en los discos administrados de Azure, consulte Cryptography API: última generación.

Puede confiar en las claves administradas por la plataforma para el cifrado de las imágenes, o bien usar claves propias. También puede usar ambas características juntas para duplicar el cifrado. Si opta por administrar el cifrado con claves propias, puede especificar una clave administrada por el cliente que se usará para cifrar y descifrar todos los discos de las imágenes.

El cifrado del lado servidor mediante claves administradas por el cliente usa Azure Key Vault. Puede importar las claves RSA a su instancia de Key Vault o generar nuevas claves RSA en Azure Key Vault.

Requisitos previos

Para este artículo, es necesario que ya disponga de un conjunto de cifrado de disco en cada región donde quiera replicar la imagen:

  • Para usar solo una clave administrada por el cliente, consulte los artículos sobre la habilitación de claves administradas por el cliente con el cifrado del lado servidor mediante Azure Portal o PowerShell.

  • Para usar las claves administradas por la plataforma y las administradas por el cliente (para el cifrado doble), consulte los artículos sobre la habilitación del cifrado doble en reposo mediante Azure Portal o PowerShell.

    Importante

    Debe usar el vínculo https://aka.ms/diskencryptionupdates para acceder a Azure Portal. El cifrado doble en reposo no está visible actualmente en Azure Portal público, salvo si usa el vínculo.

Limitaciones

Si usa claves administradas por el cliente para cifrar imágenes en Azure Compute Gallery, se aplican las limitaciones siguientes:

  • Los conjuntos de claves de cifrado deben estar en la misma suscripción que la imagen.

  • Los conjuntos de claves de cifrado son recursos regionales, por lo que cada región requiere un conjunto de claves de cifrado diferente.

  • Una vez que ha usado claves propias para cifrar una imagen, no puede volver a usar claves administradas por la plataforma para cifrar esas imágenes.

  • El origen de la versión de la imagen de máquina virtual no admite actualmente el cifrado de claves administradas por el cliente.

  • Algunas de las características, como la replicación de una imagen de SSE+CMK, la creación de una imagen a partir del disco cifrado SSE+CMK, etc., no se admiten a través del portal.

PowerShell

Para especificar un conjunto de cifrado de disco para una versión de imagen, use New-AzGalleryImageVersion con el 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

Crear una VM

Puede crear una máquina virtual (VM) a partir de Azure Compute Gallery y usar claves administradas por el cliente para cifrar los discos. La sintaxis es la misma que para crear una VM generalizada o especializada a partir de una imagen. Use el conjunto de parámetros extendido y agregue Set-AzVMOSDisk -Name $($vmName +"_OSDisk") -DiskEncryptionSetId $diskEncryptionSet.Id -CreateOption FromImage a la configuración de la VM.

En el caso de los discos de datos, agregue el parámetro -DiskEncryptionSetId $setID al usar Add-AzVMDataDisk.

CLI

Para especificar un conjunto de cifrado de disco para una versión de imagen, use az image gallery create-image-version con el parámetro --target-region-encryption. El formato de --target-region-encryption es una lista de claves separadas por comas para cifrar los discos de sistema operativo y de datos. Debería ser parecido a este: <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>.

Si el origen del disco del sistema operativo es un disco administrado o una máquina virtual, use --managed-image para especificar el origen de la versión de la imagen. En este ejemplo, el origen es una imagen administrada que tiene un disco del sistema operativo y un disco de datos en LUN 0. El disco del sistema operativo se cifrará con DiskEncryptionSet1 y el disco de datos, con 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"

Si el origen del disco del sistema operativo es una instantánea, use --os-snapshot para especificarlo. Agregue cualquier otra instantánea de disco de datos que también deba formar parte de la versión de la imagen. Use --data-snapshot-luns para especificar el LUN y --data-snapshots para especificar las instantáneas.

En este ejemplo, los orígenes son instantáneas de disco. Hay un disco del sistema operativo y también uno de datos en LUN 0. El disco del sistema operativo se cifrará con DiskEncryptionSet1 y el disco de datos, con 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 
   

Creación de la máquina virtual

Puede crear una VM a partir de Azure Compute Gallery y usar claves administradas por el cliente para cifrar los discos. La sintaxis es la misma que para crear una máquina virtual generalizada o especializada con la adición del parámetro --os-disk-encryption-set. En el caso de los discos de datos, agregue --data-disk-encryption-sets con una lista delimitada por espacios de los conjuntos de cifrado de disco para los discos de datos.

Portal

Al crear la versión de la imagen en el portal, puede usar la pestaña Cifrado para aplicar los conjuntos de cifrado de almacenamiento.

  1. En la página Crear una versión de imagen, seleccione la pestaña Cifrado.
  2. En Tipo de cifrado, seleccione Cifrado en reposo con una clave administrada por el cliente o Cifrado doble con claves administradas por el cliente y la plataforma.
  3. Para cada disco de la imagen, seleccione un conjunto de cifrado en la lista desplegable Conjunto de cifrado de disco.

Creación de la máquina virtual

Puede crear una máquina virtual a partir de una versión de imagen y usar claves administradas por el cliente para cifrar los discos. Al crear la VM en el portal, en la pestaña Discos, seleccione Cifrado en reposo con claves administradas por el cliente o Cifrado doble con claves administradas por el cliente y la plataforma para Tipo de cifrado. Después puede seleccionar el conjunto de cifrado en la lista desplegable.

Pasos siguientes

Obtenga más información sobre cifrado de disco del lado servidor.

Para obtener información sobre cómo proporcionar información del plan de compra, consulte Indicación de la información del plan de compra de Azure Marketplace al crear imágenes.