0

我正在通过 azure java sdk 以编程方式创建一个运行 Linux 的 Azure VM,并且我正在寻找加密驱动器。操作系统驱动器提供了一个漂亮的.withOSDiskEncryptionSettings方法。但是我在数据磁盘文档中没有看到任何内容。

我知道 Azure 确实使用自己的密钥加密这些静态驱动器,但我确实需要能够使用自己的密钥进行加密。

所以我的问题是——以编程方式管理 Azure VM 数据磁盘时的加密模​​式是什么。

4

1 回答 1

0

很抱歉,withOSDiskEncryptionSettings它不能按您的意愿工作。

实际上,它会在您使用上传的预加密 OS 磁盘创建 VM 时使用。由于它是一个预先加密的磁盘,Azure 将无法解密数据并且 VM 将无法启动。因此,在这种情况下,您需要告诉 Azure 磁盘加密设置。更多详细信息,您可以参考:准备预加密的 Linux VHD附加 OS 磁盘时指定密钥 URL

但是,对于新创建的 Azure VM,目前应该使用磁盘加密扩展来启用磁盘加密。这实际上是您从 Azure 门户、Azure CLI 或 Azure PowerShell 执行的操作。例如,使用 Azure PowerShell,您应该运行:Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -SkipVmBackup -VolumeType All

因此,基本上,如果您确实想以编程方式启用磁盘加密。你可以使用 Azure Java SDK 向 VM 添加扩展。这是一个示例:ManageVirtualMachineExtension.java

希望以上信息对您有所帮助。

于 2020-01-09T06:54:50.700 回答