Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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授予订阅级别资源组对应用程序的访问权限_Java_Azure_Azure Resource Manager - Fatal编程技术网

Java Azure授予订阅级别资源组对应用程序的访问权限

Java Azure授予订阅级别资源组对应用程序的访问权限,java,azure,azure-resource-manager,Java,Azure,Azure Resource Manager,我在active directory中创建了一个应用程序,并在资源组级别对其进行了访问,我能够访问资源组中的资源。但我在preview portal中看不到在订阅级别访问应用程序的任何选项 当我运行以下代码时 ResourceManagementClient client = testMain.createResourceManagementClient(); ResourceGroupOperations gpoperations = client.getResourceGroupsOpera

我在active directory中创建了一个应用程序,并在资源组级别对其进行了访问,我能够访问资源组中的资源。但我在preview portal中看不到在订阅级别访问应用程序的任何选项

当我运行以下代码时

ResourceManagementClient client =
testMain.createResourceManagementClient();
ResourceGroupOperations gpoperations = client.getResourceGroupsOperations();
ResourceGroup gp1 = new ResourceGroup("West US");
ResourceGroupCreateOrUpdateResult res = gpoperations.createOrUpdate("test123", gp1);
System.out.println("Resource group creation result" + res.getRequestId()+res.toString());
我得到以下异常

线程“main”中出现异常 com.microsoft.windowsazure.exception.ServiceException: 授权失败:客户端“2e027029-1019-46dc-b540-cbfe4a761647” 对象id为“2e027029-1019-46dc-b540-cbfe4a761647”的对象没有 执行行动的授权 作用域上的“Microsoft.Resources/subscriptions/resourcegroups/write” “/subscriptions/88335ad5-6fe2-4532-b3d5-1af946310f85/resourcegroups/test123”。 位于com.microsoft.windowsazure.exception.ServiceException.createFromJson(ServiceException.java:292) 位于com.microsoft.azure.management.ResourceGroupOperationsImpl.createOrUpdate(ResourceGroupOperationsImpl.java:495) 位于com.mycompany.resourcegroup.testMain.main(testMain.java:70)

我如何授予应用程序访问权限,以便它可以创建和管理订阅中的任何资源组

  • 转到Azure Active Directory
  • 点击群组
  • 单击“+新建组”
  • 选择组类型“安全性”
  • 输入组名(您想要的任何名称)
  • 选择“已分配”的成员资格类型
  • 在“所有者”对话框中,选择应用程序的所有者
  • 在成员中,选择在active directory中创建/注册的应用程序
  • 现在您可以直接从java客户机创建资源了

  • 我应该在你几天前的另一个问题中回应你的评论(很抱歉)。我在回答()中包含的屏幕截图是为订阅上的应用程序分配权限。您需要为应用程序分配“参与者”角色。完成此操作后,应用程序应该能够在Azure订阅中创建资源组。HTH.对于您的Java代码,请参考官方示例代码,并遵循认证Azure资源请求的文档。谢谢,我能够在预览门户中找到授予订阅级别权限的选项,并且资源组的创建工作正常。