Compartilhar via


Criar um pool com a criptografia de disco habilitada

Ao criar um pool de Lote do Azure usando a Configuração de máquina virtual, você pode criptografar nós de computação no pool com uma chave gerenciada por plataforma especificando a configuração de criptografia de disco.

Este artigo explica como criar um pool de lote com a criptografia de disco habilitada.

Por que usar um pool com a configuração de criptografia de disco?

Com um "Batch pool", você pode acessar e armazenar dados no sistema operacional e nos discos temporários do nó de computação. Criptografar o disco do lado do servidor com uma chave gerenciada por plataforma protegerá esses dados com baixa sobrecarga e conveniência.

Batch aplicará uma dessas tecnologias de criptografia de disco em nós de computação, com base na configuração do pool e no suporte regional.

Você não poderá especificar qual método de criptografia será aplicado aos nós no pool. Em vez disso, você fornece os discos de destino que deseja criptografar nos nós, e o Batch pode escolher o método de criptografia apropriado, garantindo que os discos especificados sejam criptografados no nó de computação. A imagem a seguir descreve como o Batch faz essa escolha.

Importante

Se você estiver criando seu pool com uma imagem personalizada do Linux, só poderá habilitar a criptografia de disco se o pool estiver usando um tamanho de VM compatível com criptografia no host. Atualmente, a criptografia no host não é compatível com pools de assinatura de usuário até que o recurso entre em disponibilidade geral no Azure.

Captura de tela da criação do pool no portal do Azure.

Algumas configurações de criptografia de disco exigem que a família de VMs do pool dê suporte à criptografia no host. Confira Criptografia de ponta a ponta usando a criptografia no host para determinar quais famílias de VM dão suporte à criptografia no host.

portal do Azure

Ao criar um pool de Batch no portal do Azure, selecione em Configuração de Criptografia de Disco entre OsDisk, TemporaryDisk ou OsAndTemporaryDisk.

Captura de tela da opção Configuração de Criptografia de Disco no portal do Azure.

Depois que o pool é criado, você pode ver os destinos de configuração de criptografia de disco na seção Propriedades do pool.

Captura de tela mostrando os destinos de configuração de criptografia de disco na portal do Azure.

Exemplos

Os exemplos a seguir mostram como criptografar o sistema operacional e os discos temporários em um pool do Lote usando o SDK do Azure.ResourceManager.Batch, a API REST do Lote e a CLI do 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 do Lote

URL DA API REST:

POST {batchURL}/pools?api-version=2020-03-01.11.0
client-request-id: 00000000-0000-0000-0000-000000000000

Corpo da solicitação:

"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 do 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

Próximas etapas