Ich versuche, die Microsoft Graph-API mit App-Authentifizierung zu verwenden, um einem neu erstellten Benutzer eine Office365-Lizenz zuzuweisen. Meine App hat die App-Berechtigungen "Directory.Read.All" und "User.ReadWrite.All". Ich kann Benutzer erfolgreich erstellen (POST/Benutzer) und löschen (DELETE/users/$ id) und ich bin in der Lage, die Liste der Abonnements (GET/subscribedSkus) zu erhalten. Aber wenn ich versuche, eine Lizenz zu vergeben, erhalte ich eine 403-Antwort mit:Graph API assignLicense: Unzureichende Berechtigungen zum Abschließen des Vorgangs
https://graph.microsoft.com/v1.0/users/ $ upn/assignLicense
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "...",
"date": "..."
}
}
jedoch nach der Graph API documentation die App Erlaubnis "User.ReadWrite.All" sufficent sein sollte . Meine Anfrage Körper sieht wie folgt aus:
{
"addLicenses": [
{
"disabledPlans": [],
"skuId": "..."
}
],
"removeLicenses": []
}
Jede Idee, warum „User.ReadWrite.All“ Zugriffsrechte sufficent nicht, obwohl der Graph API doc sagt etwas anderes?
Es scheint, dass Sie dem App-Objekt eine Administratorrolle zuweisen müssen (z. B. Global Administrator oder User Account Administrator). Ich habe das noch nicht getestet. – phatoni
funktioniert es mit Directory.ReadWrite.All? Da dies die einzigen hier genannten Berechtigungen sind https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference, mit denen Sie Lizenzen verwalten können ... vielleicht gibt es also einen Fehler im assignLicense-Dokument, oder in der API selbst ... – andresm53
Guter Punkt, ich werde Directory.ReadWrite.All versuchen. Ich wollte nur den minimalen Satz der erforderlichen Berechtigungen geben und nutzte deshalb User.ReadWrite.All, aber da ich gerade eine globale Administratorrolle zuweisen möchte, spielt es keine Rolle. – phatoni