Cenários de Criptografia de Disco do Azure em VMs Linux

Importante

O Azure Disk Encryption está programado para ser descontinuado a 15 de setembro de 2028. Até essa data, pode continuar a usar o Azure Disk Encryption sem interrupções. A 15 de setembro de 2028, cargas de trabalho com ADE continuarão a funcionar, mas os discos encriptados não conseguirão desbloquear após o reinício da VM, resultando em interrupção do serviço.

Use encriptação na hospedagem para novas VMs, ou considere tamanhos de VM confidenciais com encriptação do disco do SO para workloads de computação confidencial. Todas as VMs habilitadas por ADE (incluindo backups) devem migrar para encriptação no host antes da data de desativação para evitar interrupções do serviço. Consulte Migrar de Encriptação de Disco Azure para Encriptação no Host para mais detalhes.

Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível

O Azure Disk Encryption para máquinas virtuais (VMs) do Azure usa o recurso DM-Crypt do Linux para fornecer criptografia de disco completo do disco do sistema operacional e dos discos de dados. Além disso, encripta o disco temporário ao utilizar a funcionalidade EncryptFormatAll.

O Azure Disk Encryption é integrado ao Azure Key Vault para ajudá-lo a controlar e gerenciar as chaves e segredos de criptografia de disco. Para obter uma descrição geral do serviço, veja Azure Disk Encryption para VMs do Linux.

Pré-requisitos

Pode aplicar encriptação de disco apenas a máquinas virtuais com tamanhos de VM e sistemas operativos suportados. Também deve cumprir os seguintes pré-requisitos:

Em todos os casos, tire um snapshot, crie uma cópia de segurança, ou ambos antes de os discos serem encriptados. Os backups garantem que uma opção de recuperação seja possível se ocorrer uma falha inesperada durante a criptografia. As VMs com discos geridos requerem uma cópia de segurança antes de ocorrer a encriptação. Depois que um backup for feito, você poderá usar o cmdlet Set-AzVMDiskEncryptionExtension para criptografar discos gerenciados especificando o parâmetro -skipVmBackup. Para obter mais informações sobre como criar uma cópia de segurança e restaurar VMs encriptadas, veja o artigo Azure Backup.

Restrições

Se anteriormente utilizou o Azure Disk Encryption com Microsoft Entra ID para encriptar uma máquina virtual, deve continuar a usar esta opção para encriptar a sua máquina virtual. Para obter os detalhes, veja Azure Disk Encryption com o Microsoft Entra ID (versão anterior).

Ao encriptar volumes do sistema operativo Linux, a VM não está disponível. Evite iniciar sessão por SSH enquanto a encriptação está em curso para evitar problemas que bloqueiem quaisquer ficheiros abertos que precisem de ser acedidos durante o processo de encriptação. Para verificar o progresso, use o cmdlet Get-AzVMDiskEncryptionStatus PowerShell ou o comando vm encryption show CLI. Pode esperar que este processo demore algumas horas para um volume do sistema operativo de 30 GB, além de tempo extra para encriptar volumes de dados. O tempo de encriptação dos volumes de dados é proporcional ao tamanho e à quantidade dos volumes de dados, a menos que a encrypt format all opção seja utilizada.

A desativação da encriptação nas VMs do Linux só é suportada para os volumes de dados. Desativar a encriptação não é suportado em volumes de dados ou do sistema operativo se o volume do sistema operativo estiver encriptado.

O Azure Disk Encryption não funciona para os seguintes cenários, funcionalidades e tecnologia Linux:

  • Criptografando VMs de camada básica ou VMs criadas por meio do método clássico de criação de VM.
  • Encriptação de VMs da série v6 com discos temporários (Ddsv6, Dldsv6, Edsv6, Dadsv6, Daldsv6, Eadsv6, Dpdsv6, Dpldsv6, Epdsv6 ou Endsv6). Para obter mais informações, consulte as páginas individuais para cada um desses tamanhos de VM listados em Tamanhos para máquinas virtuais no Azure
  • Encriptação dos tamanhos de VM da série V7 e posteriores.
  • Desativando a criptografia em uma unidade de sistema operacional ou unidade de dados de uma VM Linux quando a unidade de sistema operacional é criptografada.
  • Criptografando a unidade do sistema operacional para conjuntos de escala de máquina virtual Linux.
  • Criptografando imagens personalizadas em VMs Linux.
  • Integração com um sistema de gestão de chaves no local.
  • Arquivos do Azure (sistema de arquivos compartilhado).
  • Sistema de arquivos de rede (NFS).
  • Volumes dinâmicos.
  • Discos efémeros do sistema operativo.
  • Criptografia de sistemas de arquivos compartilhados/distribuídos como (mas não limitado a): DFS, GFS, DRDB e CephFS.
  • Mover uma VM encriptada para outra subscrição ou região.
  • Criar uma imagem ou instantâneo de uma VM criptografada e usá-la para implantar mais VMs.
  • A Criação de Registo de Falha do Kernel (kdump).
  • Oracle ACFS (Sistema de Arquivos de Cluster ASM).
  • Discos NVMe, como aqueles em tamanhos de VM de computação de alto desempenho ou tamanhos de VM otimizados para armazenamento.
  • Uma VM com "pontos de montagem aninhados", que são múltiplos pontos de montagem num único caminho (como "/1stmountpoint/data/2ndmountpoint").
  • Uma VM com uma unidade de dados montada sobre uma pasta do sistema operacional.
  • Uma VM na qual um volume lógico raiz (disco do sistema operacional) é estendido usando um disco de dados.
  • Redimensionamento do disco do SO.
  • Série de tamanhos de VM da família 'L' otimizada para armazenamento.
  • VMs da série M com discos Write Accelerator.
  • Aplicação do ADE a uma VM que tenha discos criptografados com criptografia no host ou criptografia do lado do servidor com chaves gerenciadas pelo cliente (SSE + CMK). Aplicar SSE + CMK a um disco de dados ou adicionar um disco de dados com SSE + CMK configurado para uma VM criptografada com ADE também é um cenário sem suporte.
  • Migração de uma VM criptografada com ADE, ou que já foi criptografada com ADE, para criptografia no host ou criptografia do lado do servidor com chaves gerenciadas pelo cliente.
  • Criptografando VMs em clusters de failover.
  • Encriptação de Azure Ultra Disks.
  • Encriptação de discos SSD Premium v2.
  • A criptografia de VMs em assinaturas que têm o Segredo deve ter a política de período de validade máxima especificada habilitada com o efeito DENY.

Instalar ferramentas e conectar-se ao Azure

Pode ativar e gerir o Azure Disk Encryption através do CLI do Azure e do Azure PowerShell. Para fazer isso, você deve instalar as ferramentas localmente e conectar-se à sua assinatura do Azure.

A CLI 2.0 do Azure é uma ferramenta de linha de comando para gerenciar recursos do Azure. A CLI foi projetada para consultar dados de forma flexível, suportar operações de longa execução como processos sem bloqueio e facilitar o scripting. Você pode instalá-lo localmente seguindo as etapas em Instalar a CLI do Azure.

Para entrar na sua conta do Azure com a CLI do Azure, use o comando az login .

az login

Se quiser selecionar um inquilino para iniciar sessão, utilize:

az login --tenant <tenant>

Se tiveres várias assinaturas e quiseres especificar uma, obtém a tua lista de assinaturas com az account list e especifica com az account set.

az account list
az account set --subscription "<subscription name or ID>"

Para obter mais informações, consulte Introdução à CLI 2.0 do Azure.

Habilitar a criptografia em uma VM Linux existente ou em execução

Nesse cenário, você pode habilitar a criptografia usando o modelo do Gerenciador de Recursos, cmdlets do PowerShell ou comandos da CLI. Se você precisar de informações de esquema para a extensão de máquina virtual, consulte o artigo da extensão Azure Disk Encryption for Linux .

Importante

Faça um snapshot ou faça backup de uma instância gerida de VM baseada em disco fora e antes de ativar o Azure Disk Encryption. Pode tirar um snapshot do disco gerido a partir do portal ou usar o Azure Backup. Os backups garantem que uma opção de recuperação seja possível se ocorrer uma falha inesperada durante a criptografia. Depois de fazer uma cópia de segurança, use o cmdlet Set-AzVMDiskEncryptionExtension para encriptar discos geridos, especificando o parâmetro -skipVmBackup. O comando Set-AzVMDiskEncryptionExtension falha contra VMs geridas baseadas em disco até fazeres uma cópia de segurança e especifiques este parâmetro.

Criptografar ou desabilitar a criptografia pode fazer com que a VM seja reinicializada.

Para desativar a encriptação, consulte Desativar encriptação e remover a extensão de encriptação.

Você pode habilitar a criptografia de disco em seu VHD criptografado instalando e usando a ferramenta de linha de comando da CLI do Azure . Você pode usá-lo em seu navegador com o Azure Cloud Shell ou pode instalá-lo em sua máquina local e usá-lo em qualquer sessão do PowerShell. Para habilitar a criptografia em VMs Linux existentes ou em execução no Azure, use os seguintes comandos da CLI:

Use o comando az vm encryption enable para habilitar a criptografia em uma máquina virtual em execução no Azure.

  • Criptografar uma VM em execução:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Encripte uma VM em execução usando KEK:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    Observação

    A sintaxe para o valor do parâmetro disk-encryption-keyvault é a cadeia de caracteres do identificador completo: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    A sintaxe para o valor do parâmetro key-encryption-key é o URI completo para o KEK, tal como em: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Verifique se os discos estão criptografados: Para verificar o status de criptografia de uma VM, use o comando az vm encryption show .

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    

Para desativar a encriptação, consulte Desativar encriptação e remover a extensão de encriptação.

Use o recurso EncryptFormatAll para discos de dados em VMs Linux

O parâmetro EncryptFormatAll reduz o tempo para os discos de dados Linux serem criptografados. As partições que atendem a determinados critérios são formatadas, juntamente com seus sistemas de arquivos atuais, e remontadas de volta para onde estavam antes da execução do comando. Se desejar excluir um disco de dados que atenda aos critérios, você poderá desmontá-lo antes de executar o comando.

Quando executas este comando, o Azure Disk Encryption formata quaisquer discos que já estiveram montados e inicia a camada de encriptação em cima do disco agora vazio. Quando seleciona esta opção, o Azure Disk Encryption também encripta o disco temporário ligado à VM. Se o disco temporário for reiniciado, o Azure Disk Encryption reformata e volta a encriptar o disco temporário da VM na próxima oportunidade. Depois de o disco de recurso estar encriptado, o Agente Linux do Microsoft Azure não consegue gerir o disco de recurso nem ativar o ficheiro de troca, mas pode configurar manualmente o ficheiro de troca.

Advertência

Não use o EncryptFormatAll quando existem dados necessários nos volumes de dados de uma VM. Você pode excluir discos da criptografia desmontando-os. Experimenta primeiro o parâmetro EncryptFormatAll numa VM de teste para perceberes o parâmetro de funcionalidade e as suas implicações antes de o experimentares na VM de produção. A opção EncryptFormatAll formata o disco de dados e todos os dados nele presentes são perdidos. Antes de prosseguir, verifique se os discos que pretende excluir estão devidamente desmontados.

Se você estiver definindo esse parâmetro ao atualizar as configurações de criptografia, isso pode levar a uma reinicialização antes da criptografia real. Nesse caso, você deve remover o disco que não deseja formatar do arquivo fstab. De modo semelhante, deve adicionar a partição que pretende formatada para encriptação ao ficheiro fstab antes de iniciar a operação de encriptação.

EncryptFormatTodos os critérios

O parâmetro passa por todas as partições e as criptografa, desde que atendam a todos os critérios abaixo:

  • Não é uma partição root/OS/boot
  • Ainda não está encriptado
  • Não é um volume BEK
  • Não é um volume RAID
  • Não é um volume LVM
  • É montado

Criptografe os discos que compõem o volume RAID ou LVM em vez do volume RAID ou LVM.

Use o comando az vm encryption enable para habilitar a criptografia em uma máquina virtual em execução no Azure.

  • Encripte uma VM em execução usando o EncryptFormatAll:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "data" --encrypt-format-all
    

Use o parâmetro EncryptFormatAll com o LVM (Logical Volume Manager)

Recomendamos uma configuração LVM-on-crypt. Para obter instruções detalhadas sobre o LVM na configuração de criptografia, consulte Configurar LVM e RAID em dispositivos criptografados ADE.

Novas VMs criadas a partir de VHD criptografado pelo cliente e chaves de criptografia

Neste cenário, pode ativar a encriptação usando comandos PowerShell ou comandos CLI.

Use as instruções nos scripts de exemplo do Azure Disk Encryption para preparar imagens pré-encriptadas para o Azure. Depois que a imagem for criada, você poderá usar as etapas na próxima seção para criar uma VM do Azure criptografada.

Importante

Faça um snapshot ou faça backup de uma instância gerida de VM baseada em disco fora e antes de ativar o Azure Disk Encryption. Você pode tirar um instantâneo do disco gerenciado do portal ou usar o Backup do Azure. Os backups garantem que uma opção de recuperação seja possível se ocorrer uma falha inesperada durante a criptografia. Depois de fazeres um backup, usa o cmdlet Set-AzVMDiskEncryptionExtension para encriptar discos geridos, especificando o -skipVmBackup parâmetro. O comando Set-AzVMDiskEncryptionExtension falha contra VMs geridas baseadas em disco até fazeres uma cópia de segurança e especifiques este parâmetro.

Criptografar ou desabilitar a criptografia pode fazer com que a VM seja reinicializada.

Usar o Azure PowerShell para criptografar VMs com VHDs pré-criptografados

Você pode habilitar a criptografia de disco em seu VHD criptografado usando o cmdlet do PowerShell Set-AzVMOSDisk. Este exemplo fornece alguns parâmetros comuns.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Linux -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

Habilitar a criptografia em um disco de dados recém-adicionado

Você pode adicionar um novo disco de dados usando az vm disk attach ou por meio do portal do Azure. Antes de poder criptografar, você precisa montar o disco de dados recém-conectado primeiro. Deve pedir encriptação do disco de dados porque este não é utilizável enquanto a encriptação está em andamento.

Se a VM foi anteriormente encriptada com "Todos", então o --volume-type parâmetro deve permanecer "Todos". Tudo inclui SO e discos de dados. Se a VM foi anteriormente encriptada com um tipo de volume chamado "OS", então altere o --volume-type parâmetro para "All" para que tanto o sistema operativo como o novo disco de dados sejam incluídos. Se a VM foi encriptada apenas com o tipo de volume "Data", então esse valor pode permanecer "Data", conforme demonstrado no exemplo seguinte. Adicionar e anexar um novo disco de dados a uma VM não é preparação suficiente para criptografia. Também deve formatar e montar corretamente o disco recém-ligado dentro da VM antes de ativar a encriptação. No Linux, tem de montar o disco em /etc/fstab com um nome persistente do dispositivo de bloco.

Ao contrário da sintaxe do PowerShell, a CLI não exige que forneça uma versão única da sequência ao ativar a encriptação. A CLI gera e usa automaticamente seu próprio valor de versão de sequência exclusivo.

  • Criptografe volumes de dados de uma VM em execução:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Encripte volumes de dados de uma VM em execução usando KEK:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

Desative a criptografia e remova a extensão de criptografia

Pode desativar o Azure Disk Encryption e remover a extensão Azure Disk Encryption. Desativar e remover são duas operações distintas.

Para remover o ADE, primeiro desative a encriptação e depois remova a extensão. Se remover a extensão de encriptação sem desativar o ADE, os discos permanecem encriptados. Se desativar a encriptação após remover a extensão, a extensão é reinstalada (para realizar a operação de desencriptação) e deve ser removida uma segunda vez.

Advertência

Não podes desativar a encriptação se o disco do sistema operativo estiver encriptado. (Os discos do sistema operativo são encriptados quando a operação original de encriptação especifica volumeType=ALL ou volumeType=OS.)

Desativar a encriptação só funciona quando os discos de dados estão encriptados, mas o disco do sistema operativo não.

Desativar encriptação

Pode desativar a encriptação usando o Azure PowerShell, o CLI do Azure ou um modelo do Resource Manager. Desativar a encriptação não remove a extensão (ver Remover a extensão de encriptação).

  • Desative a criptografia de disco com o Azure PowerShell: Para desabilitar a criptografia, use o cmdlet Disable-AzVMDiskEncryption .

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Desativar a encriptação com a CLI do Azure: para desativar a encriptação, use o comando 'az vm encryption disable'.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Desative a criptografia com um modelo do Gerenciador de Recursos:

    1. Selecione Implementar no Azure a partir do modelo Desativar a encriptação do disco numa VM Linux em execução.
    2. Selecione a assinatura, o grupo de recursos, o local, a VM, o tipo de volume, os termos legais e o contrato.
    3. Selecione Compra para desativar a encriptação de disco numa VM Linux em funcionamento.

Advertência

Depois de começar a desencriptação, não interfiras no processo.

Para verificar o progresso da desencriptação, use o cmdlet PowerShell Get-AzVMDiskEncryptionStatus ou o comando azVM encryption show CLI. Depois de concluído o processo de encriptação, pode remover a extensão de encriptação.

Remover a extensão de encriptação

Se quiser desencriptar os seus discos e remover a extensão de encriptação, deve desativar a encriptação antes de remover a extensão; Consulte Desativar encriptação.

Use o Azure PowerShell ou a CLI do Azure para remover a extensão de encriptação.

  • Remova a extensão de encriptação com o Azure PowerShell: Utilize o cmdlet Remove-AzVMDiskEncryptionExtension.

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Remova a extensão de encriptação com a CLI do Azure: Utilize o comando az vm extension delete.

    az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryptionForLinux"
    

Próximos passos