Table of contents

Berechtigungsbereiche | Graph-API-Konzepte

Bryan Lamos|Zuletzt aktualisiert: 04.11.2016
|
1 Mitwirkender

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

Die Funktionen der Azure AD Graph-API sind auch über Microsoft Graph verfügbar. Dies ist eine einheitliche API, die auch APIs von anderen Microsoft-Diensten wie Outlook, OneDrive, OneNote, Planner und Office Graph enthält. Auf alle wird über einen einzigen Endpunkt mit einem einzigen Zugriffstoken zugegriffen.

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.
BereichPermissionBeschreibungBereichstypErfordert die Zustimmung des Administrators
User.ReadErmöglichen der Anmeldung und Lesen des BenutzerprofilsErmö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. Navigationseigenschaften, z. B. „manager“ oder „directReports“, können von der App nicht gelesen werden. Der Bereich ermöglicht der App zudem das Lesen der folgenden grundlegenden Unternehmensinformationen des angemeldeten Benutzers (über das TenantDetail-Objekt): Mandanten-ID, Anzeigename des Mandanten und überprüfte Domänen.delegiertNein
User.ReadBasic.AllLesen der Basisprofile aller BenutzerErmö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“.delegiertNein
User.Read.AllLesen der vollständigen Profile aller BenutzerIdentisch 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“.delegiertJa
Group.Read.AllLesen 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“.delegiertJa
Group.ReadWrite.AllLesen 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“.delegiertJa
Device.ReadWrite.AllLesen und Schreiben aller GeräteErmö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-BereichJa
Directory.Read.AllLesen der VerzeichnisdatenErmö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 BerechtigungJa
Directory.ReadWrite.AllLesen und Schreiben von VerzeichnisdatenErmö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 BerechtigungJa
Directory.AccessAsUser.AllZugriff auf das Verzeichnis als angemeldeter BenutzerGewä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.delegiertJa

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
  • Hinweis: Keine Rechte zum Zurücksetzen 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.

SzenarioErforderlicher ZugriffErforderlicher Berechtigungsbereich
Anmelden und Anzeigen einer Kachel mit dem Namen und Miniaturfoto des BenutzersLesen des vollständigen Profils des angemeldeten Benutzers.
Lesen von grundlegenden Unternehmensinformationen.
User.Read
Einfache PersonenauswahlLesen der Basisprofile aller Benutzer im Namen des angemeldeten Benutzers.User.ReadBasic.All
Personenauswahl mit vollständigem ProfilWie oben, jedoch Zugriff auf die vollständigen Benutzerprofile der Benutzer im Namen des angemeldeten Benutzers.User.Read.All
OrganigrammnavigationLesen 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öglichtLesen 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 BenutzerLesen 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.

BenutzertypZugriff
Globaler AdministratorLesen aller Verzeichnisobjekte
Erstellen, Aktualisieren und Löschen aller Verzeichnisobjekte
BenutzerLesen 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
GastbenutzerLesen 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

© 2017 Microsoft