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

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, não é mais necessário fornecer credenciais do Microsoft Entra durante a etapa de habilitação da 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 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.

Aviso

  • 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 tem suporte.
  • Para garantir que os segredos de criptografia não ultrapassem os limites regionais, o Azure Disk Encryption precisa que o cofre de chaves e as VMs estejam colocalizados 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 tempo adicional 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 dados ou volumes do SO se o volume do SO tiver sido encriptado.

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. Você pode tirar um instantâneo do disco gerenciado no portal do Azure 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.

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. Pode utilizá-lo no seu browser com o Azure Cloud Shell ou pode instalá-lo no seu computador local e utilizá-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]
    

    Nota

    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 criptografados: 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 habilitar a criptografia em uma 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.

  • Criptografar 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;
    
  • Criptografar uma VM em execução usando o KEK para encapsular o segredo do cliente: a Criptografia de Disco do Azure permite especificar uma chave existente em seu cofre de chaves para encapsular segredos de criptografia de disco que foram gerados ao habilitar a criptografia. 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;
    

    Nota

    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 criptografados: 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 do aplicativo Microsoft Entra que tem permissões para gravar segredos no cofre de chaves.
AADClientSecret Segredo do cliente do aplicativo Microsoft Entra que tem permissões para gravar 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 .
keyEncryptionKeyURL URL da chave de criptografia de chave usada para criptografar a chave gerada. Este parâmetro é opcional se você selecionar nokek na lista suspensa UseExistingKek . Se você selecionar kek na lista suspensa UseExistingKek, deverá inserir o valor keyEncryptionKeyURL.
volumeType 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.)
sequenceVersion Versão de sequência 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.
vmName 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 de volta 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 de Criptografia de Disco do Azure na próxima oportunidade.

Aviso

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 que pretende encriptar formatada 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 de 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 "Dados", ela pode permanecer Dados, 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.

  • Criptografar 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 é definido como discos de dados e não o disco do sistema operacional. Se a VM foi previamente criptografada com um tipo de volume de "OS" ou "All", 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;
    
  • Criptografar uma VM em execução usando o KEK para encapsular o segredo do cliente: a Criptografia de Disco do Azure permite especificar uma chave existente em seu cofre de chaves para encapsular segredos de criptografia de disco que foram gerados ao habilitar a criptografia. 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 é definido como discos de dados e não o disco do sistema operacional. Se a VM foi previamente criptografada com um tipo de volume de "OS" ou "All", 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;
    

Nota

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ó tem suporte para volumes de dados. Não é suportado em dados ou volumes do SO se o volume do SO tiver sido encriptado.

  • Desabilitar 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}]
    
  • Desabilitar a 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 [ALL, DATA, OS]
    
  • Desabilitar a criptografia com um modelo do Gerenciador de Recursos: para desabilitar 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