Согласно документации и примерам 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 с приложением Azure AD в прошлом? Тогда вы не сможете использовать команду без Azure AD.
Предупреждение Если вы ранее использовали Шифрование дисков Azure с помощью Azure AD app, чтобы зашифровать эту виртуальную машину, вам придется продолжать использовать этот параметр для шифрования вашей виртуальной машины. Вы не можете использовать Azure Disk Encryption на этой зашифрованной виртуальной машине, так как этот сценарий не поддерживается, а это означает, что переход с приложения AAD для этой зашифрованной виртуальной машины еще не поддерживается.
Мы решили эту проблему вместе со службой поддержки 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.