Azure active directory microsoft图形筛选器分配的角色
在Azure Active Directory中,我创建了一个应用程序,在清单文件中,我用以下值更新了Azure active directory microsoft图形筛选器分配的角色,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,在Azure Active Directory中,我创建了一个应用程序,在清单文件中,我用以下值更新了appRoles: "appRoles": [ { "allowedMemberTypes": [ "User" ], "displayName": "Client manager", "id": "bf77e391-0bbf-4e33-854b-a384a5ac0630", "isEnabled": true, "description": "Client
appRoles
:
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"displayName": "Client manager",
"id": "bf77e391-0bbf-4e33-854b-a384a5ac0630",
"isEnabled": true,
"description": "Client manager can manage all client actions.",
"value": "ClientManager"
}]
我更新了我的用户,使我分配的角色不再是默认访问权限
,而是客户经理
使用Graph api,我试图检索这个分配的角色。
我尝试了此uri,但由于某些原因,它不会返回我的角色。
https://graph.microsoft.com/beta/me/appRoleAssignments?$filter=resourceId eq 04dcaab1-7219-4689-8510-4672e957ac11$select=ApprovelID
但答案是:
{
"error": {
"code": "BadRequest",
"message": "Invalid filter clause",
"innerError": {
"request-id": "ce3cb456-956b-41c5-84a2-cdcdfe1ac3c5",
"date": "2018-11-05T20:54:08"
}
}
}
我可以为我的所有应用程序创建一个工作区,请求所有角色,但这是我希望避免的。这将以以下uri结束:
https://graph.microsoft.com/beta/me/appRoleAssignments?$select=资源ID,批准ID
并产生这个json,在这里我需要过滤掉我的applicationid
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#appRoleAssignments(resourceId,appRoleId)",
"value": [
{
"appRoleId": "00000000-0000-0000-0000-000000000000",
"resourceId": "667cc3aa-00b9-4526-bde5-b81312ed5afb"
},
{
"appRoleId": "00000000-0000-0000-0000-000000000000",
"resourceId": "64b92ac1-4a56-478c-8774-5c584fb200e5"
},
{
"appRoleId": "bf77e391-0bbf-4e33-854b-a384a5ac0630",
"resourceId": "04dcaab1-7219-4689-8510-4672e957ac11"
}
]
}
我已经尝试了StackOverflow上提出的几种解决方案,但由于某种原因,所有的eq
过滤器都不起作用。我正在测试我的查询。我想要的结果应该是这样的:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#appRoleAssignments(appRoleId)",
"value": [
{
"appRoleId": "bf77e391-0bbf-4e33-854b-a384a5ac0630"
}
]
}似乎不支持使用
https://graph.microsoft.com/beta/me/appRoleAssignments
如报告中所述:
并非所有Microsoft Graph API都支持所有参数,而且v1.0
和beta
端点之间的支持可能存在显著差异
另外,如果我们使用GET过滤id
https://graph.microsoft.com/beta/me/appRoleAssignments?$filter=id eq'xxxxxxx'
,它可以正常工作。所以我认为查询的格式应该是正确的,唯一的可能是文档中提到的不支持
“它不会返回我的角色”:它返回什么?我已添加了当前结果和所需的最终结果。感谢您确认我认为发生了什么。届时将使用我的变通方法。