App braucht Microsoft Graph Zugriff? API Permissions konfigurieren
Eine App muss Microsoft Graph aufrufen.
Vielleicht soll sie Gruppenmitgliedschaften fuer den angemeldeten Benutzer anzeigen oder Directory-Automatisierung im Hintergrund ausfuehren.
Das Microsoft-Entra-Muster ist:
App Registration oeffnen -> Microsoft Graph Permission hinzufuegen -> Delegated oder Application Permission auswaehlen -> Consent erteilen, wenn erforderlich -> Token anfordern -> Graph aufrufen
Dieser Trip konzentriert sich auf Microsoft Graph Permissions.
Das ist etwas anderes als das Expose einer eigenen API Scope.
Hier ist Microsoft Graph die Resource API.
Deine App ist der Client, der Entra um Zugriff auf Graph bittet.
Delegated vs Application Permissions
Microsoft Graph Permissions gibt es in zwei Haupttypen.
Delegated permissions
Verwende sie, wenn:
- ein Benutzer angemeldet ist
- die App im Namen dieses Benutzers handelt
- Graph-Zugriff durch die eigenen Berechtigungen des Benutzers begrenzt sein soll
- Tokens den
scpClaim enthalten
Beispiel:
GroupMember.Read.All
Application permissions
Verwende sie, wenn:
- kein Benutzer anwesend ist
- eine Hintergrund-App oder ein Daemon Graph aufruft
- die App als sie selbst handelt
- Tokens den
rolesClaim enthalten - normalerweise Admin Consent erforderlich ist
Beispiel:
User.Read.All
Waehle die am wenigsten privilegierte Permission, die das Szenario unterstuetzt.
App Registration oeffnen
Gehe zu:
Entra ID > App registrations
Erstelle oder oeffne die Anwendung, die Microsoft Graph Zugriff braucht.
Beispiel:
CloudTrips-Graph-App
Diese App Registration ist die Client-Anwendung, die ein Graph Access Token anfordern wird.

API Permissions oeffnen
Oeffne in der App Registration:
API permissions
Diese Seite zeigt die APIs und Permissions, die bereits fuer die App konfiguriert sind.
Waehle:
Add a permission

Microsoft Graph auswaehlen
Auf der Request API permissions Seite waehlst du:
Microsoft APIs > Microsoft Graph
Microsoft Graph ist die API-Oberflaeche fuer Microsoft 365 und Entra Directory-Daten.

Permission Type auswaehlen
Waehle den Permission Type, der zum Runtime-Szenario passt.
Fuer eine App mit Benutzeranmeldung:
Delegated permissions
Fuer eine Hintergrund-App:
Application permissions
Waehle Application Permissions nicht nur, weil sie maechtiger aussehen.
Sie geben oft tenant-weiten Zugriff und brauchen normalerweise Admin Consent.

Delegated Permission hinzufuegen
Fuer ein einfaches Szenario mit angemeldetem Benutzer waehlst du:
Delegated permissions > GroupMember.Read.All
Damit kann die App Gruppenmitgliedschaften im Namen des angemeldeten Benutzers lesen.
Das Access Token enthaelt spaeter:
scp=GroupMember.Read.All

Application Permission hinzufuegen
Fuer ein Automatisierungsszenario waehlst du eine Application Permission nur dann, wenn die App wirklich App-only Zugriff braucht.
Beispiel:
Application permissions > User.Read.All
Damit kann die App Benutzerprofile ohne angemeldeten Benutzer lesen, nachdem Admin Consent erteilt wurde.
Das Access Token enthaelt spaeter einen Graph Role Claim wie:
roles=["User.Read.All"]

Admin Consent erteilen
Nach dem Hinzufuegen der Permissions gehst du zurueck zu:
API permissions
Einige Permissions brauchen Admin Approval, bevor die App sie verwenden kann.
Waehle:
Grant admin consent
Nach erteiltem Consent sollte der Status anzeigen, dass Consent fuer den Tenant erteilt wurde.

Token Claims bestaetigen
Fordere ein Token fuer Microsoft Graph an.
Bei Delegated Permissions sollte das Token enthalten:
{
"aud": "https://graph.microsoft.com",
"scp": "GroupMember.Read.All"
}
Bei Application Permissions sollte das Token enthalten:
{
"aud": "https://graph.microsoft.com",
"roles": [
"User.Read.All"
]
}
Das beweist, dass die App ein Token fuer Graph mit der konfigurierten Permission erhalten hat.

Enterprise-Hinweis
Microsoft Graph Permissions koennen sensible Tenant-Daten freigeben.
Empfohlene Checkliste:
- Delegated Permissions verwenden, wenn ein Benutzerkontext erforderlich ist
- Application Permissions nur fuer App-only Automatisierung verwenden
- die am wenigsten privilegierte Graph Permission verwenden
- dokumentieren, warum jede Permission benoetigt wird
- Admin Consent bewusst erteilen
- App Permissions und Consent regelmaessig pruefen
- ungenutzte Permissions entfernen
- Audit Logs fuer Consent- und App-Permission-Aenderungen ueberwachen