nem*_*cer 1 azure azure-active-directory azure-ad-graph-api azure-ad-b2c
因此,我正在尝试在azure AD上设置一个可以删除用户的应用程序。
我已经注册了该应用程序,并使用客户端ID和安全证书来获取访问令牌。
我能够授予应用程序创建用户的权限,并且工作正常,但是当我删除图形API时,我获得403权限不足,无法完成操作。
我正在通过图其余API尝试此操作。我尝试删除的用户也是通过rest调用创建的。用户与应用程序位于同一租户中,因此我不尝试从多个租户中删除用户。
看来我需要做的是给予应用程序“全局管理员”或“公司管理员”权限,但是我正在研究在何处以及如何执行此操作。
任何帮助,将不胜感激。
在这里看看我的答案。
您可以通过将应用程序的服务主体添加到
Company Administrator目录角色中来提高该应用程序在租户中的访问级别。这将为应用程序提供与公司管理员相同的权限,后者可以执行任何操作。对于任何类型的目录角色,您都可以按照这些相同的说明进行操作,具体取决于要授予此应用程序的访问级别。请注意,这只会影响您的应用在租户中的访问权限。
另外,您必须已经是租户的公司管理员才能遵循这些说明。
为了进行更改,您将需要安装Azure Active Directory PowerShell模块。
安装模块后,请使用管理员帐户向租户进行身份验证:
Run Code Online (Sandbox Code Playgroud)Connect-MSOLService然后,我们需要获取我们要提升的服务主体的对象ID,以及租户的公司管理员角色。
通过应用程序ID GUID搜索服务主体:
Run Code Online (Sandbox Code Playgroud)$sp = Get-MsolServicePrincipal -AppPrincipalId <App ID GUID>按名称搜索目录角色
Run Code Online (Sandbox Code Playgroud)$role = Get-MsolRole -RoleName "Company Administrator"现在,我们可以使用
Add-MsolRoleMember命令将此角色添加到服务主体。Run Code Online (Sandbox Code Playgroud)Add-MsolRoleMember -RoleObjectId $role.ObjectId -RoleMemberType ServicePrincipal -RoleMemberObjectId $sp.ObjectId要检查一切是否正常,请找回公司管理员角色的所有成员:
Run Code Online (Sandbox Code Playgroud)Get-MsolRoleMember -RoleObjectId $role.ObjectId您应该在该列表中看到您的应用程序,该位置
RoleMemberType是ServicePrincipal和DisplayName是您的应用程序名称。现在,您的应用程序应该能够使用客户端凭据流执行公司管理员可以执行的所有Graph API调用,而无需用户登录。
让我知道这是否有帮助!
| 归档时间: |
|
| 查看次数: |
1225 次 |
| 最近记录: |