Partilhar via


Habilitar o Azure Disk Encryption com o Microsoft Entra ID em VMs Linux (versão anterior)

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 no host para novas VMs. 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

A nova versão da Criptografia de Disco do Azure elimina a necessidade de fornecer um parâmetro de aplicativo Microsoft Entra para habilitar a criptografia de disco de VM. Com a nova versão, você não precisa mais fornecer credenciais do Microsoft Entra durante a etapa de habilitação de criptografia. Todas as novas VMs devem ser criptografadas sem os parâmetros do aplicativo Microsoft Entra usando a nova versão. Para obter instruções sobre como habilitar a criptografia de disco de VM usando a nova versão, consulte Azure Disk Encryption for Linux VMS. As VMs que já foram criptografadas com os parâmetros do aplicativo Microsoft Entra ainda são suportadas e devem continuar a ser mantidas com a sintaxe do Microsoft Entra.

Você pode habilitar muitos cenários de criptografia de disco e as etapas podem variar de acordo com o cenário. As seções a seguir abordam os cenários com mais detalhes para VMs de infraestrutura como serviço (IaaS) do Linux. 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:

Tire um instantâneo, faça um backup ou ambos antes de criptografar os discos. 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 é feito, você pode 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 Backup do Azure.

Advertência

  • Se você usou anteriormente o Azure Disk Encryption com o aplicativo Microsoft Entra para criptografar essa VM, deverá continuar a usar essa opção para criptografar sua VM. Não pode utilizar a Encriptação de Disco do Azure nesta VM encriptada porque este não é um cenário suportado, o que significa que a mudança da aplicação Microsoft Entra para esta VM encriptada ainda não é suportada.
  • Para garantir que os segredos de criptografia não cruzem os limites regionais, o Azure Disk Encryption precisa que o cofre de chaves e as VMs sejam colocalizadas na mesma região. Crie e use um cofre de chaves que esteja na mesma região da VM a ser criptografada.
  • Quando você criptografa volumes do sistema operacional Linux, o processo pode levar algumas horas. É normal que os volumes do sistema operacional Linux demorem mais do que os volumes de dados para criptografar.
  • Quando você criptografa volumes do sistema operacional Linux, a VM deve ser considerada indisponível. É altamente recomendável evitar logins SSH enquanto a criptografia está em andamento para evitar bloquear quaisquer arquivos abertos que precisem ser acessados durante o processo de criptografia. Para verificar o progresso, use os comandos Get-AzVMDiskEncryptionStatus ou vm encryption show . Você pode esperar que esse processo leve algumas horas para um volume de sistema operacional de 30 GB, além de mais tempo 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 formatar todos seja usada.
  • A desativação da encriptação nas VMs do Linux só é suportada para os volumes de dados. Não é suportado em volumes de dados ou de sistema operativo se o volume do sistema operativo tiver sido cifrado.

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

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

Importante

É obrigatório tirar um instantâneo ou fazer backup de uma instância de VM baseada em disco gerenciado fora e antes de habilitar a Criptografia de Disco do Azure. Pode tirar um instantâneo do disco gerido a partir do portal do Azure ou pode utilizar a Cópia de Segurança 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 for feito, use o cmdlet Set-AzVMDiskEncryptionExtension 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.

Habilitar a criptografia em uma VM Linux existente ou em execução usando a CLI do Azure

Você pode habilitar a criptografia de disco em seu VHD criptografado instalando e usando a ferramenta de linha de comando da CLI 2.0 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 IaaS 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 IaaS em execução no Azure.

  • Criptografe uma VM em execução usando um segredo do cliente:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Criptografe uma VM em execução usando o KEK para encapsular o segredo do cliente:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --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 como em: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

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

        az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • Desativar encriptação: Para desativar a encriptação, utilize o comando az vm encryption disable . A desativação da criptografia só é permitida em volumes de dados para VMs Linux.

        az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type DATA
    

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

Use o cmdlet Set-AzVMDiskEncryptionExtension para ativar a encriptação numa máquina virtual IaaS em execução no Azure. Tire um instantâneo ou faça um backup da VM com o Backup do Azure antes que os discos sejam criptografados. O parâmetro -skipVmBackup já está especificado nos scripts do PowerShell para criptografar uma VM Linux em execução.

  • Criptografe uma VM em execução usando um segredo do cliente: O script a seguir inicializa suas variáveis e executa o cmdlet Set-AzVMDiskEncryptionExtension. O grupo de recursos, VM, cofre de chaves, aplicativo Microsoft Entra e segredo do cliente já devem ter sido criados como pré-requisitos. Substitua MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID e My-AAD-client-secret pelos seus valores. Modifique o parâmetro -VolumeType para especificar quais discos você está criptografando.

        $VMRGName = 'MyVirtualMachineResourceGroup';
        $KVRGname = 'MyKeyVaultResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    
  • Criptografe uma VM em execução usando o KEK para encapsular o segredo do cliente: A Encriptação de Disco do Azure permite-lhe especificar uma chave existente no seu cofre de chaves para encapsular segredos de encriptação de disco que foram gerados ao ativar a encriptação. Quando uma chave de criptografia de chave é especificada, o Azure Disk Encryption usa essa chave para encapsular os segredos de criptografia antes de gravar no cofre de chaves. Modifique o parâmetro -VolumeType para especificar quais discos você está criptografando.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $keyEncryptionKeyName = 'MyKeyEncryptionKey';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    

    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/[KVresource-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 como em: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • Verifique se os discos estão encriptados: Para verificar o status de criptografia de uma VM IaaS, use o cmdlet Get-AzVmDiskEncryptionStatus .

        Get-AzVmDiskEncryptionStatus -ResourceGroupName MyVirtualMachineResourceGroup -VMName MySecureVM
    
  • Desabilitar a criptografia de disco: para desabilitar a criptografia, use o cmdlet Disable-AzureRmVMDiskEncryption . A desativação da criptografia só é permitida em volumes de dados para VMs Linux.

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    

Habilite a criptografia em uma VM Linux IaaS existente ou em execução com um modelo

Você pode habilitar a criptografia de disco em uma VM Linux IaaS existente ou em execução no Azure usando o modelo do Gerenciador de Recursos.

  1. Selecione Implantar no Azure no modelo de início rápido do Azure.

  2. Selecione a assinatura, o grupo de recursos, o local do grupo de recursos, os parâmetros, os termos legais e o contrato. Selecione Criar para habilitar a criptografia na VM IaaS existente ou em execução.

A tabela a seguir lista os parâmetros de modelo do Gerenciador de Recursos para VMs existentes ou em execução que usam uma ID de cliente do Microsoft Entra:

Parâmetro Descrição
AADClientID ID do cliente da aplicação Microsoft Entra com permissões para gravar segredos no cofre de chaves.
AADClientSecret Segredo do cliente da aplicação Microsoft Entra que tem permissões para escrever segredos no cofre de chaves.
keyVaultName Nome do cofre de chaves para o qual a chave deve ser carregada. Você pode obtê-lo usando o comando az keyvault show --name "MySecureVault" --query KVresourceGroupda CLI do Azure .
URL da Chave de Criptografia URL da chave de cifragem de chave usada para cifrar a chave gerada. Este parâmetro é opcional se você selecionar nokek na lista suspensa UseExistingKek . Se selecionares kek na lista suspensa UseExistingKek, deves inserir o valor keyEncryptionKeyURL.
tipo de volume Tipo de volume em que a operação de encriptação é executada. Os valores válidos suportados são OS ou All. (Consulte as distribuições Linux suportadas e suas versões para SO e discos de dados na seção de pré-requisitos anteriormente.)
versão de sequência Versão sequencial da operação BitLocker. Incremente esse número de versão sempre que uma operação de criptografia de disco for executada na mesma VM.
vmNome Nome da VM na qual a operação de criptografia deve ser executada.
frase de acesso Digite uma senha forte como a chave de criptografia de dados.

Use o recurso EncryptFormatAll para discos de dados em VMs IaaS 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 (com seu sistema de arquivos atual). Em seguida, eles são remontados para onde estavam antes da execução do comando. Se quiser excluir um disco de dados que atenda aos critérios, você pode desmontá-lo antes de executar o comando.

Depois de executar este comando, todas as unidades que foram montadas anteriormente são formatadas. Em seguida, a camada de criptografia começa na parte superior da unidade agora vazia. Quando essa opção é selecionada, o disco temporário conectado à VM também é criptografado. Se a unidade efêmera for redefinida, ela será reformatada e recriptografada para a VM pela solução Azure Disk Encryption na próxima oportunidade.

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. Experimente o parâmetro EncryptFormatAll em uma VM de teste primeiro para 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, para que todos os dados nele sejam perdidos. Antes de continuar, verifique se todos os discos que você deseja excluir estão desmontados corretamente.

Se você definir esse parâmetro enquanto atualiza as configurações de criptografia, isso pode levar a uma reinicialização antes da criptografia real. Nesse caso, você também deseja remover o disco que não deseja formatar do arquivo fstab. Da mesma forma, deve adicionar a partição 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 seguintes critérios:

  • 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 parâmetro EncryptFormatAll com um modelo

Para usar a opção EncryptFormatAll, use qualquer modelo preexistente do Azure Resource Manager que criptografe uma VM Linux e altere o campo EncryptionOperation para o recurso AzureDiskEncryption.

  1. Como exemplo, use o modelo do Resource Manager para criptografar uma VM IaaS Linux em execução.
  2. Selecione Implantar no Azure no modelo de início rápido do Azure.
  3. Altere o campo EncryptionOperation de EnableEncryption para EnableEncryptionFormatAl.
  4. Selecione a assinatura, o grupo de recursos, o local do grupo de recursos, outros parâmetros, os termos legais e o contrato. Selecione Criar para habilitar a criptografia na VM IaaS existente ou em execução.

Usar o parâmetro EncryptFormatAll com um cmdlet do PowerShell

Use o cmdlet Set-AzVMDiskEncryptionExtension com o parâmetro EncryptFormatAll.

Criptografe uma VM em execução usando um segredo do cliente e EncryptFormatAll: Como exemplo, o script a seguir inicializa suas variáveis e executa o cmdlet Set-AzVMDiskEncryptionExtension com o parâmetro EncryptFormatAll. O grupo de recursos, VM, cofre de chaves, aplicativo Microsoft Entra e segredo do cliente já devem ter sido criados como pré-requisitos. Substitua MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID e My-AAD-client-secret pelos seus valores.

  $KVRGname = 'MyKeyVaultResourceGroup';
  $VMRGName = 'MyVirtualMachineResourceGroup';
  $aadClientID = 'My-AAD-client-ID';
  $aadClientSecret = 'My-AAD-client-secret';
  $KeyVaultName = 'MySecureVault';
  $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
  $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
  $KeyVaultResourceId = $KeyVault.ResourceId;

  Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -EncryptFormatAll

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

Recomendamos uma configuração LVM-on-crypt. Para todos os exemplos a seguir, substitua o caminho do dispositivo e os pontos de montagem pelo que se adequar ao seu caso de uso. Essa configuração pode ser feita da seguinte maneira:

  • Adicione os discos de dados que irão compor a VM.

  • Formate, monte e adicione esses discos ao arquivo fstab.

    1. Formate o disco recém-adicionado. Usamos links simbólicos gerados pelo Azure aqui. O uso de links simbólicos evita problemas relacionados à alteração de nomes de dispositivos. Para obter mais informações, consulte Solucionar problemas de nomes de dispositivos.

      mkfs -t ext4 /dev/disk/azure/scsi1/lun0
      
    2. Monte os discos.

      mount /dev/disk/azure/scsi1/lun0 /mnt/mountpoint
      
    3. Adicionar ao fstab.

      echo "/dev/disk/azure/scsi1/lun0 /mnt/mountpoint ext4 defaults,nofail 1 2" >> /etc/fstab
      
    4. Execute o cmdlet Set-AzVMDiskEncryptionExtension PowerShell com -EncryptFormatAll para criptografar esses discos.

       Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl "https://mykeyvault.vault.azure.net/" -EncryptFormatAll
      
    5. Configure o LVM sobre esses novos discos. Observe que as unidades criptografadas são desbloqueadas após a VM terminar a inicialização. Assim, a montagem do LVM também terá de ser posteriormente adiada.

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

Nesse cenário, você pode habilitar a criptografia usando o modelo do Gerenciador de Recursos, cmdlets do PowerShell ou comandos da CLI. As seções a seguir explicam com mais detalhes o modelo do Resource Manager e os comandos da CLI.

Use as instruções no apêndice 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 tirar um instantâneo ou fazer backup de uma instância de VM baseada em disco gerenciado fora e antes de habilitar a Criptografia de Disco do Azure. 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 no caso de qualquer falha inesperada durante a criptografia. Depois que um backup for feito, use o cmdlet Set-AzVMDiskEncryptionExtension 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 IaaS com VHDs pré-criptografados

Você pode habilitar a criptografia de disco em seu VHD criptografado usando o cmdlet do PowerShell Set-AzVMOSDisk. O exemplo a seguir 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 -Windows -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 através 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 porque a unidade ficará inutilizável enquanto a criptografia estiver em andamento.

Habilitar a criptografia em um disco recém-adicionado com a CLI do Azure

Se a VM foi previamente criptografada com "All", 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", 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 "Data", ela pode permanecer com o tipo "Data", conforme demonstrado aqui. 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 você 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 uma VM em execução usando um segredo do cliente:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Criptografe uma VM em execução usando o KEK para encapsular o segredo do cliente:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

Habilitar a criptografia em um disco recém-adicionado com o Azure PowerShell

Quando você usa o PowerShell para criptografar um novo disco para Linux, uma nova versão de sequência precisa ser especificada. A versão sequencial tem de ser única. O script a seguir gera um GUID para a versão de sequência.

  • Criptografe uma VM em execução usando um segredo do cliente: O script a seguir inicializa suas variáveis e executa o cmdlet Set-AzVMDiskEncryptionExtension. O grupo de recursos, VM, cofre de chaves, aplicativo Microsoft Entra e segredo do cliente já devem ter sido criados como pré-requisitos. Substitua MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID e My-AAD-client-secret pelos seus valores. O parâmetro -VolumeType é configurado para os discos de dados e não para o disco do sistema operacional. Se a VM foi previamente criptografada com um tipo de volume de "OS" ou "All", então o parâmetro -VolumeType deve ser alterado para All para que tanto o SO quanto o novo disco de dados sejam incluídos.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion;
    
  • Criptografe uma VM em execução usando o KEK para encapsular o segredo do cliente: A Encriptação de Disco do Azure permite-lhe especificar uma chave existente no seu cofre de chaves para encapsular segredos de encriptação de disco que foram gerados ao ativar a encriptação. Quando uma chave de criptografia de chave é especificada, o Azure Disk Encryption usa essa chave para encapsular os segredos de criptografia antes de gravar no cofre de chaves. O parâmetro -VolumeType é configurado para os discos de dados e não para o disco do sistema operacional. Se a VM foi previamente criptografada com um tipo de volume de "OS" ou "All", então o parâmetro -VolumeType deve ser alterado para All para que tanto o SO quanto o novo disco de dados sejam incluídos.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $vmName = 'MyExtraSecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $keyEncryptionKeyName = 'MyKeyEncryptionKey';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion;
    

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 como em: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

Desativar a criptografia para VMs Linux

Você pode desabilitar a criptografia usando o Azure PowerShell, a CLI do Azure ou um modelo do Gerenciador de Recursos.

Importante

A desativação da criptografia com a Criptografia de Disco do Azure em VMs Linux só é suportada para volumes de dados. Não é suportado em volumes de dados ou de sistema operativo se o volume do sistema operativo tiver sido cifrado.

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

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM' [--volume-type {ALL, DATA, OS}]
    
  • 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 [ALL, DATA, OS]
    
  • Desative a criptografia com um modelo do Gerenciador de Recursos: Para desativar a criptografia, use o modelo Desabilitar criptografia em uma VM Linux em execução .

    1. Selecione Implantar no Azure.
    2. Selecione a assinatura, o grupo de recursos, o local, a VM, os termos legais e o contrato.
    3. Selecione Comprar para desativar a criptografia de disco em uma VM do Windows em execução.

Próximos passos