不使用 Azure AD 的 Azure 磁盘加密

不使用 Azure AD 的 Azure 磁盘加密

根据微软的文档和示例,应该可以配置 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

审查文件设置 AzureRmVmDiskEncryptionExtension我们再次看到几个不使用 Azure AD 的示例,包括非常明确的示例 1(这只是上述示例的一个变体),其中指出:

此示例演示了如何在不指定 AD 凭据的情况下启用加密。

那么:这里缺少什么吗?我们是否有办法在不使用 Azure AD 的情况下启用磁盘加密,或者文档和示例有误,我们确实需要 Azure AD?


补充信息:

  • Azure Powershell 是最新版本。
  • 过去没有使用过带有 Azure AD App 的 Azure 磁盘加密。
  • 我已查看了概述文档并确认不存在任何不受支持的情形。

答案1

我无法添加评论,所以我将这样做。您以前是否使用过 Azure 磁盘加密和 Azure AD 应用?那么,如果没有 Azure AD,您将无法使用该命令。

警告如果您以前使用过使用 Azure AD 进行 Azure 磁盘加密 应用程序加密此 VM,则您必须继续使用此选项来加密您的 VM。您无法在此加密 VM 上使用 Azure 磁盘加密,因为这不是受支持的方案,这意味着尚不支持从此加密 VM 的 AAD 应用程序切换。

答案2

我们与 MS Azure 支持部门合作,使用 Azure 快速启动模板解决了这个问题https://azure.microsoft.com/en-us/resources/templates/201-encrypt-running-windows-vm-without-aad/(“在没有 AAD 的情况下在正在运行的 Windows VM 上启用加密”)。

缺失的信息是我们必须在我们的密钥保管库中生成一个密钥,然后访问该密钥的当前版本,检索其密钥标识符网址,并将其作为模板的输入(在“密钥加密密钥网址”字段中)。

似乎也可以通过向原始 Powershell 脚本提供适当的 KEK 参数来解决此问题,但我们尚未测试过。

结论似乎是,尽管 KEK 被标记为可选,但如果您希望在没有 AAD 的情况下加密,它实际上是强制性的。

相关内容