Устранение ошибки Azure Disk Encryption: RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED

При включении Azure Disk Encryption для вашей виртуальной машины (ВМ) вы можете столкнуться со следующей ошибкой:

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.'

Анализ ошибки

Сообщение об ошибке указывает, что проблема вызвана исключением RUNTIME_E_KEYVAULT_SECRET_WRAP_WITH_KEK_FAILED. Это означает, что Key Vault не удалось выполнить операцию по обёртыванию ключа шифрования с помощью ключ шифрования ключей (KEK).

Важно отметить, что используемая операционная система ВМ — это Windows 11 Pro, у которой имеются известные проблемы совместимости с Azure Disk Encryption из-за отсутствия поддержки ключей RSA длиной 2048 бит.

Распространённые причины

  1. Длина ключа RSA: Windows 11 и Windows Server 2022 не поддерживают ключи RSA длиной 2048 бит для Azure Disk Encryption.
  2. Отсутствующие зависимости: Для некоторых конфигураций Windows Server требуются дополнительные компоненты, например bdehdcfg или .NET Framework.

Официальная документация

Microsoft признала это ограничение в статье Включение Azure Disk Encryption для виртуальных машин Windows и предлагает раздел часто задаваемых вопросов, в котором рекомендуется использовать ключи RSA большей длины для определённых версий ОС.


Чтобы устранить ошибку и успешно включить Azure Disk Encryption, воспользуйтесь одним из двух подходов, подробно описанных ниже:

Решение 1: использование ключа шифрования BitLocker (BEK)

Azure Disk Encryption поддерживает шифрование с использованием ключа шифрования BitLocker (BEK). Использование BEK вместо ключа шифрования ключей (KEK) позволяет обойти проблему обёртывания в Key Vault.

  1. Изменение параметров шифрования:
    • Откройте портал Azure.
    • Перейдите к своей ВМ и выберите Disks.
    • Настройте шифрование дисков с помощью BEK вместо KEK.
  2. Проверка шифрования:
    • Перезапустите ВМ после включения шифрования дисков.
    • Убедитесь, что шифрование успешно применено без ошибок.

Решение 2: увеличение длины ключа RSA

Для Windows 11 и Windows Server 2022 требуется длина ключа RSA более 2048 бит. Обновите ключи Key Vault до RSA 3072 или RSA 4096 , чтобы решить эту проблему.

  1. Создание нового ключа RSA:
    • Перейдите в Azure Key Vault на портале Azure.
    • Выберите Keys и нажмите Generate/Import.
    • Выберите RSA-HSM с размером ключа 3072 или 4096 бит.
  2. Обновление параметров шифрования дисков:
    • Используйте новый ключ RSA в конфигурации шифрования.
    • Перезапустите ВМ, чтобы применить изменения.
  3. Проверка шифрования:
    • Проверьте состояние подготовки, чтобы убедиться, что расширение шифрования дисков работает успешно.

Ключевые соображения

Для других версий Windows Server убедитесь, что установлены следующие зависимости:

Операционная системаТребование
Windows Server 2012 R2 CoreУстановите компонент bdehdcfg .
Windows Server 2016 CoreУстановите компонент bdehdcfg .
Windows Server 2008 R2Установите .NET Framework 4.5 через Центр обновления Windows (KB2901983).

См. документацию о предварительных требованиях Azure Disk Encryption.


Пример фрагмента кода

Ниже приведён пример Azure CLI для обновления длины ключа RSA для 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

Обязательно замените <YourKeyVaultName> и <YourKeyName> на фактические имена вашего Key Vault и ключа.


Справочные материалы

Для дальнейшего устранения неполадок и получения рекомендаций изучите следующие ресурсы:

Оставить комментарий