使用 Graph Api 更新 Azure Active Directory 应用程序的应用程序角色
Update approles for an Azure ActiveDirectory application using GraphApi
我正在尝试使用 GraphApi 更新 Azure AD 应用程序的 appRoles,但收到一条错误消息,指出 Authorization_RequestDenied with Insufficient privileges to complete the操作错误。
我正在使用 PostMan 调用 Rest 端点 https://graph.windows.net//applications/d66c96ea-56fd-41c8-884b-fc0664792f7d?api-version=1.6
这是可能的 PATCH 请求的正文:
{
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Writer has the ability to create tasks",
"displayName": "Writer",
"id": "66ea9f02-31b0-40b2-94fb-67a408bc10e3",
"isEnabled": true,
"value": "Writer"
}
]
}
我已经从我的 AAD 应用程序添加了对 Microsoft Graph 和 Windows Azure Active Directory 的所有权限。
我在 AAD 中有 2 个应用程序。一个名为 "PostMan" for PostMan OAuth2.0,这样我就可以获得不记名令牌。另一个名为 "TaskTrackerApp",我正在尝试通过 GraphApi 设置 appRoles。
感谢您的帮助!
您在应用程序 "PostMan" 上配置的 RequiredResourceAccess 列表是什么he/she 此应用程序的所有者 "TaskTrackerApp" 或目录中的全局管理员?
您可以尝试将您使用的AD应用的角色升级为管理员权限。 运行 PowerShell
中的以下命令:
Connect-MsolService
$ClientIdWebApp = '{your_AD_application_client_id}'
$webApp = Get-MsolServicePrincipal –AppPrincipalId $ClientIdWebApp
#use Add-MsolRoleMember to add it to "Company Administrator" role).
Add-MsolRoleMember -RoleName "Company Administrator" -RoleMemberType ServicePrincipal -RoleMemberObjectId $webApp.ObjectId
这周我也打了这个。在我的例子中,尝试更新回复 URL。我减少了我的请求,最终只是尝试更新应用程序的名称。同样的事情,权限不足。
最终追踪到一个事实,即如果一个应用程序不是该应用程序的所有者,则该应用程序无法更新另一个应用程序。例如Azure 门户->应用注册->(Select 应用更新)->设置->所有者。
在我的例子中,在 "real world" 的情况下,我试图用来更新的应用程序应该是所有者(因为它是创建更新应用程序的应用程序)
因此,在 OP 的情况下,"PostMan" 应用需要列为 "TaskTrackerApp"
的所有者
我正在尝试使用 GraphApi 更新 Azure AD 应用程序的 appRoles,但收到一条错误消息,指出 Authorization_RequestDenied with Insufficient privileges to complete the操作错误。
我正在使用 PostMan 调用 Rest 端点 https://graph.windows.net//applications/d66c96ea-56fd-41c8-884b-fc0664792f7d?api-version=1.6
这是可能的 PATCH 请求的正文:
{
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Writer has the ability to create tasks",
"displayName": "Writer",
"id": "66ea9f02-31b0-40b2-94fb-67a408bc10e3",
"isEnabled": true,
"value": "Writer"
}
]
}
我已经从我的 AAD 应用程序添加了对 Microsoft Graph 和 Windows Azure Active Directory 的所有权限。
我在 AAD 中有 2 个应用程序。一个名为 "PostMan" for PostMan OAuth2.0,这样我就可以获得不记名令牌。另一个名为 "TaskTrackerApp",我正在尝试通过 GraphApi 设置 appRoles。
感谢您的帮助!
您在应用程序 "PostMan" 上配置的 RequiredResourceAccess 列表是什么he/she 此应用程序的所有者 "TaskTrackerApp" 或目录中的全局管理员?
您可以尝试将您使用的AD应用的角色升级为管理员权限。 运行 PowerShell
中的以下命令:
Connect-MsolService
$ClientIdWebApp = '{your_AD_application_client_id}'
$webApp = Get-MsolServicePrincipal –AppPrincipalId $ClientIdWebApp
#use Add-MsolRoleMember to add it to "Company Administrator" role).
Add-MsolRoleMember -RoleName "Company Administrator" -RoleMemberType ServicePrincipal -RoleMemberObjectId $webApp.ObjectId
这周我也打了这个。在我的例子中,尝试更新回复 URL。我减少了我的请求,最终只是尝试更新应用程序的名称。同样的事情,权限不足。 最终追踪到一个事实,即如果一个应用程序不是该应用程序的所有者,则该应用程序无法更新另一个应用程序。例如Azure 门户->应用注册->(Select 应用更新)->设置->所有者。 在我的例子中,在 "real world" 的情况下,我试图用来更新的应用程序应该是所有者(因为它是创建更新应用程序的应用程序)
因此,在 OP 的情况下,"PostMan" 应用需要列为 "TaskTrackerApp"
的所有者