Freigeben über


SharePoint Embedded-Authentifizierung und -Autorisierung

Um SharePoint Embedded verwenden zu können, muss Ihre Anwendung Microsoft Graph verwenden. Erfahren Sie mehr über die Microsoft Graph-Authentifizierung und -Autorisierung. Erfahren Sie mehr über die SharePoint Embedded-Architektur.

Übersicht

Hier sind einige wichtige Prinzipien der SharePoint Embedded-Authentifizierung und -Autorisierung:

  • Anwendungen interagieren mit SharePoint Embedded über Microsoft Graph.
  • Anwendungen benötigen Anwendungsberechtigungen vom Typ Container, um auf Container dieses Containertyps zuzugreifen.
  • Anwendungen können nur auf Container zugreifen, bei denen der Benutzer Mitglied ist, wenn der Zugriff im Namen eines Benutzers verwendet wird.
  • Anwendungen können auf alle Container zugreifen, die durch ihre Containertyp-Anwendungsberechtigungen aktiviert werden, wenn sie Zugriff ohne Benutzer verwenden.
  • Anwendungen verwenden den Zugriff nach Möglichkeit im Namen von Benutzern, um die Sicherheit und Verantwortlichkeit zu verbessern.

Voraussetzungen

  • Eine Microsoft Entra ID Anwendungsregistrierung. Weitere Informationen finden Sie unter Registrieren einer Anwendung.
  • Ihr Microsoft Entra ID Mandant verfügt über ein Microsoft 365-Abonnement

Authorization

SharePoint Embedded-Vorgänge werden über Microsoft Graph verfügbar gemacht. SharePoint Embedded unterstützt den Zugriff im Namen eines Benutzers und auch den Zugriff ohne Benutzer.

Wichtig

Microsoft Graph-Berechtigungen, die Ihrer Anwendung gewährt werden, ermöglichen ihr das Aufrufen von SharePoint Embedded-Endpunkten. Allerdings muss Ihrer Anwendung die Berechtigung für einen Containertyp erteilt werden, bevor sie Zugriff auf Container dieses Typs erhält.

Anwendungsberechtigungen

SharePoint Embedded-Anwendungen müssen die folgenden Microsoft Graph-Berechtigungen in ihrem Anwendungsmanifest anfordern, um mit SharePoint Embedded zu arbeiten:

  • FileStorageContainerType.Manage.All , damit eine Anwendung Containertypen auf dem eigenen Mandanten erstellen und verwalten kann. Diese Berechtigung ist nur für den eigenen Mandanten erforderlich, in dem der Containertyp erstellt wird.
  • FileStorageContainerTypeReg.Selected , damit eine Anwendung den Containertyp bei der Nutzung von Mandanten registrieren kann.
  • FileStorageContainer.Selected , um einer Anwendung den Zugriff auf Container des angegebenen Containertyps bei der Nutzung von Mandanten zu ermöglichen.

Zugriff im Namen eines Benutzers

SharePoint Embedded-Vorgänge im Namen eines Benutzers erfordern, dass Anwendungen die Zustimmung für die delegierte Berechtigung Microsoft Graph FileStorageContainer.Selected erhalten.

Zusätzlich dazu, dass Ihre Anwendung die Zustimmung für FileStorageContainer.Selected für einen nutzenden Mandanten erhält, muss der Benutzer, für den sie tätig wird, über Benutzerberechtigungen verfügen. Die effektiven Berechtigungen, über die die Anwendung verfügt, sind die Schnittmenge zwischen den Anwendungsberechtigungen und den Benutzerberechtigungen, wenn sie im Namen eines Benutzers handeln.

Wichtig

Die Verwendung von SharePoint Embedded im Namen eines Benutzers ist der empfohlene Ansatz. Diese Art von Zugriff erhöht die Sicherheit Ihrer Anwendung. Es verbessert auch die Überprüfbarkeit von Aktionen, die von Ihrer Anwendung ausgeführt werden.

Zugriff ohne Benutzer

SharePoint Embedded-Vorgänge ohne Benutzer erfordern, dass Anwendungen die Zustimmung zur Microsoft Graph FileStorageContainer.Selected-Anwendungsberechtigung erhalten. Diese Berechtigung erfordert die Administratoreinwilligung für den Nutzen des Mandanten.

Hinweis

Ein Administrator des nutzenden Mandanten muss der Berechtigungsanforderung Ihrer Anwendung zustimmen. Weitere Informationen finden Sie unter Erteilen der Administratoreinwilligung.

Anwendungsberechtigungen für Containertypen

SharePoint Embedded-Anwendungen müssen von der besitzenden Anwendung Anwendungsberechtigungen vom Typ Container erhalten, bevor sie auf Container des angegebenen Containertyps zugreifen können. Containertypanwendungsberechtigungen werden Anwendungen über die Containertypregistrierung in einem nutzenden Mandanten gewährt.

Berechtigung Beschreibung
Keine Verfügt über keine Berechtigungen für Container oder Inhalte dieses Containertyps.
ReadContent Kann den Inhalt von Containern dieses Containertyps lesen.
WriteContent Kann Inhalte für diesen Containertyp in Container schreiben. Dies kann nicht ohne die ReadContent-Berechtigung gewährt werden.
Create Kann Container dieses Containertyps erstellen.
Löschen Kann Container dieses Containertyps löschen.
Lesen Kann die Metadaten von Containern dieses Containertyps lesen.
Write Kann die Metadaten von Containern dieses Containertyps aktualisieren.
EnumeratePermissions Kann die Member eines Containers und deren Rollen für Container dieses Containertyps auflisten.
AddPermissions Kann dem Container für Container dieses Containertyps Member hinzufügen.
UpdatePermissions Kann vorhandene Mitgliedschaften im Container für Container dieses Containertyps aktualisieren (ändern).
DeletePermissions Kann andere Member (aber nicht selbst) aus dem Container für Container dieses Containertyps löschen.
DeleteOwnPermission Kann die eigene Mitgliedschaft aus dem Container für Container dieses Containertyps entfernen.
ManagePermissions Kann Mitglieder in den Containerrollen für Container dieses Containertyps hinzufügen, entfernen (einschließlich selbst) oder aktualisieren.
ManageContent Kann den Inhalt des Containers verwalten (WriteContent plus Auscheckberechtigung verwerfen im reinen App-Modus).
Full Verfügt über alle Berechtigungen für Container dieses Containertyps.

Hinweis

Die Kombination aus Microsoft Graph-Berechtigungen und Anwendungsberechtigungen vom Typ Container umfasst die Clientautorisierung für Anwendungen.

Benutzerberechtigungen

Benutzern werden je nach Szenario verschiedene Zugriffsebenen für SharePoint Embedded gewährt:

Zugreifen auf Inhalte in Containern

Es gibt zwei Möglichkeiten, wie Benutzer auf Inhalte in Containern zugreifen können:

Containerberechtigungen

Benutzern können Containerberechtigungen auf zwei Arten zugewiesen werden:

  • Direkte Mitgliedschaft. Ein Benutzer wird direkt als Mitglied eines Containers mit bestimmten Berechtigungen hinzugefügt.
  • Transitive Mitgliedschaft. Ein Benutzer ist Mitglied einer Microsoft 365-Gruppe , die selbst Mitglied eines Containers mit bestimmten Berechtigungen ist.

Die Mitgliedschaft in einem Container gewährt Benutzern Containerberechtigungen. Diese Berechtigungen definieren die Zugriffsebene, über die Benutzer für einen bestimmten Container verfügen. Containerberechtigungen gelten nur für den Zugriff im Namen eines Benutzers und nicht für den Zugriff ohne einen Benutzer. Eine SharePoint Embedded-Anwendung, die auf Container ohne Benutzer zugreift, erhält stattdessen den vollzugriff, der in den Anwendungsberechtigungen des Containertyps definiert ist.

Wichtig

Dem aufrufenden Benutzer, der über delegierte Aufrufe einen neuen Container erstellt, wird automatisch die Rolle Besitzer zugewiesen.

Berechtigung Beschreibung
Reader Diese Rolle ermöglicht es dem Benutzer, die Eigenschaften und den Inhalt des Containers zu lesen.
Writer Diese Rolle verfügt über alle Berechtigungen, über die ein Leser verfügt, sowie über die Berechtigung zum Erstellen, Aktualisieren und Löschen von Inhalten innerhalb des Containers sowie zum Aktualisieren anwendbarer Containereigenschaften.
Manager Diese Rolle verfügt über alle Berechtigungen, über die ein Writer verfügt, sowie über die Berechtigung zum Verwalten der Mitgliedschaft im Container.
Owner Diese Rolle verfügt über alle Berechtigungen, über die ein Manager verfügt, sowie über die Berechtigung zum Löschen von Containern und Wiederherstellen gelöschter Container.
Zugriff auf bestimmte Elemente in einem Container

Bestimmte Elemente in einem Container können über die DriveItem-Einladung oder die Erstellungsendpunkte der Berechtigung für Benutzer freigegeben werden. Die Freigabe gewährt Benutzern Zugriff auf die spezifischen Elemente, gewährt ihnen jedoch keinen Zugriff auf den Container selbst oder ein anderes Element im Container. Informationen zu den unterstützten Zugriffsebenen finden Sie unter Berechtigungsrollen.

Hinweis

Weitere Informationen zur Freigabe finden Sie unter Freigabe und Berechtigungen in SharePoint Embedded.

Verwalten von SharePoint Embedded-Anwendungen, die auf dem verbrauchenden Mandanten installiert sind

SharePoint Embedded-Administratoren können alle SharePoint Embedded-Anwendungen verwalten, die im Nutzen des Mandanten installiert sind. Weitere Informationen zum Verwalten installierter Anwendungen im nutzenden Mandanten finden Sie unter Verwalten von SharePoint Embedded-Anwendungen, die im nutzenden Mandanten installiert sind.

Hinweis

Globale Administratoren verfügen über alle Berechtigungen, über die SharePoint Embedded-Administratoren verfügen, und mehr, sodass sie auch SharePoint Embedded-Anwendungen verwalten können, die im betreffenden Mandanten installiert sind. Sie sollten jedoch die Rolle mit den geringsten Berechtigungen zuweisen, die zum Ausführen von Verwaltungsaufgaben erforderlich ist. Daher wird die Verwendung der SharePoint Embedded-Administratorrolle für die Verwaltung von SharePoint Embedded-Anwendungen empfohlen.

Verwalten von SharePoint Embedded-Anwendungen, die im besitzenden Mandanten erstellt wurden

SharePoint Embedded-Administratoren können alle SharePoint Embedded-Anwendungen verwalten, die im eigenen Mandanten erstellt wurden. Darüber hinaus kann jeder Microsoft Entra Benutzer, der keine externe Identität ist, als Besitzer eines Containertyps zugewiesen werden. Containertypbesitzer können diesen bestimmten Containertyp verwalten. Weitere Informationen zum Verwalten von Anwendungen, die im eigenen Mandanten erstellt wurden, finden Sie unter SharePoint Embedded-Entwickleradministrator.

Funktionen des Containertypbesitzers

Containertypbesitzer werden über die Berechtigungsnavigationseigenschaft für die Ressource fileStorageContainerType verwaltet. Jeder Berechtigungseintrag hat die Rolle und owner identifiziert den Benutzer über grantedToV2. Besitzer können auf folgende Weise verwaltet werden:

Containertypbesitzer können die folgenden Vorgänge auf dem besitzenden Mandanten ausführen, wenn sie eine Anwendung mit FileStorageContainerType.Manage.All im delegierten Modus verwenden:

  • Erstellen, lesen, aktualisieren und löschen Sie den Containertyp, den sie besitzen. Besitzer ohne Administratorrechte können Containertypen nur dort verwalten, wo sie in der Berechtigungssammlung angezeigt werden und die aufrufende App mit der besitzenden Anwendung übereinstimmt.
  • Hinzufügen und Entfernen anderer Besitzer für den Containertyp, den sie besitzen (über den Berechtigungsendpunkt)
  • Erstellen von Containern des Containertyps, den sie besitzen, sofern der Aufruf delegiert ist (nicht nur App)

Hinweis

Der Benutzer, der einen Containertyp erstellt, wird automatisch als Besitzer zugewiesen. Externe Identitäten (Gastbenutzer) können nicht als Containertypbesitzer zugewiesen werden und können keine Besitzervorgänge ausführen.

Wichtig

Containertypbesitzer sind nur im besitzenden Mandanten vorhanden. Wenn ein Containertyp in einem nutzenden Mandanten registriert ist, werden die Besitzerinformationen nicht an diesen Mandanten weitergegeben. Wenn Contoso beispielsweise einen Containertyp mit Besitzern erstellt und in Fabrikam registriert, sind diese Contoso-Benutzer nicht im Mandanten von Fabrikam vorhanden und verfügen dort über keine Besitzerfunktionen.

Wichtig

Containertypbesitzerfunktionen sind Benutzerberechtigungen. Der effektive Zugriff ist die Schnittmenge der Anwendungsberechtigungen (Microsoft Graph-Berechtigungen) und der Benutzerberechtigungen (Besitzerrolle). Die Anwendung muss über ausreichende Graph-Berechtigungen verfügen, damit die Schnittmenge den gewünschten Zugriff gewähren kann.

Außergewöhnliche Zugriffsmuster

Derzeit gibt es zwei Arten von Vorgängen mit außergewöhnlichen Zugriffsmustern:

Wichtig

Berücksichtigen Sie die Auswirkungen dieser außergewöhnlichen Zugriffsmuster auf die Art und Weise, wie Ihre Anwendung und andere Anwendungen auf SharePoint Embedded-Inhalte in Ihrem Containertyp zugreifen können.

Vorgänge beim Durchsuchen von SharePoint Embedded-Inhalten

Dieser Abschnitt bezieht sich nur auf die Suchszenarien in Search Content und nicht auf die Enumerationsszenarien.

Um Microsoft Search für SharePoint Embedded-Inhalte zu verwenden, müssen Sie die delegierte Files anfordern. Read.All Microsoft Graph-Berechtigung zusätzlich zu FileStorageContainer.Selected, die normalerweise für den SharePoint Embedded-Zugriff verwendet wird. Während der Vorschauphase dieses Features Files. Read.All application permission gewährt Anwendungen Zugriff auf Suchfunktionen für alle SharePoint Embedded-Inhalte.

Hinweis

Microsoft Search-Unterstützung für SharePoint Embedded-Inhalte befindet sich in der Vorschau und kann geändert werden. Die Zugriffsanforderungen für Microsoft Search für SharePoint Embedded-Inhalte werden in Zukunft mit dem SharePoint Embedded-Autorisierungsmodell übereinstimmen. Bleiben Sie dran.

Vorgänge, die eine Benutzerlizenz erfordern

SharePoint Embedded ist so konzipiert, dass es funktioniert, ohne dass Endbenutzern eine Art von Microsoft 365-Produktlizenzen zugewiesen werden müssen. Es gibt jedoch bestimmte Vorgänge, die sich noch nicht an dieses Prinzip halten.

Auflisten von Containern

Der Vorgang Container auflisten gibt den Antwortcode 403 Forbidden zurück, wenn er im Namen eines Benutzers ohne OneDrive aufgerufen wird. Es ist geplant, diese Abhängigkeit in Kürze zu entfernen. Diese Abhängigkeit gilt nicht für den Vorgang Container auflisten, wenn ohne Benutzerkontext aufgerufen wird (nur App-Modus).

Erwähnen von Benutzern in Office-Dokumenten

Die allgemeine Office-Benutzeroberfläche umfasst das Überprüfen von Dokumenten und das Hinzufügen von Kommentaren zu diesen Dokumenten. Damit Benutzer in der @mentions Personenauswahl angezeigt werden können, muss ihnen eine Microsoft 365-Lizenz zugewiesen sein.

Was kommt als nächstes

Hier sind einige Aktionen, die Sie als Nächstes ausführen können:

  1. Konfigurieren Sie Ihr SharePoint Embedded-Anwendungsmanifest (Sie können Microsoft Entra PowerShell oder die Azure CLI verwenden), um die erforderlichen Berechtigungen für Ihren eigenen Mandanten anzufordern:

    • Fügen Sie die Microsoft Graph-Berechtigung FileStorageContainerType.Manage.All hinzu, um Containertypen auf dem besitzenden Mandanten zu erstellen:
      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • typ: Role
      • ID: 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b
  2. Erteilen der Administratoreinwilligung für Ihre Anwendung auf Ihrem eigenen Mandanten

  3. Erstellen Sie einen neuen Containertyp auf dem besitzenden Mandanten.

  4. Konfigurieren Sie Ihr SharePoint Embedded-Anwendungsmanifest neu, um nur die erforderlichen Berechtigungen für die Nutzung von Mandanten anzufordern:

    • Entfernen Sie die Microsoft Graph-Berechtigung FileStorageContainerType.Manage.All**, da dies nur zum Erstellen des Containertyps auf dem eigenen Mandanten erforderlich ist:

      • resourceAppId: 00000003-0000-0000-c000-000000000000

      • typ: Role

      • ID: 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b

        Hinweis

        Nachdem Sie den Containertyp auf dem besitzenden Mandanten erstellt haben, sollten Sie die Berechtigung FileStorageContainerType.Manage.All aus dem Manifest Ihrer Anwendung entfernen. Ihre Anwendung benötigt dies NICHT für die Nutzung von Mandanten, nur für den eigenen Mandanten, um den Containertyp zu erstellen. Wenn Sie diese Berechtigung nicht aus dem Manifest der Anwendung entfernen, führt dies dazu, dass Ihre Kunden sich Sorgen über die übermäßigen Berechtigungen machen, die von Ihrer Anwendung angefordert werden.

    • Fügen Sie die Microsoft Graph-Berechtigung FileStorageContainerTypeReg.Selected hinzu, um den Containertyp für die Nutzung von Mandanten zu registrieren:

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • typ: Role
      • ID: 2dcc6599-bd30-442b-8f11-90f88ad441dc
    • Fügen Sie die Microsoft Graph-Berechtigung FileStorageContainer.Selected für den Zugriff auf Container hinzu, die Mandanten im Namen von Benutzern nutzen :

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • typ: Scope
      • ID: 085ca537-6565-41c2-aca7-db852babc212
    • Fügen Sie optional die Microsoft Graph-Berechtigung FileStorageContainer.Selected für den Zugriff auf den Container auf Mandanten hinzu, die ohne Benutzer genutzt werden :

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • typ: Role
      • ID: 40dc41bc-0f7e-42ff-89bd-d9516947e474
  5. Erteilen Sie Ihrer Anwendung eine Administratoreinwilligung für einen nutzenden Mandanten (der mit dem besitzereigenen Mandanten identisch sein kann).

  6. Registrieren Sie den Containertyp auf dem Nutzen des Mandanten.

  7. Entfernen Sie FileStorageContainerTypeReg.Selected aus dem Manifest Ihrer Anwendung, nachdem die Registrierung abgeschlossen ist.

    Hinweis

    Nach der Registrierung des Containertyps sollten Sie die Berechtigung FileStorageContainerTypeReg.Selected aus dem Manifest Ihrer Anwendung entfernen. Diese Berechtigung ist nur während der Einrichtung der Registrierung erforderlich. Wenn Sie ihn nach der Registrierung beibehalten, wird die Berechtigungsoberfläche Ihrer Anwendung unnötig erhöht.

  8. Erstellen eines Containers auf dem verbrauchenden Mandanten