Azure Disk Encryption без Azure AD
Согласно документации и примерам Microsoft, должна быть возможность настроить шифрование диска Azure без использования Azure AD; например, на https://docs.microsoft.com/en-us/azure/security/azure-security-disk-encryption-windows у нас есть следующее:
$rgName = 'MySecureRg';
$vmName = 'MySecureVM';
$KeyVaultName = 'MySecureVault';
$KeyVault = Get-AzureRmKeyVault -VaultName $KeyVaultName -ResourceGroupName $rgname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;
Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $rgname -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId;
Однако, когда мы пытаемся запустить этот скрипт (конечно, заменяя значения переменных нашими собственными именами), мы получаем:
Set-AzureRmVmDiskEncryptionExtension : The input object cannot be bound because it did not contain the information
required to bind all mandatory parameters: AadClientID AadClientSecret
Изучая документацию для Set-AzureRmVmDiskEncryptionExtension, мы еще раз видим несколько приведенных примеров, в которых не используется Azure AD, включая и очень явно пример 1 (который является простым вариантом выше), в котором говорится:
В этом примере демонстрируется включение шифрования без указания учетных данных AD.
Итак: здесь чего-то не хватает? Есть ли у нас способ включить шифрование диска без использования Azure AD, или документация и примеры ошибочны, и нам действительно нужен Azure AD?
Дополнительная информация:
- Azure Powershell находится на последней версии.
- Дисковое шифрование Azure с приложением Azure AD ранее не использовалось.
- Я ознакомился с разделом "Решение не поддерживает следующие сценарии, функции и технологии" в обзорной документации и подтверждаю, что ни один из неподдерживаемых случаев не применим.
2 ответа
Мы решили эту проблему в сочетании с поддержкой MS Azure, используя шаблон быстрого запуска Azure по адресу https://azure.microsoft.com/en-us/resources/templates/201-encrypt-running-windows-vm-without-aad/ ("Включить шифрование на работающей виртуальной машине Windows без AAD").
Отсутствующей информацией было то, что нам пришлось сгенерировать ключ в нашем хранилище ключей, затем получить доступ к текущей версии ключа, получить его URL-адрес идентификатора ключа и предоставить его в качестве входных данных для шаблона (в поле "URL-адрес ключа шифрования ключа"),
Кажется, что это также может быть решено путем предоставления соответствующих параметров KEK для исходного сценария Powershell, но мы еще не проверяли это.
Похоже, что вывод заключается в том, что материал KEK, несмотря на то, что он помечен как необязательный, на самом деле является обязательным, если вы хотите шифровать без AAD.
Я не могу добавить комментарий, поэтому я сделаю это таким образом. Вы уже использовали приложение Azure Disk Encryption с Azure AD в прошлом? Тогда вы не сможете использовать команду без Azure AD.
Предупреждение. Если вы ранее использовали шифрование диска Azure с приложением Azure AD для шифрования этой виртуальной машины, вам придется продолжать использовать этот параметр для шифрования вашей виртуальной машины. Вы не можете использовать Azure Disk Encryption на этой зашифрованной виртуальной машине, поскольку это не поддерживаемый сценарий, то есть переключение из приложения AAD для этой зашифрованной виртуальной машины пока не поддерживается.