Solucionar o erro do Azure Disk Encryption: RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED

Ao habilitar Azure Disk Encryption para sua máquina virtual (VM), você pode encontrar o seguinte erro:

JSON'code': 'VMExtensionProvisioningError',
'message': 'VM has reported a failure when processing extension 'AzureDiskEncryption' (publisher 'Microsoft.Azure.Security' and type 'AzureDiskEncryption'). Error message: '[2.5.0.3] Failed to enable Azure Disk Encryption on the VM with the following exception details:\n Microsoft.Cis.Security.BitLocker.BitlockerIaasVMExtension.BitlockerFailedToSendEncryptionSettingsException: The fault reason was: '0xc142506f  RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED  Key vault secret wrap with key encryption key failed.'.\r\n   at Microsoft.Cis.Security.BitLocker.BitlockerIaasVMExtension.WireProtocol.WireProtocolMessage.SendEncryptionSettingsToHost() in C:\\__w\\1\\s\\src\\BitLocker\\BitlockerIaasVMExtension\\WireProtocol\\WireProtocolMessage.cs:line 210\r\n   at Microsoft.Cis.Security.BitLocker.BitlockerIaasVMExtension.BitlockerExtension.SendEncryptionSettingsToHostV3(VmEncryptionSettings vmSettings) in C:\\__w\\1\\s\\src\\BitLocker\\BitlockerIaasVMExtension\\BitlockerExtension.cs:line 1092'. More information on troubleshooting is available at https://aka.ms/VMExtensionADEWindowsTroubleshoot.'

Análise do erro

A mensagem de erro indica que o problema decorre da exceção RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED. Isso significa que Key Vault falhou durante a operação de encapsular a chave de criptografia usando a chave de criptografia de chave (KEK).

É importante observar que o sistema operacional da VM em uso é Windows 11 Pro, que tem problemas de compatibilidade conhecidos com o Azure Disk Encryption devido à falta de suporte para chaves RSA de 2048 bits.

Causas comuns

  1. Comprimento da chave RSA: O Windows 11 e o Windows Server 2022 não oferecem suporte a chaves RSA de 2048 bits para o Azure Disk Encryption.
  2. Dependências ausentes: Algumas configurações do Windows Server exigem componentes adicionais, como bdehdcfg ou .NET Framework.

Documentação oficial

A Microsoft reconheceu essa limitação no artigo Habilitar a Criptografia de Disco do Azure para VMs do Windows e oferece uma seção de perguntas frequentes que recomenda o uso de comprimentos de chave RSA maiores para determinadas versões do sistema operacional.


Para resolver o erro e habilitar com êxito o Azure Disk Encryption, siga uma das duas abordagens detalhadas abaixo:

Solução 1: usar a chave de criptografia do BitLocker (BEK)

O Azure Disk Encryption oferece suporte à criptografia usando a chave de criptografia do BitLocker (BEK). Usar BEK em vez de uma chave de criptografia de chave (KEK) pode contornar o problema de encapsulamento no Key Vault.

  1. Modificar as configurações de criptografia:
    • Abra o Portal do Azure.
    • Acesse sua VM e selecione Disks.
    • Configure a criptografia de disco usando BEK em vez de KEK.
  2. Testar a criptografia:
    • Reinicie a VM após habilitar a criptografia de disco.
    • Verifique se a criptografia foi aplicada com êxito e sem erros.

Solução 2: aumentar o comprimento da chave RSA

O Windows 11 e o Windows Server 2022 exigem um comprimento de chave RSA superior a 2048 bits. Atualize suas chaves do Key Vault para RSA 3072 ou RSA 4096 para resolver esse problema.

  1. Criar uma nova chave RSA:
    • Acesse Azure Key Vault no Portal do Azure.
    • Selecione Keys e clique em Generate/Import.
    • Escolha RSA-HSM com um tamanho de chave de 3072 ou 4096 bits.
  2. Atualizar as configurações de criptografia de disco:
    • Use a nova chave RSA na sua configuração de criptografia.
    • Reinicie a VM para aplicar as alterações.
  3. Verificar a criptografia:
    • Verifique o estado de provisionamento para garantir que a extensão de criptografia de disco seja bem-sucedida.

Considerações importantes

Para outras versões do Windows Server, verifique se as seguintes dependências estão instaladas:

Sistema operacionalRequisito
Windows Server 2012 R2 CoreInstale o componente bdehdcfg .
Windows Server 2016 CoreInstale o componente bdehdcfg .
Windows Server 2008 R2Instale .NET Framework 4.5 por meio do Windows Update (KB2901983).

Consulte a documentação sobre pré-requisitos do Azure Disk Encryption.


Exemplo de trecho de código

Abaixo está um exemplo de CLI do Azure para atualizar o comprimento da chave RSA do Key Vault:

BASH# Create a new RSA key with 4096 bits in Azure Key Vault
az keyvault key create \
  --vault-name <YourKeyVaultName> \
  --name <YourKeyName> \
  --kty RSA \
  --size 4096

Lembre-se de substituir <YourKeyVaultName> e <YourKeyName> pelos nomes reais do seu Key Vault e da sua chave.


Referências

Para mais solução de problemas e orientações, explore os seguintes recursos:

Deixe um comentário