2017-06-20 16 views
0

zu verwenden Also, im Grunde habe ich eine mandantenfähige App, die zahlreiche Aufrufe von Graph API aufruft. Das Problem ist mit dem Aufruf, einem Benutzer eine Lizenz zuzuweisen - POST/users/{id | userPrincipalName}/assignLicense.Microsoft Graph Api gibt verbotene Antwort zurück, wenn versucht wird, Benutzer/id/assignlicense in ASP.NET MVC

Im Azure App-Registrierungsportal im Bereich Berechtigungen habe ich alle delegierten Berechtigungen unter Azure AD und Graph API vergeben. Permissions Assigned screenshot.

Dann machte ich eine globale Admin Zustimmung zu dieser App für alle Nutzer in der Organisation mit Admin-Zustimmung Fluss durch den Link wie folgt: - https://login.microsoftonline.com/common/oauth2/authorize?client_id=ffa835f3-417f-415c-b8f5-6f8833f93901&response_type=code&redirect_uri=http%3a%2f%2flocalhost%3a8910%2f&nonce=1234&resource=https://graph.microsoft.com&prompt=admin_consent

Die Admin Zustimmung erfolgreich war, was bedeutet, dass Alle Benutzer aus diesem Verzeichnis wurden autorisiert.

Wenn ich mich jetzt über einen globalen Administrator bei meiner mandantenfähigen Anwendung anmelde, ist der Aufruf zum Zuweisen des Lizenzendpunkts ein Erfolg, was bedeutet, dass mein Code gut funktioniert.

Wenn sich jedoch ein Nicht-Global-Administrator bei der Anwendung anmeldet, kann er sich ebenfalls anmelden (aufgrund der oben angegebenen Zustimmung), aber wenn ich die Grafik api zu AssignLicense aufruft, erhalte ich einen 403 Verboten-Fehler .

Ich bin nicht in der Lage zu verstehen, was ich tun soll, um diesen Fehler loszuwerden.

Antwort

0

Dies sieht aus wie eine effektive Berechtigungen Problem. Von https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference

für delegierte Berechtigungen werden die effektiven Berechtigungen der App , gelinde privilegierten Schnittpunkt der delegierten Berechtigungen des App (via Zustimmung) und die Privilegien der aktuell angemeldeten Nutzer erteilt wurde . Ihre App kann nie mehr Berechtigungen haben als der angemeldete Benutzer . In Organisationen können die Berechtigungen des angemeldeten Benutzers durch Richtlinien oder durch Mitgliedschaft in einer oder mehreren Administratorrollen festgelegt werden. Weitere Informationen zu Administratorrollen finden Sie unter unter Assigning administrator roles in Azure Active Directory.

Nehmen Sie beispielsweise an, dass Ihrer App die Berechtigung User.ReadWrite.All Delegated erteilt wurde. Diese Berechtigung gewährt Ihrer App nominell die Berechtigung zum Lesen und Aktualisieren des Profils aller Benutzer in einer Organisation. Wenn der angemeldete Benutzer ein globaler Administrator ist, kann Ihre App das Profil jedes Benutzers in der Organisation aktualisieren. Wenn sich der angemeldete Benutzer jedoch nicht in der Administratorrolle befindet, kann Ihre App nur das Profil des angemeldeten Benutzers aktualisieren. Es ist nicht in der Lage, die Profile von anderen Benutzern in der Organisation zu aktualisieren, da der Benutzer, für den die Berechtigung im Auftrag von hat, nicht über diese Berechtigungen verfügt.

Verwandte Themen