我正在通过 azure java sdk 以编程方式创建一个运行 Linux 的 Azure VM,并且我正在寻找加密驱动器。操作系统驱动器提供了一个漂亮的.withOSDiskEncryptionSettings
方法。但是我在数据磁盘文档中没有看到任何内容。
我知道 Azure 确实使用自己的密钥加密这些静态驱动器,但我确实需要能够使用自己的密钥进行加密。
所以我的问题是——以编程方式管理 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 门户、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
希望以上信息对您有所帮助。