如何以编程方式加密 Azure VM 数据磁盘



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

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

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

很抱歉withOSDiskEncryptionSettings无法按预期工作。

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

但是,对于新创建的 Azure VM,目前应使用磁盘加密扩展来启用磁盘加密。它实际上是你从Azure portal,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

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

最新更新