如何通过Graph API获取应用角色详情及appRoleId对应信息?
获取应用角色详情的方法
你可以通过以下两种方式获取appRoleId对应的应用角色信息:
1. 从目标服务主体(Service Principal)获取
你调用的appRoleAssignedTo接口是针对appId='yadayada'的服务主体,该服务主体的appRoles属性中包含了所有它对外提供的应用角色定义。直接调用以下接口:
GET https://graph.microsoft.com/v1.0/servicePrincipals(appId='yadayada')
在返回结果的appRoles数组中,找到id与你要查询的appRoleId匹配的条目,里面会包含角色名称(displayName)、描述(description)、角色标识值(value)等完整详情。
2. 从对应的应用注册(Application)获取
应用角色最初定义在Azure AD的应用注册对象中,会同步到对应的服务主体。你也可以直接查询应用注册来获取角色信息:
GET https://graph.microsoft.com/v1.0/applications(appId='yadayada')
返回结果的appRoles数组结构和服务主体的一致,同样通过appRoleId匹配即可拿到角色详情。
示例匹配逻辑
假设返回的appRoles数组中有如下条目,即可匹配你提供的363ace06-7e6c-4608-b9fa-2897ab889228:
{ "id": "363ace06-7e6c-4608-b9fa-2897ab889228", "displayName": "管理员", "description": "拥有应用的全部管理权限", "value": "Admin", "allowedMemberTypes": ["User"] }
内容的提问来源于stack exchange,提问作者Farid
相关产品推荐
相关产品推荐

