Berechtigungsbereiche | Graph-API-Konzepte

Gilt für: Graph-API | Azure Active Directory (AD)

Die Graph-API macht OAuth 2.0-Berechtigungsbereiche verfügbar, mit denen der Zugriff einer App auf Verzeichnisdaten der Kunden gesteuert wird. Als Entwickler konfigurieren Sie die App mit den entsprechenden Berechtigungsbereichen für den Zugriff, den die App erfordert. In der Regel führen Sie dies im Azure-Portal aus. Benutzer oder Administratoren erhalten während der Anmeldung die Gelegenheit, dem Zugriff Ihrer App auf ihre Verzeichnisdaten mit den von Ihnen konfigurierten Berechtigungsbereichen zuzustimmen. Aus diesem Grund sollten Sie Berechtigungsbereiche auswählen, die die niedrigste Berechtigungsstufe bieten, die für Ihre App erforderlich ist. Weitere Informationen zum Konfigurieren von Berechtigungen für Ihre App und zum Zustimmungsprozess finden Sie unter Integrieren von Anwendungen in Azure Active Directory.

Wichtig

Es wird dringend empfohlen, für den Zugriff auf Azure Active Directory-Ressourcen Microsoft Graph zu verwenden, nicht die Azure AD Graph-API. Wir konzentrieren unsere Entwicklungsarbeit auf Microsoft Graph, weitere Verbesserungen für die Azure AD Graph-API sind nicht geplant. Es gibt einige wenige Szenarien, in denen die Azure AD Graph-API möglicherweise noch geeignet ist. Weitere Informationen finden Sie im Office Dev Center im Blogbeitrag Microsoft Graph or the Azure AD Graph.

Konzepte des Berechtigungsbereichs

App-Berechtigungsbereiche oder delegierte Berechtigungsbereiche

Berechtigungsbereiche sind App-Berechtigungsbereiche oder delegierte Berechtigungsbereiche. App-Berechtigungsbereiche (auch als App-Rollen bezeichnet) erteilen der App alle Berechtigungen des Bereichs. App-Berechtigungsbereiche werden in der Regel von Apps verwendet, die als Dienst ohne einen angemeldeten Benutzer ausgeführt werden. Delegierte Berechtigungsbereiche werden für Apps verwendet, bei denen sich ein Benutzer anmeldet. Diese Bereiche delegieren die Berechtigungen des angemeldeten Benutzers an die App, sodass die App als angemeldeter Benutzer fungieren kann. Bei den Berechtigungen, die der App tatsächlich erteilt werden, handelt es sich um die Kombination (Schnittmenge) der niedrigsten Berechtigungen des Bereichs und der niedrigsten Berechtigungen des angemeldeten Benutzers. Wenn zum Beispiel durch den Berechtigungsbereich delegierte Berechtigungen zum Schreiben sämtlicher Verzeichnisobjekte erteilt werden, der angemeldete Benutzer jedoch nur über Berechtigungen zum Aktualisieren des eigenen Benutzerprofils verfügt, kann die App nur das Profil des angemeldeten Benutzers und keine anderen Objekte schreiben.

Vollständiges Profil und Basisprofil für Benutzer und Gruppen

Das vollständige Profil (oder das Profil) eines Benutzers oder einer Gruppe umfasst alle deklarierten Eigenschaften der Entität. Da das Profil vertrauliche Verzeichnisinformationen oder personenbezogene Informationen (Personally Identifiable Information, PII) enthalten kann, schränken verschiedene Bereiche den App-Zugriff auf einen begrenzten Satz von Eigenschaften ein. Dieser wird als Basisprofil bezeichnet. Für Benutzer enthält das Basisprofil nur die folgenden Eigenschaften: Anzeigename, Vorname und Nachname, Foto und E-Mail-Adresse. Für Gruppen enthält das Basisprofil nur den Anzeigenamen.

Details des Berechtigungsbereichs

In der folgenden Tabelle werden die Graph-API-Berechtigungsbereiche aufgeführt und der von jedem Berechtigungsbereich gewährte Zugriff erläutert.

  • In der Spalte Bereich werden die Bereichsnamen aufgeführt. Bereichsnamen haben das Format „Ressource.Vorgang.Einschränkung“. Beispiel: Group.ReadWrite.All. Wenn die Einschränkung „All“ lautet, darf die App den Vorgang (ReadWrite) für alle angegebenen Ressourcen (Group) im Verzeichnis ausführen. Andernfalls ist der Vorgang nur für das Profil des angemeldeten Benutzers zulässig. Bereiche können eingeschränkte Berechtigungen für den angegebenen Vorgang erteilen. Details finden Sie in der Spalte Beschreibung.
  • Die Spalte Berechtigung gibt an, wie der Bereich im Azure-Portal angezeigt wird.
  • In der Spalte Beschreibung wird der vollständige Satz der durch den Bereich erteilten Berechtigungen beschrieben. Bei delegierten Bereichen ist der Zugriff, der der App tatsächlich gewährt wird, die Kombination (Schnittmenge) des Zugriffs mit den niedrigsten Berechtigungen des Bereichs und den niedrigsten Berechtigungen des angemeldeten Benutzers.
Bereich Permission Beschreibung Bereichstyp Erfordert die Zustimmung des Administrators
User.Read Ermöglichen der Anmeldung und Lesen des Benutzerprofils Ermöglicht es Benutzern, sich bei der App anmelden, und ermöglicht es der App, das vollständige Profil des angemeldeten Benutzers zu lesen. Das vollständige Profil umfasst alle deklarierten Eigenschaften der User-Entität. „User.Read“ ermöglicht es der App, (über das Objekt TenantDetail) die folgenden grundlegenden Unternehmensinformationen des angemeldeten Benutzers zu lesen: Mandanten-ID, Anzeigename des Mandanten, überprüfte Domänen. Navigationseigenschaften, z. B. „manager“ oder „directReports“, können von der App nicht gelesen werden. Das Benutzerkennwort kann von der App nicht gelesen werden. delegiert Nein
User.ReadBasic.All Lesen der Basisprofile aller Benutzer Ermöglicht es der App, im Namen des angemeldeten Benutzers die Basisprofile aller Benutzer in der Organisation zu lesen. Das Basisprofil eines Benutzers besteht aus den folgenden Eigenschaften: Anzeigename, Vorname und Nachname, Foto und E-Mail-Adresse. Um die Gruppen zu lesen, in denen ein Benutzer Mitglied ist, benötigt die App außerdem den Berechtigungsbereich „Group.Read.All“ oder „Group.ReadWrite.All“. delegiert Nein
User.Read.All Lesen der vollständigen Profile aller Benutzer Identisch mit „User.ReadBasic.All“, mit dem Unterschied, dass die App die vollständigen Profile aller Benutzer in der Organisation lesen darf. Dies gilt auch beim Lesen von Navigationseigenschaften, z. B. „manager“ und „directReports“. Das vollständige Profil umfasst alle deklarierten Eigenschaften der User-Entität. Um die Gruppen zu lesen, in denen ein Benutzer Mitglied ist, benötigt die App außerdem den Berechtigungsbereich „Group.Read.All“ oder „Group.ReadWrite.All“. Benutzerkennwörter können von der App nicht gelesen werden. delegiert Ja
Group.Read.All Lesen aller Gruppen (Vorschau) Ermöglicht es der App, im Namen des angemeldeten Benutzers die Basisprofile aller Gruppen in der Organisation zu lesen. Die App kann auch die Basisprofile der Gruppen lesen, denen eine Gruppe als Mitglied angehört. Das Basisprofil einer Gruppe enthält nur den Anzeigenamen der Gruppe. Um die Profilinformationen der Mitglieder einer Gruppe zu lesen, benötigt die App außerdem den Berechtigungsbereich „User.ReadBasic“ oder „User.Read.All“. delegiert Ja
Group.ReadWrite.All Lesen und Schreiben aller Gruppen (Vorschau) Ermöglicht es der App, im Namen des angemeldeten Benutzers die vollständigen Profile aller Gruppen in der Organisation zu lesen sowie Gruppen zu erstellen und zu aktualisieren. Die App kann auch die vollständigen Profile der Gruppen lesen, denen eine Gruppe als Mitglied angehört. Das vollständige Profil umfasst alle deklarierten Eigenschaften der Group-Entität. Um die Profile der Mitglieder einer Gruppe zu lesen oder zu aktualisieren, benötigt die App außerdem den Berechtigungsbereich „User.ReadBasic“ oder „User.Read.All“. delegiert Ja
Device.ReadWrite.All Lesen und Schreiben aller Geräte Ermöglicht es der App, alle Geräteeigenschaften zu lesen und zu schreiben, ohne dass ein Benutzer angemeldet ist. Ermöglicht nicht das Erstellen oder Löschen von Geräten oder das Aktualisieren von alternativen Sicherheits-IDs für Geräte. App-Bereich Ja
Directory.Read.All Lesen der Verzeichnisdaten Ermöglicht der App das Lesen aller Daten im Verzeichnis der Organisation, z. B. Benutzer, Gruppen und Apps, sowie der zugehörigen Navigationseigenschaften. Hinweis: Benutzer können ihre Zustimmung zu Anwendungen erteilen, die diese Berechtigung erfordern, wenn die Anwendung im Mandanten der eigenen Organisation registriert ist. App-Berechtigung, delegierte Berechtigung Ja
Directory.ReadWrite.All Lesen und Schreiben von Verzeichnisdaten Ermöglicht es der App, alle Daten im Verzeichnis der Organisation zu lesen. Ermöglicht der App das Erstellen und Aktualisieren von Benutzern und Gruppen sowie das Aktualisieren ihrer Navigationseigenschaften, verhindert jedoch das Löschen von Benutzern oder Gruppen. Ermöglicht der App außerdem das Definieren von Schemaerweiterungen für Anwendungen. Eine ausführliche Liste der Berechtigungen finden Sie weiter unten in Details der Directory.ReadWrite.All-Berechtigungen. App-Berechtigung, delegierte Berechtigung Ja
Directory.AccessAsUser.All Zugriff auf das Verzeichnis als angemeldeter Benutzer Gewährt der App den gleichen Zugriff auf Daten im Verzeichnis der Organisation wie dem angemeldeten Benutzer. Hinweis: Bei einer nativen Client-App kann der Benutzer dieser Berechtigung zustimmen, bei einer Web-App ist jedoch die Zustimmung des Administrators erforderlich. delegiert Ja

Hinweis: Wenn Sie eine App mit dem Azure-Portal erstellen, wird ihr von Azure AD standardmäßig der delegierte Berechtigungsbereich „User.Read“ zugewiesen.

Details der Directory.ReadWrite.All-Berechtigungen

Der Berechtigungsbereich „Directory.ReadWrite.All“ erteilt die folgenden Berechtigungen:

  • Lesen aller Verzeichnisobjekte (deklarierte Eigenschaften und Navigationseigenschaften)
  • Erstellen und Aktualisieren von Benutzern
  • Deaktivieren und Aktivieren von Benutzern (jedoch nicht des Unternehmensadministrators)
  • Festlegen der alternativen Sicherheits-ID des Benutzers (jedoch nicht für Administratoren)
  • Erstellen und Aktualisieren von Gruppen
  • Verwalten von Gruppenmitgliedschaften
  • Aktualisieren des Gruppenbesitzers
  • Verwalten von Lizenzzuweisungen
  • Definieren von Schemaerweiterungen für Anwendungen
  • Ermöglicht das Festlegen eines Kennworts während der Erstellung eines Benutzers.
  • Hinweis: Keine Rechte zum Zurücksetzen von Benutzerkennwörtern
  • Hinweis: Keine Rechte zum Lesen von Benutzerkennwörtern
  • Hinweis: Keine Rechte zum Löschen von Entitäten (einschließlich Benutzer oder Gruppen)
  • Hinweis: Schließt insbesondere das Erstellen oder Aktualisieren für Entitäten, aus, die oben nicht aufgeführt sind. Dazu gehören: Application, Oauth2PermissionGrant, AppRoleAssignment, Device, ServicePrincipal, TenantDetail, Domänen usw.

Berechtigungsbereichsszenarien

In der folgenden Tabelle sind die Berechtigungsbereiche aufgeführt, die erforderlich sind, damit eine App bestimmte Vorgänge ausführen kann. Beachten Sie, dass in einigen Fällen die Fähigkeit der App zum Durchführen bestimmter Vorgänge davon abhängt, ob der Berechtigungsbereich ein App-Berechtigungsbereich oder ein delegierter Berechtigungsbereich ist. Wenn es sich um delegierte Berechtigungsbereiche handelt, hängt die Fähigkeit der App zum Durchführen bestimmter Vorgänge zudem von den Berechtigungen des angemeldeten Benutzers ab.

Szenario Erforderlicher Zugriff Erforderlicher Berechtigungsbereich
Anmelden und Anzeigen einer Kachel mit dem Namen und Miniaturfoto des Benutzers Lesen des vollständigen Profils des angemeldeten Benutzers.
Lesen von grundlegenden Unternehmensinformationen.
User.Read
Einfache Personenauswahl Lesen der Basisprofile aller Benutzer im Namen des angemeldeten Benutzers. User.ReadBasic.All
Personenauswahl mit vollständigem Profil Wie oben, jedoch Zugriff auf die vollständigen Benutzerprofile der Benutzer im Namen des angemeldeten Benutzers. User.Read.All
Organigrammnavigation Lesen der vollständigen Profile aller Benutzer, ihrer Vorgesetzten und direkten Mitarbeiter im Namen des angemeldeten Benutzers. User.Read.All
Personenauswahl, die Gruppen enthält, um den Zugriff auf die App zu steuern

Gruppen- und Mitgliedschaftsviewer
Lesen der Basisprofile aller Gruppen und Benutzer im Namen des angemeldeten Benutzers.
Lesen der Basisbenutzerprofile für die Vorgesetzten und direkten Mitarbeiter der Benutzer.
Lesen der Basisprofile der Gruppenmitgliedschaften von Benutzern.
Lesen der Basisprofile der Gruppenmitgliedschaften von Gruppen.
Lesen der Basisprofile der Mitglieder von Gruppen.
User.ReadBasic.All und Group.Read.All
Anzeigen des Profils des angemeldeten Benutzers sowie des Vorgesetzten, der direkten Mitarbeiter und Gruppenmitgliedschaften des Benutzers. Verwendung von me-Vorgängen, um Folgendes zu lesen:
Das vollständige Profil des angemeldeten Benutzers
Die vollständigen Profile des Vorgesetzten und der direkten Mitarbeiter des angemeldeten Benutzers
Die Basisprofile der Gruppen, denen der angemeldete Benutzer als Mitglied angehört.

Hinweis:: Die Kombination der beiden Bereiche gewährt mehr Zugriff als der hier für me-Vorgänge angegebene Zugriff.
User.Read.All und Group.Read.All
Ein Gruppenverwaltungsdienst, der Benutzern das Erstellen und Verwalten von Gruppen ermöglicht Lesen der vollständigen Profile aller Gruppen und Benutzer im Namen des angemeldeten Benutzers.
Lesen der vollständigen Profile für die Vorgesetzten und direkten Mitarbeiter der Benutzer.
Lesen der vollständigen Profile der Gruppenmitgliedschaften der Benutzer.
Lesen der vollständigen Profile der Gruppenmitgliedschaften der Gruppen.
Lesen der vollständigen Profile der Mitglieder der Gruppen.
Erstellen und Aktualisieren von Gruppen und ihrer Navigationseigenschaften (Mitglieder).
User.Read.All und Group.ReadWrite.All
Lesen aller Verzeichnisobjekte (einschließlich Navigationseigenschaften). Directory.Read.All
Lesen aller Verzeichnisobjekte (einschließlich Navigationseigenschaften).
Erstellen und Aktualisieren von Benutzer-und Gruppenobjekten.
Kein Löschen von Benutzern oder Gruppen.

Hinweis: Hier sind nicht alle erteilten Berechtigungen aufgeführt.
Directory.ReadWrite.All
Fungieren als angemeldeter Benutzer Lesen und Schreiben von Verzeichnisobjekten (einschließlich Navigationseigenschaften) im Namen des angemeldeten Benutzers. Directory.AccessAsUser.All

Standardzugriff für Administratoren, Benutzer und Gastbenutzer

In der folgenden Tabelle ist der Standardzugriff von (globalen) Administratoren, Benutzern und Gastbenutzern im Verzeichnis aufgeführt. Der Standardzugriff kann basierend auf den Konfigurationseinstellungen für das Verzeichnis bzw. die Mitgliedschaft eines Benutzers in einer oder mehreren Verzeichnisrollen erweitert oder beschränkt werden. Ausführlichere Informationen zum Konfigurieren des Zugriffs von Benutzern und Gastbenutzern auf Verzeichnisdaten finden Sie unter Erstellen oder Bearbeiten von Benutzern in Azure AD. Weitere Informationen zu dem Zugriff, der den verschiedenen Verzeichnisrollen zugeordnet ist, finden Sie unter Zuweisen von Administratorrollen in Azure Active Directory.

Benutzertyp Zugriff
Globaler Administrator Lesen aller Verzeichnisobjekte
Erstellen, Aktualisieren und Löschen aller Verzeichnisobjekte
Benutzer Lesen aller Verzeichnisobjekte
Erstellen von Anwendungen und zugehörigen Dienstprinzipalen
Aktualisieren seines Profils
Aktualisieren der Gruppen, deren Besitzer er ist (und der members-Eigenschaft).
Aktualisieren der Anwendungen und Dienstprinzipale, deren Besitzer er ist
Löschen der Anwendungen und Dienstprinzipale, deren Besitzer er ist
Gastbenutzer Lesen seines vollständigen Profils
Lesen der Basisprofile aller anderen Benutzer
Lesen der Basisprofile aller Gruppen
Lesen von Anwendungen
Aktualisieren einiger Eigenschaften seines Profils
Keine Suche nach Benutzern oder Gruppen (siehe den folgenden Abschnitt Einschränkungen der Suche nach Benutzern und Gruppen für Gastbenutzer)

Einschränkungen der Suche nach Benutzern und Gruppen für Gastbenutzer

Mit Benutzer- und Gruppensuchfunktionen kann die App durch Abfragen der Ressourcenmenge users oder groups jeden Benutzer bzw. jede Gruppe im Verzeichnis des Kunden suchen (z.B. https://graph.windows.net/myorganization/users?api-version=1.6). Diese Funktion ist für Administratoren und Benutzer verfügbar. Für Gastbenutzer ist sie nicht verfügbar. Wenn der angemeldete Benutzer ein Gastbenutzer ist, kann eine App je nach Berechtigungsbereich mithilfe der Objekt-ID oder des Benutzerprinzipalnamens (User Principal Name, UPN) eines Benutzers oder mithilfe der Objekt-ID einer Gruppe (z. B. https://graph.windows.net/myorganization/users/241f22af-f634-44c0-9a15-c8cd2cea5531?api-version=1.6) das Profil des Benutzers bzw. der Gruppe lesen. Sie kann jedoch keine Abfragen der Ressourcenmenge users oder groups ausführen, die potenziell mehrere Entitäten anfordern. Beispielsweise kann die App je nach Berechtigungsbereich die Profile von Benutzern oder Gruppen lesen, die sie über Links in den Navigationseigenschaften abruft. Sie kann jedoch keine Abfrage ausgeben, die alle Benutzer oder Gruppen im Verzeichnis zurückgibt.

Zusätzliche Ressourcen