使用Microsoft graph API或Azure AD graph API从用户界面中删除对用户的应用程序访问

时间:2018-07-09 03:40:34

标签: azure azure-active-directory azure-ad-b2c azure-ad-graph-api

我在用户界面中创建了管理控制台,管理员可以在其中执行所有操作,例如创建,删除用户,为用户分配应用程序以及从用户界面中删除对用户的应用程序访问权限

我厌倦了使用Microsoft graph API和Azure AD graph api从用户界面中删除对用户的应用程序访问权限 我使用了以下Azure AD图形API

https://graph.windows.net/tenantid/users/ {userId} / appRoleAssignments / {appId}?api-version = 1.6

但是当我在邮递员“ EntitlementGrant的无效资源标识符”中进行测试时,它显示了错误。

我不知道该怎么办,任何人都可以帮助我解决这些错误以及如何解决这些问题。

1 个答案:

答案 0 :(得分:2)

您可能会收到此错误,因为您正试图使用​​应用程序的AppId删除应用程序访问权限。请确保使用Azure门户中的“ AssignmentID”,它是特定角色分配的唯一ID,并将用户/组与服务主体对象链接在一起。 转到Azure Active Directory>用户>选择特定的用户>应用程序>选择任何应用程序以导航到“分配详细信息”刀片。

请参见下面的屏幕截图-

enter image description here

如果通过Graph API查询应用程序角色分配,此唯一ID也可以作为“ ObjectID”使用-

https://graph.windows.net/{TenantID}/users/{UserID}/appRoleAssignments

这是上述API调用的示例输出。

"odata.metadata": "https://graph.windows.net/sasharms.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.AppRoleAssignment",
"value": [
    {
        "odata.type": "Microsoft.DirectoryServices.AppRoleAssignment",
        "objectType": "AppRoleAssignment",
        "objectId": "r7rDMrnDo0uCuwnosRwwzuziiF5B8s9FnsotYya5DMU",
        "deletionTimestamp": null,
        "creationTimestamp": "2018-05-10T14:10:49.8197813Z",
        "id": "00000000-0000-0000-0000-000000000000",
        "principalDisplayName": "SaurabhSharma",
        "principalId": "32c3baaf-c3b9-4ba3-82bb-09e8b11c30ce",
        "principalType": "User",
        "resourceDisplayName": "WebAppOpenIdGraphApi",
        "resourceId": "90658e39-2559-48fb-a27a-5e50cca94288"
    }

此ID理想用于使用任何编程接口(如PowerShell和Graph API)对应用程序执行各种操作。