Azure 无法使用Graph API删除应用程序角色分配。获得;找不到正在更新或删除的授权授予。”;错误
我已经为我的Azure AD应用程序创建了一些应用程序角色,并在这些角色中分配了一个用户。使用Graph API,我可以很好地列出应用程序角色分配 请求URL:Azure 无法使用Graph API删除应用程序角色分配。获得;找不到正在更新或删除的授权授予。”;错误,azure,azure-active-directory,microsoft-graph-api,Azure,Azure Active Directory,Microsoft Graph Api,我已经为我的Azure AD应用程序创建了一些应用程序角色,并在这些角色中分配了一个用户。使用Graph API,我可以很好地列出应用程序角色分配 请求URL: https://graph.microsoft.com/v1.0/servicePrincipals//appRoleAssignedTo 以下是我得到的回答(为了简洁起见,部分回答): 请求删除的URL: https://graph.microsoft.com/v1.0/servicePrincipals//appRoleAssign
https://graph.microsoft.com/v1.0/servicePrincipals//appRoleAssignedTo
以下是我得到的回答(为了简洁起见,部分回答):
请求删除的URL:
https://graph.microsoft.com/v1.0/servicePrincipals//appRoleAssignedTo/ 但这被标记为不可复制(这是令人惊讶的,因为它肯定是可复制的)
顺便说一句,从Azure门户删除应用程序角色分配也不起作用。在Azure门户中,删除用户应用程序角色分配始终失败,Microsoft.Online.DirectoryServices.DirectoryValueNotFoundException
更新
我在审核日志中收到以下错误消息:
@Joy所说的绝对正确。我也在Azure portal和MS graph api中测试过几次。我发现一条规则,所有旧的分配都不起作用,所有新的分配都很好。因此,我还认为这是由从
应用程序角色|预览迁移到应用程序角色
引起的错误
当前,如果要删除旧工作分配,只能删除企业应用程序,然后重新创建。(删除企业应用程序不会删除应用程序注册中的应用程序)
刷新并再次创建:
添加:
这是由于从应用程序角色| Preview
迁移到应用程序角色
导致的错误。这是Azure AD本身的错误。我已将错误消息报告给Microsoft,Microsoft应尽快解决它!你是什么意思?你说不能在门户中删除它?“删除”按钮已启用,但当我单击它时,我得到一个错误,操作失败。这很奇怪,我只是在门户中删除了它,没有错误。让我测试这个api,等待我的好消息。@CarlZhao-谢谢。更新了我的答案,并在审核日志中包含了错误消息的屏幕截图。我相信这是由从应用程序角色|预览
至应用程序角色
,对于相同的用户,相同的应用程序角色,所有的旧工作分配都不起作用,所有的新工作分配都很好。谢谢。您能详细说明如何区分“旧工作分配”和“新工作分配”吗在我的例子中,角色分配是在这个月的第十六个月完成的。你会考虑那个旧的吗?@高拉夫曼特里,我不确定在特定的一天,如果你现在添加一个任务,你应该能够删除它。谢谢。我可以确认,添加一个新的任务并删除它的工作立即生效。请让我尝试删除企业应用程序,然后从头开始。@GauravMantri让我测试一下。@GauravMantri您现在可以尝试删除它。看看它是否有效
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('<my-application-id>')/appRoleAssignedTo",
"value": [
{
"id": "<app-role-assignment-id>",
"deletedDateTime": null,
"appRoleId": "<my-application-role-id>",
"createdDateTime": "2021-04-16T00:50:28.7061339Z",
"principalDisplayName": "User Name",
"principalId": "<user-id>",
"principalType": "User",
"resourceDisplayName": "<my-application-name>",
"resourceId": "<my-application-id>"
},
...
{
"error": {
"code": "Request_BadRequest",
"message": "EntitlementGrant being updated or deleted is not found.",
"innerError": {
"date": "2021-04-20T15:08:28",
"request-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"client-request-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
}