Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al crear un grupo de Azure Batch con la configuración de la máquina virtual, puede cifrar los nodos de proceso del grupo con una clave administrada por la plataforma especificando la configuración del cifrado de disco.
En este artículo se explica cómo crear un grupo de Batch con el cifrado de discos habilitado.
Importante
Azure Disk Encryption (ADE) para Azure Batch pools se retira el 15 de septiembre de 2028. Antes de esa fecha, migra configuraciones de pool que dependen de ADE para cifrado de disco temporal a cifrado en el host. La puesta en desuso no afecta al cifrado predeterminado del lado del servidor de los discos gestionados.
¿Por qué usar un grupo con la configuración de cifrado de disco?
Con un grupo de Batch, puede obtener acceso y almacenar datos en el sistema operativo y los discos temporales del nodo de proceso. El cifrado del disco del servidor con una clave administrada por la plataforma protegerá estos datos con una baja sobrecarga y comodidad.
Batch aplicará una de estas tecnologías de cifrado de discos en nodos de proceso, en función de la configuración del grupo y la compatibilidad regional.
- Cifrado de discos en reposo con claves administradas por la plataforma
- Cifrado en el host con una clave administrada por la plataforma
- Azure Disk Encryption para grupos de Batch, que se retira el 15 de septiembre de 2028
Los objetivos de cifrado de disco no seleccionan directamente una tecnología de cifrado. Especificas los discos de destino que quieres cifrar, y el Batch selecciona una tecnología aplicable según la configuración del pool. Puedes solicitar explícitamente cifrado en el host en el perfil de seguridad de la máquina virtual. La siguiente imagen muestra cómo Batch hace la selección.
Importante
Si creas tu pool con una imagen personalizada de Linux, solo puedes activar el cifrado de disco si tu pool usa un tamaño de VM que soporte cifrado en el host.
Para un grupo de suscripciones de usuario, registre la característica Microsoft.Compute/EncryptionAtHost en la suscripción que contenga los recursos del grupo y establezca explícitamente securityProfile.encryptionAtHost en true. Para más información, consulte Requisitos previos para el cifrado en el host.
Algunas configuraciones de cifrado de disco requieren que la familia de máquinas virtuales del grupo admita el cifrado en el host. Consulte Cifrado de un extremo a otro mediante el cifrado en el host para averiguar qué familias de máquinas virtuales admiten el cifrado en el host.
Note
El cifrado temporal de disco en tamaños de máquinas virtuales que no soportan cifrado en el host requiere Azure Disk Encryption (ADE). ADE no está compatible con tamaños de VM Basic, A-series, v6-series, v7-series (y posteriores), ni en VMs con menos de 2 GB de memoria. Si activas el cifrado temporal de disco en uno de estos tamaños no soportados, Batch rechaza la creación de pools con un AzureDiskEncryptionNotSupportedOnVMSize error. Para usar cifrado del disco temporal sin ADE, elige un tamaño de máquina virtual y una suscripción que soporten cifrado en el host. Para un pool de servicio Batch, no desactives explícitamente el cifrado en el host. Para un grupo de suscripciones de usuarios, se establece securityProfile.encryptionAtHost explícitamente en true.
Retirada del servicio de Azure Disk Encryption
Azure Disk Encryption (ADE) para grupos de Batch se retira el 15 de septiembre de 2028. Tras la fecha de retirada, los grupos de Batch no admiten ADE. Las configuraciones de pool que continúan dependiendo de ADE pueden experimentar interrupciones cuando el Batch provisiona o reemplaza nodos de cómputo.
Complete la migración antes de la fecha de retirada si la configuración de su grupo requiere cifrado de disco temporal y puede seleccionar ADE. Utilice el cifrado en el host como alternativa. El cifrado en el host cifra el disco temporal, los discos efímeros del sistema operativo y las cachés de los discos del sistema operativo y de datos en el host de la máquina virtual.
La retirada de ADE no afecta al cifrado gestionado de disco en reposo con claves gestionadas por plataforma, que está habilitado por defecto para discos gestionados en Azure.
Determine si su grupo requiere alguna acción
Las propiedades del pool de Batch muestran los objetivos de cifrado de disco que solicitaste, pero no identifican la tecnología de cifrado que Batch seleccionó para los nodos. Utilice la siguiente tabla para evaluar si la configuración de un pool puede depender de ADE.
| Configuración del grupo | Dependencia de ADE | Action |
|---|---|---|
diskEncryptionConfiguration no está configurado, o TemporaryDisk no está incluido entre sus objetivos |
La configuración no depende de ADE para cifrado temporal de disco. | No es necesario realizar ninguna acción para esta retirada. |
Se solicita el modo TemporaryDisk de asignación de pool de servicios por lotes, el tamaño de la máquina virtual soporta cifrado en el host, y el cifrado en host no está desactivado explícitamente |
Batch selecciona el cifrado en el host. | No se requiere ninguna migración. Sigue usando un tamaño de máquina virtual que soporte cifrado en el host. |
Se solicita el modo TemporaryDisk de asignación de pool de servicios por lotes, y el tamaño de la VM no soporta cifrado en el host |
La configuración puede depender de ADE. | Migra a un tamaño de VM que soporte cifrado en el host. |
Se solicita el modo TemporaryDisk de asignación de pool de suscripciones de usuarios, y securityProfile.encryptionAtHost no está configurado como true |
La configuración puede depender de ADE. Batch no habilita automáticamente el cifrado en el host para los grupos de suscripciones de usuarios. | Registra la función de cifrado en el host en la suscripción del pool y activa explícitamente el cifrado en el host. |
securityProfile.encryptionAtHost se establece explícitamente como false y se solicita TemporaryDisk |
La configuración puede depender de ADE. | Utiliza un tamaño de VM compatible y establece encryptionAtHost en true. |
Para determinar si un tamaño de VM admite el cifrado en el host, consulte Tamaños de VM compatibles.
Configurar nuevos grupos
Para nuevos pools que requieren cifrado temporal de disco, seleccione un tamaño de máquina virtual que soporte cifrado en el host. No desactives explícitamente el cifrado en el host.
Para los pools de suscripción de usuarios, también registra la función Microsoft.Compute/EncryptionAtHost en la suscripción que contiene los recursos del pool y configura securityProfile.encryptionAtHost en true.
Migrar un pool existente a cifrado a nivel de host
Puedes actualizar un pool existente sin eliminar el pool de Batch. La actualización reemplaza el despliegue de cómputo subyacente cuando vuelves a ampliar el grupo.
- Deja de programar tareas nuevas en el pool y espera a que terminen las tareas en ejecución o muévelas a otro pool.
- Redimensiona tanto el número de nodos dedicados como el número de nodos Spot o de baja prioridad a cero.
- Espera hasta que el estado de asignación del pool sea Steady y el número actual de nodos sea cero.
- Utiliza la versión
2024-07-01o posterior de la API Pool - Update del plano de administración por lotes para:- Selecciona un tamaño de máquina virtual que soporte cifrado en el host, si el tamaño actual no lo permite.
- Establece
deploymentConfiguration.virtualMachineConfiguration.securityProfile.encryptionAtHostentrue. - Conserva los objetivos de cifrado de disco requeridos y las demás propiedades de configuración de la máquina virtual.
- Redimensiona el pool según los números de nodos objetivo requeridos. Batch crea un nuevo despliegue de cómputo subyacente utilizando la configuración actualizada.
Por ejemplo, la parte relevante de una solicitud del plano de administración PATCH es:
{
"properties": {
"vmSize": "<encryption-at-host-supported-vm-size>",
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "<publisher>",
"offer": "<offer>",
"sku": "<sku>",
"version": "<version>"
},
"nodeAgentSkuId": "<node-agent-sku-id>",
"diskEncryptionConfiguration": {
"targets": [
"OsDisk",
"TemporaryDisk"
]
},
"securityProfile": {
"encryptionAtHost": true
}
}
}
}
}
Caution
Incluye las propiedades existentes de configuración de la máquina virtual que el pool debe conservar, como su referencia de imagen, SKU del agente de nodos, configuración del disco del sistema operativo, configuración de contenedores, extensiones y discos de datos. Antes de actualizar un pool de producción, recupera su configuración actual y construye la solicitud con todos los valores necesarios.
Para obtener más información sobre las actualizaciones de cero nodos y el comportamiento de las actualizaciones, consulta Actualizar las propiedades del grupo de Batch.
Azure portal
Al crear un grupo de Batch en Azure Portal, seleccione OsDisk, TemporaryDisk u OsAndTemporaryDisk en Configuración de cifrado de disco.
Una vez creado el grupo, puede ver los destinos de configuración del cifrado de disco en la sección Propiedades.
Ejemplos
En los ejemplos siguientes se muestra cómo cifrar el sistema operativo y los discos temporales en un grupo de Batch mediante el SDK de Azure.ResourceManager.Batch, la API REST de Batch y la CLI de Azure.
Azure. ResourceManager.Batch SDK
using Azure;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Batch;
using Azure.ResourceManager.Batch.Models;
//...
public async Task SetDiskEncryption()
{
ArmClient client = new ArmClient(new DefaultAzureCredential());
ResourceIdentifier batchAccountResourceId =
BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
BatchAccountPoolCollection poolCollection = batchAccount.GetBatchAccountPools();
BatchAccountPoolData poolData = new BatchAccountPoolData()
{
VmSize = "standard_ds1_v2",
DeploymentConfiguration = new BatchDeploymentConfiguration()
{
VmConfiguration = new BatchVmConfiguration(
imageReference: new BatchImageReference()
{
Publisher = "Canonical",
Offer = "UbuntuServer",
Sku = "22.04-LTS"
},
nodeAgentSkuId: "batch.node.ubuntu 22.04")
{
DiskEncryptionConfiguration = new BatchDiskEncryptionConfiguration()
{
Targets = { BatchDiskEncryptionTarget.OSDisk, BatchDiskEncryptionTarget.TemporaryDisk }
}
}
}
};
ArmOperation<BatchAccountPoolResource> pool = await poolCollection.CreateOrUpdateAsync(
WaitUntil.Completed, "diskencryptionPool", poolData);
}
API REST de Procesamiento por Lotes
URL de la API REST:
POST {batchURL}/pools?api-version=2020-03-01.11.0
client-request-id: 00000000-0000-0000-0000-000000000000
Cuerpo de la solicitud:
"pool": {
"id": "pool2",
"vmSize": "standard_a1",
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "22.04-LTS"
},
"diskEncryptionConfiguration": {
"targets": [
"OsDisk",
"TemporaryDisk"
]
},
"nodeAgentSKUId": "batch.node.ubuntu 22.04"
},
"resizeTimeout": "PT15M",
"targetDedicatedNodes": 5,
"targetLowPriorityNodes": 0,
"taskSlotsPerNode": 3,
"enableAutoScale": false,
"enableInterNodeCommunication": false
}
CLI de Azure
az batch pool create \
--id diskencryptionPool \
--vm-size Standard_DS1_V2 \
--target-dedicated-nodes 2 \
--image canonical:ubuntuserver:22.04-LTS \
--node-agent-sku-id "batch.node.ubuntu 22.04" \
--disk-encryption-targets OsDisk TemporaryDisk
Pasos siguientes
- Obtenga información sobre el cifrado del lado servidor de Azure Disk Storage.
- Para obtener información general detallada sobre Batch, consulte Flujo de trabajo y recursos del servicio Batch.