如何将读写权限分配给AD应用程序,以使用Azure java sdk的资源管理api管理资源
我正在尝试使用如何将读写权限分配给AD应用程序,以使用Azure java sdk的资源管理api管理资源,java,azure,azure-java-sdk,Java,Azure,Azure Java Sdk,我正在尝试使用javasdk连接到Azure资源管理器API。我有一个已启用“Windows服务管理API”权限的广告应用程序。在运行测试样本时,我在对特定资源组执行get调用时遇到以下错误 Exception in thread "main" com.microsoft.windowsazure.exception.ServiceException: AuthorizationFailed: The client '1111-5a7b-4384-9fee-3a593a8c6875' with
java
sdk连接到Azure资源管理器API
。我有一个已启用“Windows服务管理API”权限的广告应用程序。在运行测试样本时,我在对特定资源组执行get调用时遇到以下错误
Exception in thread "main" com.microsoft.windowsazure.exception.ServiceException: AuthorizationFailed: The client '1111-5a7b-4384-9fee-3a593a8c6875' with object id '1111115-5a7b-4384-9fee-3a593a8c6875' does not have authorization to perform action 'Microsoft.Resources/subscriptions/resourcegroups/read' over scope '/subscriptions/zzzzzzzzzzzz-ae67-ed0926abfe0d/resourcegroups/Group'.
at com.microsoft.windowsazure.exception.ServiceException.createFromJson
如何在用于连接到资源管理的AD中为应用程序分配读写权限
API
?您需要做的是在Azure订阅中分配您的应用程序Reader
角色。这可以使用ARMAPI编程实现,也可以使用
但是,最简单的方法是使用分配角色。您可能会发现此链接对于使用预览门户分配角色非常有用:。正如@Gaurav Mantri所说,为您的广告应用分配读者角色的最简单方法是使用Azure预览门户(如果运行示例
ServicePrincipalExample
)
有关完成此操作的完整详细信息,请参见下文
根据上图,步骤如下:
资源组
设置
按钮用户
按钮选择角色
并选择读卡器
角色。
addaccess
选项卡页面中的OK
按钮azure登录
azure角色分配创建--objectId-o Reader-c/subscriptions/>
azure ad sp show--search
来显示它
然后,再次运行样本,无错误。谢谢@Gaurav Mantri。我可以使用powershell分配角色。并且能够使用azure maven java SDK对资源执行调用。再打一个嗝。。。我正在尝试通过此调用列出操作系统映像。VirtualMachineImageSourceList l=cmc.getVirtualMachineImagesOperations().list(null);但它在线程“main”com.microsoft.windowsazure.exception.ServiceException:BadRequest:请求URL无效时引发异常。在com.microsoft.windowsazure.exception.serviceeexception.createFromJson(serviceeexception.java:292)在com.microsoft.azure.management.compute.VirtualMachineImageOperationsImpl.list(VirtualMachineImageOperationsImpl.java:441)我在这里缺少什么?我想,你可能想把这个问题作为一个单独的问题发布。谢谢@Peter Pan。我可以使用powershell更新角色。上面显示的门户示例正在更新特定资源组上的角色,而不是AD应用程序上的角色。是否正确?这是什么意思?我们仅更新此特定资源组的访问权限。。这与在API应用程序上更新访问权限不同。如果我错了,请纠正我。这很令人困惑(@Sam它正在为资源组分配
Reader
角色权限。然后,资源管理API可以读取与资源组相关的AD应用程序Id中的元数据。我认为您应该查看@Gaurav Mantri的参考链接。在API应用程序中,网关主机控制访问权限,该权限与他的那个。