Konfigurieren der Authentifizierung und Autorisierung

Gilt für: Entwickler

Konfigurieren Sie die Authentifizierung und Autorisierung, bevor Ihre SharePoint Embedded-Anwendung Microsoft Graph- oder SharePoint Embedded-APIs aufruft.

Schließen Sie zuerst Anwendungsberechtigungen registrieren ab, damit der Containertyp im verbrauchenden Mandanten registriert wird.

Grundlegendes zum Zugriffsmodell

SharePoint Embedded verwendet zwei Berechtigungsebenen.

Microsoft Graph-Berechtigungen ermöglichen der App das Aufrufen von SharePoint Embedded-Endpunkten.

Anwendungsberechtigungen für Containertypen ermöglichen der App den Zugriff auf Container eines bestimmten Containertyps.

Beide Ebenen sind erforderlich.

Wichtig

Die Microsoft Graph-Zustimmung allein gewährt keinen Zugriff auf Container. Der App muss auch die Berechtigung für den Containertyp erteilt werden.

Konfigurieren der Microsoft Entra ID-App

Beginnen Sie mit einer Microsoft Entra ID App-Registrierung.

Konfigurieren Sie es für Ihren Anwendungstyp:

  1. Registrieren oder identifizieren Sie die besitzende Anwendung.
  2. Fügen Sie Umleitungs-URIs für Entwicklungs- und Produktionsclients hinzu.
  3. Fügen Sie bei Bedarf Anmeldeinformationen für reine App-Flows hinzu.
  4. Fügen Sie Microsoft Graph-Berechtigungen für den SharePoint Embedded-Zugriff hinzu.
  5. Fügen Sie die für Registrierungsszenarien erforderliche Microsoft Graph-Berechtigung hinzu.
  6. Bitten Sie einen Administrator, bei Bedarf die Zustimmung zu erteilen.

Allgemeine Schritte finden Sie unter Registrieren einer Anwendung beim Microsoft Identity Platform.

Anfordern von Microsoft Graph-Berechtigungen

SharePoint Embedded-Vorgänge über Microsoft Graph erfordern FileStorageContainer.Selected.

Verwenden Sie delegiert FileStorageContainer.Selected für den Zugriff im Namen eines Benutzers.

Verwenden Sie die Anwendung FileStorageContainer.Selected für den reinen App-Zugriff.

Die Anwendung FileStorageContainer.Selected erfordert die Administratoreinwilligung im Nutzen des Mandanten. Delegiert FileStorageContainer.Selected erfordert keine Administratoreinwilligung.

Fordern FileStorageContainer.Manage.AllSie für Administrative Funktionen im Namen eines Administratorbenutzers an, z. B. das Aufzählen, Löschen, Wiederherstellen, Bereinigen und Aktualisieren von Containern und das Verwalten ihrer Berechtigungen für alle regelbaren Containertypen im nutzenden Mandanten.

Hinweis

Die Kombination aus Microsoft Graph-Berechtigungen und Containertyp-Anwendungsberechtigungen bestimmt, was die Anwendung tatsächlich tun kann.

Anfordern der Berechtigung für die Registrierung

Die Containertypregistrierung verwendet die Microsoft Graph-API für die Containertypregistrierung in v1.0.

Fordern Sie für die Registrierung die FileStorageContainerTypeReg.Selected Microsoft Graph-Berechtigung an (delegiert oder nur App).

Bereichsname Typ Verwendung
FileStorageContainerTypeReg.Selected Delegiert oder Anwendung Aktiviert die Containertypregistrierung für einen Nutzenmandanten.

Bei delegierten Registrierungsaufrufen muss der angemeldete Benutzer über die Rolle SharePoint Embedded-Administrator oder Globaler Administrator verfügen.

Verwenden Sie diese Berechtigung mit Anwendungsberechtigungen registrieren.

Delegierten Zugriff nach Möglichkeit bevorzugen

Verwenden Sie den Zugriff nach Möglichkeit im Namen eines Benutzers.

Delegierter Zugriff verbessert die Sicherheit, Verantwortlichkeit, Überprüfbarkeit und Ausrichtung auf die Containermitgliedschaft des Benutzers.

Bei verwendung des delegierten Zugriffs sind effektive Berechtigungen die Schnittmenge von Anwendungsberechtigungen und Benutzercontainerberechtigungen.

Der Benutzer muss Mitglied des Containers sein.

Verwenden Sie eine vertrauliche Clientanwendung, um Die Kontrolle über Aktionen zu behalten, die im Namen eines Benutzers ausgeführt werden. Eine öffentliche Clientanwendung kann Benutzertoken für den Endbenutzer verfügbar machen, was zu Aktionen führen kann, die außerhalb der Kontrolle Ihrer App ausgeführt werden. Weitere Informationen finden Sie unter Öffentliche Clientanwendungen und vertrauliche Clientanwendungen.

Konfigurieren der delegierten Tokenerfassung

Für delegierte Anrufe:

  1. Melden Sie den Benutzer mit Microsoft Identity Platform an.
  2. Anforderung delegiert FileStorageContainer.Selected.
  3. Vergewissern Sie sich, dass die delegierte Zustimmung gemäß den Benutzerzustimmungsrichtlinien des verwendenden Mandanten erteilt wird.
  4. Abrufen eines Zugriffstokens für Microsoft Graph.
  5. Aufrufen von Microsoft Graph SharePoint Embedded-Endpunkten
  6. Vergewissern Sie sich, dass der Benutzer Mitglied des Zielcontainers ist.

Wenn der Benutzer kein Containermitglied ist, kann die App nicht im Namen des Benutzers auf diesen Container zugreifen.

Konfigurieren des Nur-App-Tokenabrufs

Verwenden Sie den reinen App-Zugriff für Dienstworkloads, die nicht als Benutzer ausgeführt werden.

Für Nur-App-Aufrufe:

  1. Konfigurieren Sie Anwendungsanmeldeinformationen, z. B. ein Zertifikat.
  2. Fordern Sie die Anwendung FileStorageContainer.Selectedan.
  3. Lassen Sie einen mandantenverbrauchenden Administrator die Administratoreinwilligung erteilen.
  4. Abrufen eines Tokens mithilfe des Clientanmeldeinformationsflows.
  5. Aufrufen von Microsoft Graph SharePoint Embedded-Endpunkten
  6. Beschränken Sie Containertypberechtigungen auf die Anforderungen der Workload.

Achtung

Ein reines App-Token kann auf alle Container zugreifen, die durch die Anwendungsberechtigungen des Containertyps aktiviert sind. Verwenden Sie die niedrigsten Berechtigungen.

Aufrufen von Microsoft Graph-APIs

Rufen Sie nach dem Tokenerwerb SharePoint Embedded-Vorgänge über Microsoft Graph auf. Zu den nützlichen Referenzen gehören:

Fahren Sie mit Erstellen und Verwalten von Containern für Lebenszyklusvorgänge fort.

Behandeln von Vorgängen, die nicht über Graph verfügbar gemacht werden

Einige Vorgänge weisen außergewöhnliche Zugriffsmuster auf.

Diese Vorgänge verwenden außergewöhnliche Zugriffsmuster:

  • Containertypverwaltung im besitzenden Mandanten über die Microsoft Graph-Containertyp-API (FileStorageContainerType.Manage.All delegierte Berechtigung).
  • Containertypregistrierung im verarbeitenden Mandanten über die Microsoft Graph-API für die Containertypregistrierung (FileStorageContainerTypeReg.Selected).
  • SharePoint Embedded-Agent-Funktionen durch ihre eigenen Berechtigungsanforderungen.
  • Suche: Microsoft Search für SharePoint Embedded-Inhalte erfordert zusätzlich zu FileStorageContainer.Selecteddie delegierte Files.Read.All Berechtigung.
  • Vorgänge, die eine Benutzerlizenz erfordern: Listencontainer gibt für einen delegierten Benutzer ohne 403 Forbidden OneDrive zurück (Nur-App-Anrufe sind nicht betroffen), und Benutzer benötigen eine Microsoft 365-Lizenz, um in der Office-Personenauswahl @mentions angezeigt zu werden.
  • Administrative Aktionen für Container: FileStorageContainer.Manage.All Der angemeldete Benutzer muss ein SharePoint Embedded-Administrator oder globaler Administrator sein. Für einen Benutzer ohne Administratorrechte gewährt es nichts. Wenn nur Manage.All gewährt wird, wird der App der Zugriff verweigert. Wenn sowohl als FileStorageContainer.Selected auch Manage.All gewährt werden, Manage.All wird ignoriert.

Wichtig

Gehen Sie nicht davon aus, dass jeder Vorgang dieselbe Token- oder Berechtigungsressource verwendet. Überprüfen Sie außergewöhnliche Zugriffsmuster, bevor Sie einen Flow implementieren.

Gewähren von Anwendungsberechtigungen für Containertypen

Die besitzende Anwendung gewährt Containertypanwendungsberechtigungen über die Containertypregistrierung in einem nutzenden Mandanten. Diese Berechtigungen bestimmen, was eine Anwendung mit Containern des Containertyps tun kann.

Berechtigung Beschreibung
Keine Keine Berechtigungen für Container oder Inhalte dieses Containertyps.
ReadContent Liest den Inhalt von Containern dieses Containertyps.
WriteContent Schreiben von Inhalten in Container dieses Containertyps. Erfordert ReadContent.
Erstellen Erstellen Sie Container dieses Containertyps.
Löschen Löschen Sie Container dieses Containertyps.
Lesen Liest die Metadaten von Containern dieses Containertyps.
Schreiben Aktualisieren Sie die Metadaten von Containern dieses Containertyps.
EnumeratePermissions Listet die Mitglieder eines Containers und deren Rollen auf.
AddPermissions Fügen Sie einem Container Mitglieder hinzu.
UpdatePermissions Ändern sie die Rollen vorhandener Mitglieder.
DeletePermissions Entfernen Sie andere Member (aber nicht selbst) aus einem Container.
DeleteOwnPermission Entfernen der eigenen Mitgliedschaft aus einem Container.
ManagePermissions Hinzufügen, Entfernen (einschließlich Selbst) oder Aktualisieren von Mitgliedern in Containerrollen.
ManageContent Verwalten von Containerinhalten (WriteContent und Verwerfen des Auscheckens im Modus nur für Apps).
Vollständig Alle Berechtigungen für Container dieses Containertyps.

Verwalten von Containertypbesitzern

Jeder Microsoft Entra Benutzer, der keine externe Identität ist, kann ein Containertypbesitzer sein. Besitzer werden über die Berechtigungsnavigationseigenschaft für die Ressource fileStorageContainerType verwaltet. Jeder Eintrag verfügt über die owner Rolle und identifiziert den Benutzer über grantedToV2.

SharePoint Embedded-Administratoren können alle Anwendungen verwalten, die im besitzenden Mandanten erstellt und im nutzenden Mandanten installiert sind. Weisen Sie die rolle mit den geringsten Rechten zu, die erforderlich ist. Die SharePoint Embedded-Administratorrolle wird für diese Aufgaben gegenüber dem globalen Administrator empfohlen.

Grundlegendes zu Containerberechtigungen

Containerberechtigungen gelten nur für delegierten Zugriff. Eine App, die auf Container ohne Benutzer zugreift, erhält stattdessen den vollzugriff, der durch die Anwendungsberechtigungen des Containertyps definiert ist.

Benutzer erhalten containermitgliedschaft auf zwei Arten:

  • Direkte Mitgliedschaft : Der Benutzer wird einem Container mit bestimmten Berechtigungen direkt hinzugefügt.
  • Transitive Mitgliedschaft : Der Benutzer gehört zu einer Microsoft 365-Gruppe , die Mitglied des Containers ist.

Ein Benutzer muss Mitglied des Containers mit einer der folgenden Rollen sein:

Rolle Zugriffszusammenfassung
Reader Lesen von Containereigenschaften und -inhalten.
Writer Lesezugriff sowie Erstellen, Aktualisieren und Löschen von Inhalten und Aktualisieren anwendbarer Eigenschaften.
Manager Writerzugriff und Containermitgliedschaft verwalten.
Besitzer Managerzugriff und Löschen von Containern.

Wenn ein Benutzer einen Container über delegierte Aufrufe erstellt, wird diesem Benutzer automatisch die Rolle Besitzer zugewiesen.

Wenn Sie einzelne Elemente freigeben möchten, ohne Containerzugriff zu gewähren, verwenden Sie die Endpunkte driveItem invite oder permission create . Die Freigabe eines Elements gewährt keinen Zugriff auf den Container oder auf ein anderes Element darin.

Überprüfen der Authentifizierung

Überprüfen Sie den Flow vor dem Featurecode:

  1. Bestätigen Sie, dass die Administratoreinwilligung erfolgreich abgeschlossen wurde.
  2. Abrufen eines delegierten Tokens.
  3. Rufen Sie ein reines App-Token ab.
  4. Rufen Sie einen einfachen Graph-Endpunkt auf, der dem Tokentyp entspricht.
  5. Vergewissern Sie sich, dass die Registrierung die aufrufende App enthält.
  6. Bestätigen Sie die Benutzermitgliedschaft für delegierte Anrufe.
  7. Vergewissern Sie sich, dass der Zugriff nur auf Apps durch Containertypberechtigungen beschränkt ist.

Behandeln von Autorisierungsfehlern

Problembeschreibung Prüfen
Graph-Aufruf gibt nicht autorisiert zurück Token fehlt, ist abgelaufen oder für die falsche Ressource.
Graph-Aufruf gibt unzulässig zurück Zustimmung, Graphberechtigung oder Containertypberechtigung fehlt.
Fehler beim delegierten Anruf für einen Benutzer Der Benutzer ist kein Containermitglied oder verfügt nicht über die erforderliche Rolle.
Nur-App-Aufruf hat zu viel Zugriff Die Containertypberechtigung ist breiter als erforderlich.
Registrierungsaufruf schlägt fehl Verwenden Sie FileStorageContainerTypeReg.Selected; für delegierte Aufrufe benötigt der Benutzer die Rolle SharePoint Embedded-Administrator oder Globaler Administrator.
Fehler beim Suchaufruf Überprüfen Sie suchspezifische außergewöhnliche Zugriffsmuster.

Nächste Schritte

Verwenden Sie Ihren konfigurierten Flow zum Erstellen und Verwalten von Containern.