Я хочу назначить роль Things.Reead.All, созданную при регистрации моего приложения, управляемому удостоверению. Идентификатор объекта SP для регистрации приложения - 8055e1eb-0000-0000-9b77-00000000000 Определение роли выглядит следующим образом:
"appRoles": [
{
"allowedMemberTypes": [
"Application"
],
"description": "Allow the application to read all things as itself.",
"displayName": "Read all things",
"id": "86a914fa-a862-4962-9975-000000000000",
"isEnabled": true,
"lang": null,
"origin": "Application",
"value": "Things.Read.All"
}
Единственное, что известно о назначенном системе управляемом удостоверении, - это его идентификатор объекта, например
aad300-0872-0000-811d-00000000000
, и я хочу разрешить ему вызывать приложение 8055e1eb-0000-0000-9b77-00000000000, которое ожидает увидеть роль в токене доступа. Я знаю, что для этого мне нужно использовать следующий api.
https://graph.microsoft.com/v1.0/servicePrincipals/8055e1eb-0000-0000-9b77-00000000000/appRoleAssignedTo
{
"principalId": "aad300-0872-0000-811d-00000000000",
"resourceId": "8055e1eb-0000-0000-9b77-00000000000",
"appRoleId": "86a914fa-a862-4962-9975-000000000000"
}
У меня широкий, но контролируемый доступ к моему клиенту. Когда я получаю токен от
az account get-access-token --resource https://graph.microsoft.com
и вызываю указанное выше, я получаю
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
Мне нужно выяснить, какие именно привилегии необходимы для выполнения этого вызова.