Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Entwickler
Verwenden Sie diesen Artikel, um die Authentifizierung und Autorisierung für eine SharePoint Embedded-Anwendung zu planen.
SharePoint Embedded-Anwendungen verwenden Microsoft Graph, um auf Container und Inhalte zuzugreifen.
Die vollständige Authentifizierungsreferenz finden Sie unter SharePoint Embedded-Authentifizierung und -Autorisierung.
Grundprinzipien
Die SharePoint Embedded-Authentifizierung und -Autorisierung folgt diesen Grundsätzen:
- Anwendungen interagieren mit SharePoint Embedded über Microsoft Graph.
- Anwendungen benötigen Containertyp Anwendungsberechtigungen, um auf Container dieses Containertyps zugreifen zu können.
- Anwendungen können nur auf Container zugreifen, in denen der Benutzer Mitglied ist, wenn sie den delegierten Zugriff im Namen eines Benutzers verwenden.
- Anwendungen können auf alle Container zugreifen, die durch ihren Containertyp aktiviert sind Anwendungsberechtigungen, wenn sie den Nur-App-Zugriff ohne einen Benutzer verwenden.
- Anwendungen sollten nach Möglichkeit delegierten Zugriff verwenden, um die Sicherheit und Verantwortlichkeit zu erhöhen.
Voraussetzungen
Planen für:
- Registrierung einer Microsoft Entra ID-Anwendung.
- Ein Microsoft 365-Abonnement im Microsoft Entra ID-Mandanten.
- Microsoft Graph-Berechtigungen für SharePoint Embedded-Vorgänge.
- Containertypanwendungsberechtigungen, die über die Containertypregistrierung gewährt werden.
- Admin-Zustimmung im nutzenden Mandanten.
Berechtigungsebenen
SharePoint Embedded-Zugriff verfügt über mehrere Ebenen.
| Ebene | Zweck |
|---|---|
| Microsoft Graph-Berechtigung | Ermöglicht der App das Aufrufen von SharePoint Embedded-Endpunkten. |
| Containertyp Anwendungsberechtigung | Ermöglicht der App den Zugriff auf Container eines bestimmten Containertyps. |
| Containerberechtigung | Bestimmt, was ein Benutzer in einem bestimmten Container für delegierten Zugriff tun kann. |
Wichtig
Microsoft Graph-Berechtigungen allein gewähren keinen Zugriff auf Container. Der Anwendung muss auch die Berechtigung für einen Containertyp erteilt werden.
Delegierter Zugriff
Delegierter Zugriff bedeutet, dass die Anwendung im Namen eines Benutzers handelt.
SharePoint Embedded-Vorgänge im Namen eines Benutzers erfordern eine delegierte Microsoft Graph-Berechtigung FileStorageContainer.Selected .
Für diese delegierte Berechtigung ist keine Administratorzustimmung für den nutzenden Mandanten erforderlich.
Der Benutzer muss auch über Containerberechtigungen verfügen.
Die effektiven Berechtigungen der Anwendung sind die Schnittmenge von:
- Die für den Containertyp erteilten Anwendungsberechtigungen.
- Die Berechtigungen des Benutzers für den Container.
Verwenden Sie nach Möglichkeit delegierten Zugriff.
Der delegierte Zugriff verbessert die Überprüfbarkeit, da Aktionen dem Benutzer zugeordnet werden können.
Vertrauliche Clientanforderung für die Containererstellung
Das Erstellen eines Containers erfordert eine vertrauliche Clientanwendung , d. h. eine Anwendung, die einen geheimen Clientschlüssel oder ein Zertifikat enthält und es privat hält. Erstellungsaufrufe, die ein Token aus einer öffentlichen Clientanwendung verwenden, z. B. einer Single-Page-App, einer mobilen App oder einer Desktop-App, schlagen fehl.
Planen Sie eine Back-End-Komponente, die das Token abruft und Microsoft Graph aufruft, wenn das Front-End Ihrer App ein öffentlicher Client ist. Die Nur-App-Erstellung erfüllt diese Anforderung bereits, da der Fluss der Clientanmeldeinformationen vertraulich ist.
Weitere Informationen finden Sie unter Öffentliche und vertrauliche Clientanwendungen.
Nur-App-Zugriff
Nur-App-Zugriff bedeutet, dass die Anwendung ohne Benutzer agiert.
SharePoint Embedded-Vorgänge ohne einen Benutzer erfordern die Berechtigung zur Anwendung Microsoft Graph FileStorageContainer.Selected .
Für diese Berechtigung ist die Zustimmung des Administrators für den nutzenden Mandanten erforderlich.
Mit dem reinen App-Zugriff kann die App auf alle Container zugreifen, die durch ihre Containertyp-Anwendungsberechtigungen aktiviert sind.
Verwenden Sie den Nur-App-Zugriff für Hintergrundvorgänge, die nicht im Namen eines Benutzers ausgeführt werden können.
Wenden Sie beim Erteilen von Berechtigungen für Containertypanwendungen die niedrigsten Berechtigungen an.
Administratorzustimmung
Ein Administrator des nutzenden Mandanten muss der Berechtigungsanforderung der Anwendung zustimmen.
Für die Anwendungsberechtigung FileStorageContainer.Selected ist die Zustimmung des Admins erforderlich. Für die Delegierung FileStorageContainer.Selected ist keine Administratorzustimmung erforderlich.
Die Containertypregistrierung erfordert auch die Zustimmung der besitzenden Anwendung, damit sie im nutzenden Mandanten handeln kann.
Informationen zur Containertypregistrierung finden Sie unter Registrieren von Anwendungsberechtigungen für Dateispeicher für Containertypen.
Containertypberechtigungen (Microsoft Graph)
Das Erstellen, Verwalten und Registrieren von Containertypen sind jetzt Microsoft Graph-Vorgänge. Planen Sie diese Berechtigungen ein:
| Permission | Zweck | Mandant |
|---|---|---|
FileStorageContainerType.Manage.All |
Erstellen und verwalten Sie Containertypen auf dem besitzenden Mandanten. | Besitzen Sie nur |
FileStorageContainerTypeReg.Selected |
Registrieren Sie den Containertyp für die Mandanten, die den Server nutzen. | Verbrauchend |
FileStorageContainer.Selected |
Greifen Sie auf Container des Containertyps auf nutzenden Mandanten zu. | Verbrauchend |
FileStorageContainerType.Manage.All ist eine delegierte Berechtigung und erfordert keine Administratorzustimmung. Jeder Nicht-Gastbenutzer im besitzenden Mandanten kann zustimmen, ihn zum Erstellen eines Containertyps verwenden und wird dann automatisch als Besitzer dieses Containertyps zugewiesen. (Vor Juni 2026 war hierfür die Rolle "SharePoint Embedded-Administrator" oder "Globaler Administrator" erforderlich.)
Wichtig
FileStorageContainerType.Manage.All wird nur für den besitzenden Mandanten benötigt, um den Containertyp zu erstellen. Entfernen Sie es aus Ihrem Anwendungsmanifest, bevor Sie es an nutzende Mandanten verteilen, damit Kunden nicht um übermäßige Berechtigungen gebeten werden. Bei der Nutzung von Mandanten fordern Sie nur FileStorageContainerTypeReg.Selected an und FileStorageContainer.Selected.
Anwendungsberechtigungen für Containertypen
Containertypanwendungsberechtigungen werden von der besitzenden Anwendung über die Containertypregistrierung erteilt.
Diese Berechtigungen definieren, was eine Anwendung für Container des Containertyps tun kann.
Zu den Anwendungsberechtigungen für den Containertyp gehören:
NoneReadContentWriteContentCreateDeleteReadWriteEnumeratePermissionsAddPermissionsUpdatePermissionsDeletePermissionsDeleteOwnPermissionManagePermissionsManageContentFull
Erteilen Sie nur die Berechtigungen, die die Anwendung benötigt.
Gewähren Sie z. B. einer Gast-App im Hintergrund keine Unterstützung Full , wenn diese nur Lesezugriff für die Sicherung oder Analyse benötigt.
Containerberechtigungen
Containerberechtigungen gelten für Benutzer.
Sie gelten nur für den Zugriff im Namen eines Benutzers.
Jeder Benutzer, der auf einen Container zugreift, muss Mitglied des Containers sein.
Die Containermitgliedschaft gewährt Benutzerberechtigungen für diesen Container.
SharePoint Embedded unterstützt die folgenden Containerrollen:
| Rolle | Zusammenfassung |
|---|---|
| Reader | Lesen Sie Eigenschaften und Inhalt des Containers. |
| Writer | Leseberechtigungen sowie Inhalte erstellen, aktualisieren und löschen und die entsprechenden Containereigenschaften aktualisieren. |
| Manager | Schreibberechtigungen und Verwalten der Mitgliedschaft des Containers. |
| Besitzer | Manager-Berechtigungen plus Löschen von Containern. |
Wenn ein Benutzer einen neuen Container über delegierte Aufrufe erstellt, wird diesem Benutzer automatisch die Rolle "Besitzer" zugewiesen.
Besitzer von Containertypen
Containertypbesitzer unterscheiden sich von Containerbesitzern. Sie steuern den Containertyp selbst im besitzenden Mandanten.
- Automatische Zuweisung: Der Benutzer, der einen Containertyp erstellt, wird automatisch als Besitzer zugewiesen.
-
Besitzer hinzufügen oder entfernen: Verwenden Sie die Containertypbeziehung
permissions(Beta), um bis zu drei Besitzer pro Containertyp zu verwalten:POST /storage/fileStorage/containerTypes/{id}/permissionsFügt einen Besitzer hinzu undDELETE /storage/fileStorage/containerTypes/{id}/permissions/{permissionId}entfernt eine bestimmte Besitzerberechtigung. -
Funktionen: Im
FileStorageContainerType.Manage.Alldelegierten Modus können Besitzer den Containertyp, den sie besitzen, erstellen, lesen, aktualisieren und löschen, seine Besitzer verwalten und Container dieses Typs erstellen (nur delegierte Aufrufe). - Einschränkungen: Externe Identitäten (Gastbenutzer) können keine Containertypbesitzer sein. Besitzerinformationen sind nur im besitzenden Mandanten vorhanden und werden bei der Registrierung nicht an die nutzenden Mandanten weitergegeben.
- Effektiver Zugriff: Besitzerfunktionen sind Benutzerberechtigungen; Effektiver Zugriff ist die Schnittmenge der Graph-Berechtigungen der App und der Rolle "Besitzer".
Auswirkungen der Containertypregistrierung
Damit die besitzerführende Anwendung für einen verbrauchenden Mandanten handeln kann:
- Für die besitzende App muss ein Dienstprinzipal auf dem nutzenden Mandanten installiert sein.
- Der besitzenden App muss die Administratorzustimmung erteilt werden, um die Containertypregistrierung durchzuführen.
- Nur die besitzende Anwendung des Containertyps kann die Registrierungs-API im nutzenden Mandanten aufrufen.
Die Registrierungs-API gibt Berechtigungen für die besitzende App und alle Gast-Apps an.
Der letzte erfolgreiche Registrierungs-API-Aufruf bestimmt die Einstellungen, die im nutzenden Mandanten verwendet werden.
Außergewöhnliche Zugriffsmuster
Planen Sie Vorgänge ein, die nicht dem normalen Microsoft Graph-Autorisierungsmuster folgen.
Zu den außergewöhnlichen Zugriffsmustern gehören:
- Containertypverwaltung für Besitzer von Mandanten über Microsoft Graph.
- Containertypregistrierung für Nutzenmandanten über Microsoft Graph (
FileStorageContainerTypeReg.Selected). - Administrative Containervorgänge, die einen
FileStorageContainer.Manage.Allangemeldeten SharePoint Embedded-Administrator oder globalen Administrator erfordern. - Microsoft Search-Szenarien, die während der Vorschauphase zusätzliche Berechtigungen erfordern.
- Vorgänge, für die derzeit eine Benutzerlizenz erforderlich ist.
Überprüfen Sie diese Punkte, bevor Sie privilegierte oder suchintensive Features entwerfen.
Sicherheitsüberlegungen
- Delegierten Zugriff für benutzergesteuerte Vorgänge bevorzugen.
- Verwenden Sie den Nur-App-Zugriff nur, wenn er für Dienstvorgänge benötigt wird.
- Gewähren Sie die geringsten Berechtigungen auf Containertypebene.
- Gewähren Sie die niedrigsten Berechtigungen auf der Ebene der Containermitgliedschaft.
- Administratorzustimmung im richtigen Mandanten erforderlich
- Behandeln Sie die Registrierung als Teil des Kunden-Onboardings.
- Vermeiden Sie den umfassenden Zugriff auf Gast-Apps, es sei denn, das Szenario erfordert dies.
- Überprüfen Sie die Auswirkungen auf Überwachung und Compliance mit Ihren Mandantenadministratoren.
Planungscheckliste
- Registrieren Sie die Anwendung Microsoft Entra ID.
- Entscheiden Sie, welche Vorgänge delegierten Zugriff verwenden.
- Entscheiden Sie, welche Vorgänge nur App-Zugriff verwenden.
- Fordern Sie Microsoft Graph-Berechtigungen
FileStorageContainer.Selectedan. - Fordern Sie Microsoft Graph
FileStorageContainerType.Manage.All(besitzender Mandant) undFileStorageContainerTypeReg.Selected(nutzender Mandant) für die Erstellung und Registrierung des Containertyps an. - Planen Sie die Administratoreinwilligung in jedem Mandanten, der Daten in Anspruch nimmt.
- Definieren Sie die Anwendungsberechtigungen für den Containertyp.
- Definieren Sie Benutzercontainerrollen.
- Identifizieren Sie alle Gast-Apps und deren Berechtigungen.
- Überprüfen Sie außergewöhnliche Zugriffsmuster.
Nächste Schritte
Überprüfen Sie Skalierungs- und Leistungseinschränkungen: Verstehen Sie Grenzwerte und Anrufmuster.