При включении 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 бит.
Распространённые причины
- Длина ключа RSA: Windows 11 и Windows Server 2022 не поддерживают ключи RSA длиной 2048 бит для Azure Disk Encryption.
- Отсутствующие зависимости: Для некоторых конфигураций 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.
- Изменение параметров шифрования:
- Откройте портал Azure.
- Перейдите к своей ВМ и выберите Disks.
- Настройте шифрование дисков с помощью BEK вместо KEK.
- Проверка шифрования:
- Перезапустите ВМ после включения шифрования дисков.
- Убедитесь, что шифрование успешно применено без ошибок.
Решение 2: увеличение длины ключа RSA
Для Windows 11 и Windows Server 2022 требуется длина ключа RSA более 2048 бит. Обновите ключи Key Vault до RSA 3072 или RSA 4096 , чтобы решить эту проблему.
- Создание нового ключа RSA:
- Перейдите в Azure Key Vault на портале Azure.
- Выберите Keys и нажмите Generate/Import.
- Выберите RSA-HSM с размером ключа 3072 или 4096 бит.
- Обновление параметров шифрования дисков:
- Используйте новый ключ RSA в конфигурации шифрования.
- Перезапустите ВМ, чтобы применить изменения.
- Проверка шифрования:
- Проверьте состояние подготовки, чтобы убедиться, что расширение шифрования дисков работает успешно.
Ключевые соображения
Для других версий 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 и ключа.
Справочные материалы
Для дальнейшего устранения неполадок и получения рекомендаций изучите следующие ресурсы: