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