Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/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
Azure-在安装之前为VM分配托管身份访问权限_Azure_Azure Virtual Machine - Fatal编程技术网

Azure-在安装之前为VM分配托管身份访问权限

Azure-在安装之前为VM分配托管身份访问权限,azure,azure-virtual-machine,Azure,Azure Virtual Machine,我正在用Java编写一个程序,它在Azure中创建一个VM实例,将脚本上载到一个容器,并在VM中下载和执行脚本。但是,我目前在授予机器对容器的访问权限方面面临困难。当机器已经启动时,我可以手动转到Azure并分配一个具有访问权限的角色,但是我希望在机器启动之前在我的程序(创建VM时)中这样做,以便程序可以不间断地运行。有办法吗?从 目前,Azure门户不支持在创建VM期间分配用户分配的托管标识。相反,请参阅以下虚拟机创建快速入门文章之一,首先创建虚拟机,然后继续下一节,以了解有关将用户分配的托管

我正在用Java编写一个程序,它在Azure中创建一个VM实例,将脚本上载到一个容器,并在VM中下载和执行脚本。但是,我目前在授予机器对容器的访问权限方面面临困难。当机器已经启动时,我可以手动转到Azure并分配一个具有访问权限的角色,但是我希望在机器启动之前在我的程序(创建VM时)中这样做,以便程序可以不间断地运行。有办法吗?从

目前,Azure门户不支持在创建VM期间分配用户分配的托管标识。相反,请参阅以下虚拟机创建快速入门文章之一,首先创建虚拟机,然后继续下一节,以了解有关将用户分配的托管标识分配给虚拟机的详细信息


我是否正确理解这是不可能的?有解决办法吗?

有可能,文档只是意味着你不能在门户中这样做,而不是在代码中

在您的情况下,实际上我不确定您是否要使用系统分配的标识或用户分配的标识

这是一个通过
和systemassignedmanagedserviceidentity
创建系统分配标识的Linux虚拟机,如果您想使用用户分配标识,您可以更改要使用的代码,您可以指定现有或尚未创建的用户分配标识,这取决于您的需求

VirtualMachine virtualMachine = azureResourceManager.virtualMachines()
                    .define(linuxVMName)
                        .withRegion(region)
                        .withNewResourceGroup(rgName)
                        .withNewPrimaryNetwork("10.0.0.0/28")
                        .withPrimaryPrivateIPAddressDynamic()
                        .withNewPrimaryPublicIPAddress(pipName)
                        .withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_16_04_LTS)
                        .withRootUsername(userName)
                        .withRootPassword(password)
                        .withSize(VirtualMachineSizeTypes.STANDARD_DS2_V2)
                        .withOSDiskCaching(CachingTypes.READ_WRITE)
                        .withSystemAssignedManagedServiceIdentity()
                        .create();

啊,我理解错了,根本不可能。感谢您的解释和提供示例!