Partilhar via


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

Importante

A Criptografia de Disco do Azure para Máquinas Virtuais e Conjuntos de Dimensionamento de Máquinas Virtuais será desativada em 15 de setembro de 2028. Novos clientes devem usar criptografia no host para todas as novas VMs. Os clientes existentes devem planear migrar as VMs atuais habilitadas para ADE para a criptografia no host antes da data de desativação para evitar interrupções de serviço -- consulte Migrar da Criptografia de Disco do Azure para a criptografia no host.

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, proporciona encriptação do 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

Só pode aplicar a encriptação de discos a máquinas virtuais de tamanhos e sistemas operativos de VM suportados. Também deve cumprir os seguintes pré-requisitos:

Em todos os casos, você deve tirar um instantâneo e/ou criar um backup antes que os discos sejam criptografados. 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 você usou anteriormente o Azure Disk Encryption com a ID do Microsoft Entra para criptografar uma máquina virtual, deverá continuar usando essa opção para criptografar sua máquina virtual. Para obter os detalhes, veja Azure Disk Encryption com o Microsoft Entra ID (versão anterior).

Ao encriptar os volumes do SO Linux, a VM deverá ser considerada indisponível. É altamente recomendável evitar logins SSH enquanto a criptografia está em andamento para evitar problemas bloqueando quaisquer arquivos abertos que precisem ser acessados durante o processo de criptografia. Para verificar o progresso, use o cmdlet Get-AzVMDiskEncryptionStatus PowerShell ou o comando vm encryption show CLI. Pode-se esperar que esse processo leve algumas horas para um volume de sistema operacional de 30GB, 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 criptografar todos os formatos seja usada.

A desativação da encriptação nas VMs do Linux só é suportada para os volumes de dados. A desativação da criptografia não é suportada em dados ou volumes do sistema operacional se o volume do sistema operacional estiver criptografado.

O Azure Disk Encryption não funciona para os seguintes cenários, funcionalidades e tecnologia do 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
  • 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.
  • Kernel Crash Dump (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"; ou seja, múltiplos pontos de montagem num só 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 tamanho de VM otimizada para armazenamento da família 'L'.
  • 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.
  • Criptografia de discos ultra do Azure.
  • 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

O Azure Disk Encryption pode ser habilitado e gerenciado por meio da 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 pretender 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

É obrigatório criar instantâneos e/ou fazer backup de uma instância de VM baseada em disco gerenciado fora e antes de habilitar a Criptografia de Disco do Azure. Um instantâneo do disco gerenciado pode ser obtido no portal ou por meio do Backup do Azure. Os backups garantem que uma opção de recuperação seja possível no caso de qualquer falha inesperada durante a criptografia. Depois que um backup é feito, o cmdlet Set-AzVMDiskEncryptionExtension pode ser usado para criptografar discos gerenciados especificando o parâmetro -skipVmBackup. O comando Set-AzVMDiskEncryptionExtension falha em VMs baseadas em disco gerenciado até que um backup seja feito e esse parâmetro seja especificado.

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]
    
  • Criptografe uma VM em execução usando o 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.

Depois de executar esse comando, todas as unidades que foram montadas anteriormente são formatadas e a camada de criptografia será iniciada sobre a unidade agora vazia. Quando essa opção é selecionada, o disco temporário conectado à VM também é criptografado. Se o disco temporário for redefinido, a Criptografia de Disco do Azure reformatará e criptografará novamente o disco temporário da VM na próxima oportunidade. Depois que o disco de recurso é criptografado, o Agente Linux do Microsoft Azure não é capaz de gerenciar o disco de recursos e habilitar o arquivo de permuta, mas você pode configurar manualmente o arquivo de permuta.

Advertência

EncryptFormatAll não deve ser usado quando há dados necessários nos volumes de dados de uma VM. Você pode excluir discos da criptografia desmontando-os. Você deve primeiro experimentar o EncryptFormatAll primeiro em uma VM de teste, entender o parâmetro de recurso e sua implicação antes de experimentá-lo na VM de produção. A opção EncryptFormatAll formata o disco de dados e todos os dados nele serão perdidos. Antes de continuar, verifique se os discos que você deseja excluir estão desmontados corretamente.

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.

  • Criptografe 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
    

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

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

Use as instruções nos mesmos scripts de criptografia de disco do Azure para preparar imagens pré-criptografadas que podem ser usadas no 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

É obrigatório criar instantâneos e/ou fazer backup de uma instância de VM baseada em disco gerenciado fora e antes de habilitar a Criptografia de Disco do Azure. Uma captura do disco gerido pode ser feita a partir do portal ou pode ser utilizado o Azure Backup. Os backups garantem que uma opção de recuperação seja possível no caso de qualquer falha inesperada durante a criptografia. Depois que um backup é feito, o cmdlet Set-AzVMDiskEncryptionExtension pode ser usado para criptografar discos gerenciados especificando o parâmetro -skipVmBackup. O comando Set-AzVMDiskEncryptionExtension falha em VMs baseadas em disco gerenciado até que um backup seja feito e esse parâmetro seja especificado.

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. Você deve solicitar a criptografia da unidade de dados, uma vez que a unidade não é utilizável enquanto a criptografia está em andamento.

Se a VM foi previamente criptografada com "All", então o parâmetro --volume-type deve permanecer "All". Tudo inclui SO e discos de dados. Se a VM foi previamente criptografada com um tipo de volume de "SO", então o parâmetro --volume-type deve ser alterado para "All" para que tanto o SO quanto o novo disco de dados sejam incluídos. Se a VM foi criptografada apenas com o tipo de volume "Dados", ela pode continuar como "Dados", conforme demonstrado abaixo. Adicionar e anexar um novo disco de dados a uma VM não é preparação suficiente para criptografia. O disco recém-conectado também deve ser formatado e montado corretamente na VM antes de habilitar a criptografia. No Linux, o disco deve ser montado em /etc/fstab com um nome de dispositivo de bloco persistente.

Ao contrário da sintaxe do PowerShell, a CLI não exige que o usuário forneça uma versão de sequência exclusiva ao habilitar a criptografia. 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"
    
  • Criptografe volumes de dados de uma VM em execução usando o 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

Você pode desabilitar a criptografia de disco do Azure e remover a extensão de criptografia de disco do Azure. Desativar e remover são duas operações distintas.

Para remover o ADE, recomenda-se que primeiro desative a encriptação e, em seguida, 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 depois de remover a extensão, a extensão será reinstalada (para executar a operação de desencriptação) e terá de ser removida uma segunda vez.

Advertência

Não é possível desativar a encriptação se o disco do SO estiver encriptado. (Os discos do SO são encriptados quando a operação de encriptação original especifica volumeType=ALL ou volumeType=OS.)

A desativação da criptografia funciona somente quando os discos de dados são criptografados, mas o disco do sistema operacional não.

Desativar encriptação

Você pode desabilitar a criptografia usando o Azure PowerShell, a CLI do Azure ou com um modelo do Gerenciador de Recursos. A desativação da encriptação não remove a extensão (consulte 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. Clique em Implantar no Azure no modelo Desabilitar criptografia de disco na execução de VM Linux .
    2. Selecione a assinatura, o grupo de recursos, o local, a VM, o tipo de volume, os termos legais e o contrato.
    3. Clique em Comprar para desativar a criptografia de disco em uma VM Linux em execução.

Advertência

Assim que a desencriptação começar, é aconselhável não interferir com o processo.

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.

Você pode remover a extensão de criptografia usando o Azure PowerShell ou a CLI do Azure.

  • Desative a criptografia de disco com o Azure PowerShell: Para remover a criptografia, use o cmdlet Remove-AzVMDiskEncryptionExtension .

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Desative a criptografia com a CLI do Azure: Para remover a encriptação, use o comando az vm extension delete .

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

Próximos passos