Cenários do Azure Disk Encryption em VMs Linux

Importante

O Azure Disk Encryption está programado para ser desativado em 15 de setembro de 2028. Até essa data, você pode continuar a usar o Azure Disk Encryption sem interrupções. Em 15 de setembro de 2028, as cargas de trabalho habilitadas para ADE continuarão a ser executadas, mas os discos criptografados não serão desbloqueados após reinicializações da VM, resultando em interrupção do serviço.

Use a criptografia no host para novas VMs ou considere tamanhos de VM confidenciais com criptografia de disco do sistema operacional para cargas de trabalho de computação confidenciais. Todas as VMs habilitadas para ADE (incluindo backups) devem migrar para a criptografia no host antes da data de desativação para evitar a interrupção do serviço. Consulte Migrar do Azure Disk Encryption para criptografia no host para obter detalhes.

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

O Azure Disk Encryption para VMs (máquinas virtuais) do Linux usa o recurso DM-Crypt do Linux para fornecer criptografia de disco completa do disco do sistema operacional e discos de dados. Além disso, ele criptografa o disco temporário ao usar o recurso EncryptFormatAll.

O Azure Disk Encryption é integrado ao Azure Key Vault para ajudar você a controlar e gerenciar as chaves de criptografia de disco e os segredos. Para obter uma visão geral do serviço, confira Azure Disk Encryption para VMs Linux.

Pré-requisitos

Você pode aplicar criptografia de disco somente a máquinas virtuais de tamanhos de VM e sistemas operacionais compatíveis. Você também deve atender aos seguintes pré-requisitos:

Em todos os casos, tire um instantâneo, crie um backup ou ambos antes que os discos sejam criptografados. Os backups garantem que uma opção de recuperação seja possível, no caso de uma falha inesperada durante a criptografia. VMs com discos gerenciados exigem um backup antes que a criptografia ocorra. Depois que um backup é feito, você poderá usar o cmdlet Set-AzVMDiskEncryptionExtension para criptografar discos gerenciados, especificando o parâmetro -skipVmBackup. Para obter mais informações sobre como fazer backup e restaurar VMs criptografadas, consulte o artigo Backup do Microsoft Azure.

Restrições

Se você usou anteriormente Azure Disk Encryption com Microsoft Entra ID para criptografar uma máquina virtual, você deve continuar a usar essa opção para criptografar sua máquina virtual. Consulte Azure Disk Encryption com o Microsoft Entra ID (versão anterior) para obter detalhes.

Ao criptografar volumes do sistema operacional Linux, a VM não está disponível. Evite entradas SSH enquanto a criptografia está em andamento para evitar problemas que bloqueiam arquivos abertos que precisam ser acessados durante o processo de criptografia. Para verificar o progresso, use o cmdlet Get-AzVMDiskEncryptionStatus do PowerShell ou o comando vm encryption show da CLI. Você pode esperar que esse processo leve algumas horas para um volume de sistema operacional de 30 GB, além de tempo extra para criptografar volumes de dados. O tempo de criptografia do volume de dados é proporcional ao tamanho e à quantidade dos volumes de dados, a menos que a opção encrypt format all seja usada.

Desabilitar criptografia nas VMs do Linux tem suporte apenas para volumes de dados. Não há suporte para desabilitação de criptografia em volumes de dados ou de sistema operacional se o volume do sistema operacional estiver criptografado.

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

  • criptografia de VM de camada básica ou VMs criadas por meio do método de criação de VM clássico.
  • Criptografar 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
  • Criptografar a série V7 e tamanhos de VM mais recentes.
  • Desabilitação da criptografia em uma unidade do sistema operacional ou unidade de dados de uma VM Linux quando a unidade do sistema operacional é criptografada.
  • Criptografia da unidade do sistema operacional para conjuntos de dimensionamento de máquinas virtuais do Linux.
  • Criptografia de imagens personalizadas em VMs Linux.
  • Integração ao sistema de gerenciamento de chaves local.
  • Arquivos do Azure (sistema de arquivo compartilhado).
  • NFS (Network File System).
  • Volumes dinâmicos.
  • Discos do SO Efêmero.
  • Criptografia de sistemas de arquivos compartilhados/distribuídos como (mas não se limitando a): DFS, GFS, DRDB e CephFS.
  • Mover uma VM criptografada para outra assinatura ou região.
  • Criando uma imagem ou instantâneo de uma VM criptografada e usando-a para implantar mais VMs.
  • Kdump (kernel de despejo de memória).
  • Oracle ACFS (Sistema de Arquivos de Cluster do 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 vários pontos de montagem em um só caminho (como "/1stmountpoint/data/2ndmountpoint")
  • Uma VM com uma unidade de dados montada na parte superior de uma pasta do sistema operacional.
  • Uma VM na qual um volume lógico raiz (disco do SO) é estendido usando um disco de dados.
  • Redimensionamento de disco do SO.
  • Série de tamanho de VM otimizada para armazenamento da família "L".
  • VMs da série M com discos Acelerador de Gravação.
  • Aplicar ADE a uma VM que tem discos criptografados com criptografia em 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.
  • Migrar uma VM criptografada com a ADE ou que foi criptografada com a ADE para Criptografia no Host ou criptografia do lado do servidor com chaves gerenciadas pelo cliente.
  • Criptografia de VMs em clusters de failover.
  • Criptografia do Azure Ultra Disks.
  • Criptografia de discos SSD Premium v2.
  • Criptografia de VMs em assinaturas que tenham a política de Segredos devem ter o período máximo de validade especificado habilitada com o efeito DENY.

Instalar ferramentas e conectar-se ao Azure

Você pode habilitar e gerenciar Azure Disk Encryption por meio do CLI do Azure e Azure PowerShell. Para fazer isso, você deve instalar as ferramentas localmente e se conectar à sua assinatura do Azure.

O CLI 2.0 do Azure é uma ferramenta de linha de comando para gerenciar recursos do Azure. A CLI é projetada para consultar dados com flexibilidade, dar suporte a operações de longa execução como processos desbloqueados e facilitar o script. Você pode instalá-la localmente seguindo as etapas em Instalar a CLI do Azure.

Para Entrar na assinatura do Azure com a CLI do Azure, use o comando az login.

az login

Se você quer selecionar um locatário a ser usado para entrar, use:

az login --tenant <tenant>

Se você tiver várias assinaturas e quiser especificar uma lista específica, obtenha a lista de assinaturas com az account list e especifique com az account set.

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

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

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

Nesse cenário, é possível habilitar a criptografia usando o modelo do Resource Manager, os cmdlets do PowerShell ou os comandos da CLI. Se você precisar de informações de esquema para a extensão de máquina virtual, consulte o Azure Disk Encryption para extensão do Linux artigo.

Importante

Faça um instantâneo ou backup de uma instância de VM baseada em disco gerenciada fora e antes de habilitar o Azure Disk Encryption. Você pode tirar um instantâneo do disco gerenciado do portal ou usar Backup do Azure. Os backups garantem que uma opção de recuperação seja possível, no caso de uma falha inesperada durante a criptografia. Depois de fazer um backup, use o cmdlet Set-AzVMDiskEncryptionExtension para criptografar discos gerenciados especificando o parâmetro -skipVmBackup. O comando Set-AzVMDiskEncryptionExtension falha em VMs gerenciadas baseadas em disco até que você faça um backup e especifique esse parâmetro.

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

Para desabilitar a criptografia, confira Desabilitar criptografia e remover a extensão de criptografia.

É possível habilitar a criptografia de disco no 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 você pode instalá-lo em seu computador 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]
    
  • Criptografar 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 do valor do parâmetro key-encryption-key é o URI completo da KEK, como em: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Verificar 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 desabilitar a criptografia, confira Desabilitar criptografia e remover a extensão de criptografia.

Usar o recurso EncryptFormatAll para discos de dados em VMs Linux

O parâmetro EncryptFormatAll reduz o tempo de criptografia dos discos de dados do Linux. As partições que atendem a determinados critérios são formatadas, juntamente com seus sistemas de arquivos atuais, e remontadas de volta ao local em que estavam antes da execução do comando. Se você quiser excluir um disco de dados que atenda aos critérios, será possível desmontá-lo antes de executar o comando.

Quando você executa esse comando, Azure Disk Encryption formata todas as unidades que foram montadas anteriormente e inicia a camada de criptografia na parte superior da unidade agora vazia. Quando você seleciona essa opção, Azure Disk Encryption também criptografa o disco temporário anexado à VM. Se o disco temporário for redefinido, o Azure Disk Encryption reformata e criptografa novamente o disco temporário da VM na próxima oportunidade. Depois que o disco de recurso é criptografado, o agente do Microsoft Azure Linux não pode gerenciar o disco de recurso e habilitar o arquivo de troca, mas você pode configurar manualmente o arquivo de troca.

Aviso

Não use EncryptFormatAll quando houver dados necessários nos volumes de dados de uma VM. É possível excluir discos da criptografia desmontando-os. Experimente o parâmetro EncryptFormatAll em uma VM de teste primeiro para entender o parâmetro de recurso e suas implicações antes de experimentá-lo na VM de produção. A opção EncryptFormatAll formata o disco de dados e todos os dados nele são perdidos. Antes de continuar, verifique se os discos que você deseja excluir estão desmontados corretamente.

Se você estiver configurando esse parâmetro ao atualizar as configurações de criptografia, isso poderá levar a um reinício antes da criptografia real. Nesse caso, você deve remover o disco que não deseja formatar do arquivo fstab. Da mesma forma, é necessário adicionar a partição que deseja criptografar ao arquivo fstab antes de iniciar a operação de criptografia.

Critérios do EncryptFormatAll

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 de inicialização/SO/raiz
  • Ainda não está criptografado
  • Não é um volume BEK
  • Não é um volume RAID
  • Não é um volume LVM
  • Está 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.

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

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

Usar o parâmetro EncryptFormatAll com LVM (Gerenciador de Volume Lógico)

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

VMs criadas usando as chaves de criptografia e o VHD criptografado pelo cliente

Nesse cenário, você pode habilitar a criptografia usando cmdlets ou comandos da CLI do PowerShell.

Use as instruções nos scripts de exemplo Azure Disk Encryption para preparar imagens pré-criptografadas para 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 instantâneo ou backup de uma instância de VM baseada em disco gerenciada fora e antes de habilitar o Azure Disk Encryption. Você pode tirar um instantâneo do disco gerenciado no portal ou usar o Backup do Azure. Os backups garantem que uma opção de recuperação seja possível, no caso de uma falha inesperada durante a criptografia. Depois de fazer um backup, use o cmdlet Set-AzVMDiskEncryptionExtension para criptografar discos gerenciados especificando o -skipVmBackup parâmetro. O comando Set-AzVMDiskEncryptionExtension falha em VMs gerenciadas baseadas em disco até que você faça um backup e especifique esse parâmetro.

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

Usar o Azure PowerShell para criptografar VMs com VHDs previamente criptografados

É possível habilitar a criptografia de disco no VHD criptografado usando o cmdlet do PowerShell Set-AzVMOSDisk. Este exemplo fornece a você 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 criptografia em um disco de dados adicionado recentemente

É possível adicionar um novo disco de dados usando az vm disk attach ou por meio do portal do Azure. Antes de poder criptografar, primeiro será necessário montar o disco de dados anexado recentemente. Você deve solicitar a criptografia da unidade de dados porque a unidade não é utilizável enquanto a criptografia está em andamento.

Se a VM foi criptografada anteriormente com "All", o --volume-type parâmetro deverá permanecer "Todos". Todos inclui o sistema operacional e os discos de dados. Se a VM tiver sido criptografada anteriormente com um tipo de volume do tipo "SO", altere o parâmetro --volume-type para "Todos" para que tanto o sistema operacional quanto o novo disco de dados sejam incluídos. Se a VM foi criptografada usando apenas o tipo de volume "Data", ele poderá permanecer "Data", conforme demonstrado no exemplo a seguir. Adicionar e anexar um novo disco de dados a uma VM não é preparação suficiente para a criptografia. Você também deve formatar e montar corretamente o disco recém-anexado na VM antes de habilitar a criptografia. No Linux, você deve montar o disco em /etc/fstab com um nome de dispositivo de bloco persistente.

Ao contrário da sintaxe do PowerShell, a CLI não exige que você forneça uma versão de sequência exclusiva ao habilitar a criptografia. A CLI gera e usa automaticamente o 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"
    
  • Criptografar 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"
    

Desabilitar a criptografia e remover a extensão de criptografia

Você pode desabilitar Azure Disk Encryption e remover a extensão Azure Disk Encryption. Desabilitar e remover são duas operações distintas.

Para remover o ADE, primeiro desabilite a criptografia e remova a extensão. Se você remover a extensão de criptografia sem desabilitar o ADE, os discos permanecerão criptografados. Se você desabilitar a criptografia depois de remover a extensão, a extensão será reinstalada (para executar a operação de descriptografia) e deverá ser removida uma segunda vez.

Aviso

Você não poderá desabilitar a criptografia se o disco do sistema operacional estiver criptografado. (Os discos do sistema operacional são criptografados quando a operação de criptografia original especifica volumeType=ALL ou volumeType=OS.)

Desabilitar a criptografia só funciona quando os discos de dados são criptografados, mas o disco do sistema operacional não funciona.

Desabilitar criptografia

Você pode desabilitar a criptografia usando Azure PowerShell, o CLI do Azure ou com um modelo de Resource Manager. Desabilitar a criptografia não remove a extensão (consulte Remover a extensão de criptografia).

  • Desabilitar 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"
    
  • Desabilitar criptografia com a CLI do Azure: para desabilitar a criptografia, use o comando az vm encryption disable.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Desabilitar criptografia com um modelo do Resource Manager:

    1. Selecione Implantar no Azure no modelo Desabilitar a criptografia de disco em uma 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 Comprar para desabilitar a criptografia de disco em uma VM Linux em execução.

Aviso

Depois que a descriptografia for iniciada, não interfira no processo.

Para verificar o progresso da descriptografia, use o cmdlet Get-AzVMDiskEncryptionStatus PowerShell ou o comando az vm encryption show CLI. Depois que o processo de descriptografia for concluído, você poderá remover a extensão de criptografia.

Remover a extensão de criptografia

Se você quiser descriptografar seus discos e remover a extensão de criptografia, desabilite a criptografia antes de remover a extensão. Confira desabilitar criptografia.

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

  • Remova a extensão de criptografia com o Azure PowerShell: Use o cmdlet Remove-AzVMDiskEncryptionExtension.

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

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

Próximas etapas