我正在构建一个使用基于角色的访问权限的应用程序,并已在Azure应用程序注册中创建了自定义应用程序角色,还为一些用户分配了企业应用程序中的角色。我的问题是,我们是否可以通过应用程序而不是使用Azure来删除这些自定义应用程序角色并将其分配给用户?
我试过使用Microsoft Graph API来解决这个问题。在前端(React)我调用了Graph API来实现这一点,并且运行良好。但它需要启用“AppRoleAssignment.ReadWrite.All”权限,这对于我正在执行的任务来说似乎是很高的级别,因为它可以分配任何角色(自定义或AAD角色),应用程序,即使只有管理员角色执行此任务,我也不放心将此作用域提供给最终用户。是否有更好的方法来实现此操作。也有一种方法来分配其中一个自定义角色作为默认的新用户?。感谢帮助!
1条答案
按热度按时间nnsrf1az1#
我尝试在我的环境中重现相同的操作,以便使用Powershell将应用程序角色分配给用户。
您可以按照以下步骤获取用户对象ID和应用程序对象ID。
用户对象ID:
转到Azure门户〉Azure Active Directory〉用户〉选择用户。
应用程序对象ID:
转到Azure门户〉Azure Active Directory〉企业应用程序〉选择你的应用程序
Powershell脚本:
答复:
运行上述代码后,应用程序角色将添加到应用程序中,如下所示。
另外,是否有方法将其中一个自定义角色作为默认角色分配给新用户?
已创建动态组,用于在新用户加入时向用户分配应用程序角色。
转到Azure门户〉Azure Active Directory〉组〉新建组。
创建组后,将应用程序角色分配给用户,如下所示。
转到Azure门户〉Azure Active Directory〉企业应用程序〉所有应用程序〉选择你的应用程序
参考:New-AzureADUserAppRoleAssignment和Remove-AzureADUserAppRoleAssignment