Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何以编程方式加密azure VM数据磁盘_Java_Azure_Virtual Machine_Azure Java Sdk_Azure Java Tools - Fatal编程技术网

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

Java 如何以编程方式加密azure VM数据磁盘,java,azure,virtual-machine,azure-java-sdk,azure-java-tools,Java,Azure,Virtual Machine,Azure Java Sdk,Azure Java Tools,我正在通过Azure java sdk以编程方式创建一个运行Linux的Azure VM,并希望对驱动器进行加密。操作系统驱动器使用OSDiskEncryptionSettings提供了一种漂亮的。方法。但是我在数据盘文档中没有看到任何关于这方面的内容 我知道Azure确实使用自己的密钥加密这些静态驱动器,但我确实需要能够使用自己的密钥加密 因此,我的问题是-以编程方式管理Azure VM数据磁盘时,其加密模式是什么。很抱歉,with OSDiskEncryptionSettings无法按您的要

我正在通过Azure java sdk以编程方式创建一个运行Linux的Azure VM,并希望对驱动器进行加密。操作系统驱动器使用OSDiskEncryptionSettings提供了一种漂亮的
。方法。但是我在数据盘文档中没有看到任何关于这方面的内容

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


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

很抱歉,
with OSDiskEncryptionSettings
无法按您的要求工作

实际上,它将在您使用已上载的预加密操作系统磁盘创建虚拟机时使用。由于它是预加密的磁盘,Azure将无法解密数据,VM将无法启动。因此,在这种情况下,您需要告诉Azure磁盘加密设置。有关更多详细信息,请参阅:和

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

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


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

Azure中Windows虚拟机的加密依赖于Bitlocker。从查看microsoft文档开始。@DanielBjörk很抱歉,我忘了提到这些是Linux虚拟机,然后检查Linux虚拟机是否使用DM Crypt,并以相同的方式进行配置。我没有在Azure Java SDK中为您提供解决方案,但使用powershell或CLI非常容易。@DanielBjörk我已经阅读了该文档。我可以看到使用CLI作为解决方法,并在创建VM后加密数据磁盘。在虚拟机定义阶段,通过JavaSDK提供操作系统磁盘加密,但对数据磁盘没有相同的功能,这似乎有些奇怪。但这样做感觉相当笨拙,除非有更好的数据磁盘模式。不过,通过CLI执行单独的加密步骤会带来更大的复杂性,因为如果失败,我需要回滚VM创建,因为它不是按照规范创建的。感谢您的详细回复。我认为有一种方法可以通过azure sdk在新创建的VM上设置加密。让我试试。@TimZhukov Khovanskiy我可以知道你有什么进展吗?如果你找到了解决办法,请你把它贴出来,以进一步帮助其他人。谢谢。我们无法通过编程方式对驱动器进行加密,看来扩展将是实现这一点的方法。我现在有不同的优先级,但是VM映像也需要是某种类型的。