Überblick
Mehrere Vitextra-Webparts lesen Daten, die außerhalb der SharePoint-Website liegen: Benutzerprofile und die Vorgesetztenhierarchie in Microsoft Entra ID, den Anwesenheitsstatus in Microsoft Teams, Kalender, Aufgaben in Planner und To Do, Dateien in OneDrive. Lösungen auf Basis des SharePoint Framework (SPFx) greifen über Microsoft Graph auf diese Daten zu, und ein Mandantenadministrator muss dies einmalig erlauben.
Der Mechanismus ist für jede SPFx-Lösung derselbe: Das Lösungspaket deklariert die benötigten Berechtigungen, SharePoint wandelt die Deklaration in Berechtigungsanforderungen um, sobald das Paket im App-Katalog bereitgestellt wird, und die Anforderungen warten auf der Seite API-Zugriff des SharePoint Admin Centers, bis ein Administrator sie genehmigt oder ablehnt.
Dieser Artikel erläutert, welche Vitextra-Produkte Berechtigungen anfordern und warum, wie Sie die Anforderungen genehmigen, wie Sie sie später überprüfen und widerrufen und was Sie in den Webparts sehen, wenn eine Berechtigung fehlt. Er richtet sich an SharePoint-Administratoren und Globale Administratoren, die Vitextra-Produkte installieren, sowie an Sicherheitsverantwortliche, die solche Anforderungen prüfen.
📝 Hinweis
Der Artikel behandelt nur die API-Zugriffsanforderungen von SPFx-Lösungen. Die Installation des Pakets selbst ist in KB10035. So installieren Sie ein Vitextra-Produkt in SharePoint Online beschrieben.
Was angefordert wird und warum
Alle von Vitextra-Produkten angeforderten Berechtigungen sind delegierte Berechtigungen: Sie wirken nur im Kontext des angemeldeten Benutzers und geben einem Webpart nie mehr Zugriff, als dieser Benutzer in Microsoft 365 ohnehin hat. Ein Webpart, das Kollegen auflistet, zeigt genau die Personen und Attribute, die der Benutzer auch in Outlook oder Teams nachschlagen könnte; ein Webpart, das Aufgaben anzeigt, zeigt die Aufgaben des Benutzers, der die Seite geöffnet hat.
Die Tabelle führt die Berechtigungen auf, die die aktuellen Versionen der Produkte deklarieren, die Microsoft Graph verwenden.
| Produkt | API | Berechtigungen | Verwendet für |
|---|---|---|---|
| Employee Directory | Microsoft Graph | User.Read.All, Directory.Read.All, People.Read, Presence.Read.All, Calendars.Read | Lesen von Benutzerprofilen, Abteilungen und Vorgesetzten; relevante Personen; Teams-Anwesenheitsstatus; Frei/Gebucht-Status für die Verfügbarkeitsanzeige |
| Employee Details | Microsoft Graph | User.Read.All, User.ReadWrite, People.Read.All, Presence.Read.All, Files.Read.All, Sites.Read.All, Calendars.Read.Shared | Lesen von Profilen; Bearbeiten der eigenen Profilfelder durch den Benutzer; relevante Personen; Anwesenheitsstatus; Dokumente und Websites, mit denen die Person zuletzt gearbeitet hat (Microsoft Graph Insights); Frei/Gebucht-Status von Kollegen für Arbeitszeiten und Verfügbarkeit |
| Organizational Chart | Microsoft Graph | User.Read.All, Directory.Read.All, Presence.Read.All | Aufbau der Berichtshierarchie aus dem Attribut Vorgesetzter (Manager); Abteilung und Position; Teams-Anwesenheitsstatus |
| Absence & Coverage | Microsoft Graph | User.Read.All | Auflösen von Mitarbeitern, ihren Vorgesetzten und direkt unterstellten Mitarbeitern für Anträge, Genehmigungen und Vertretungen |
| My Tasks | Microsoft Graph | User.Read, User.ReadBasic.All, Tasks.ReadWrite | Aufgaben aus Planner, To Do und gekennzeichneten E-Mails; Namen der Aufgabenersteller |
| My Tasks | Azure DevOps | user_impersonation | Die Quelle Azure DevOps und das Webpart Azure DevOps Query |
| Password Vault | Microsoft Graph | Files.ReadWrite.AppFolder | Speichern des verschlüsselten Tresors im Anwendungsordner des OneDrive des Benutzers |
Produkte, die nur mit der aktuellen Website arbeiten – Announcements Carousel, List Filter Online, QR Code Generator, Questions & Answers, Quick Poll, RSS Reader, Smart Search und Smart Tiles – fordern keine API-Berechtigungen an. Für sie erscheint nichts auf der Seite API-Zugriff.
📝 Hinweis
Ein Berechtigungsname wie Tasks.ReadWrite oder User.ReadWrite ist der Name des Microsoft-Graph-Bereichs, der weiter gefasst sein kann als das, was das Produkt damit tut. My Tasks liest Aufgaben nur; Employee Details schreibt nur die Profilfelder des angemeldeten Benutzers. Die produktspezifischen Artikel erläutern jede Berechtigung im Detail: KB10235. Von Organizational Chart benötigte Microsoft-Graph-Berechtigungen, KB10303. My Tasks: Erforderliche Berechtigungen, Datenschutz und Sicherheit.
Woher die Anforderungen kommen
Eine Berechtigungsanforderung wird erstellt, wenn das .sppkg-Paket im Mandanten-App-Katalog bereitgestellt wird. Die Anforderungen gehören zum Paket, nicht zu den einzelnen Webparts. Eine Lösung mit zwei Webparts zeigt daher einen Satz Anforderungen, und eine Berechtigung, die nur ein optionales Feature benötigt (zum Beispiel die Azure-DevOps-Quelle von My Tasks), wird zusammen mit den übrigen angefordert.
Zwei Punkte sind für die Governance wichtig:
- Die Genehmigung gilt mandantenweit. SharePoint erteilt die Berechtigung einer einzigen Microsoft-Entra-ID-Anwendung, die es für alle SPFx-Lösungen verwendet – SharePoint Online Web Client Extensibility (früher: SharePoint Online Client Extensibility Web Application Principal). Sobald User.Read.All für Employee Directory genehmigt wurde, nutzen Organizational Chart und jede andere SPFx-Lösung im Mandanten, die diese Berechtigung anfordert, dieselbe Erteilung. So funktioniert das SharePoint Framework; es ist keine Designentscheidung von Vitextra.
- Die Bereitstellung hängt nicht von der Genehmigung ab. Ein Vitextra-Produkt kann bereitgestellt, Websites hinzugefügt und auf Seiten platziert werden, während seine Anforderungen noch ausstehen oder sogar abgelehnt wurden. Nur die Features, die von der fehlenden Berechtigung abhängen, funktionieren nicht.
Voraussetzungen
- Das Vitextra-Paket ist in den Mandanten-App-Katalog hochgeladen und bereitgestellt (App aktivieren).
- Sie sind mit einem Konto angemeldet, das die Rolle SharePoint-Administrator oder Globaler Administrator hat. Websitesammlungsadministratoren und Besitzer des App-Katalogs können den API-Zugriff nicht genehmigen.
❗ Wichtig
Die Seite API-Zugriff zeigt die Anforderungen von Paketen, die im Mandanten-App-Katalog bereitgestellt sind. Wenn Sie Vitextra-Produkte lieber aus einem Websitesammlungs-App-Katalog bereitstellen, stellen Sie das Paket zuerst im Mandanten-App-Katalog bereit und genehmigen Sie die Anforderungen dort; die genehmigten Berechtigungen gelten mandantenweit und stehen dann auch der Kopie im Websitesammlungs-App-Katalog zur Verfügung.
Anforderungen genehmigen
1. Öffnen Sie das Microsoft 365 Admin Center und wechseln Sie zum SharePoint Admin Center.
2. Erweitern Sie in der linken Navigation Erweitert und wählen Sie API-Zugriff.
3. Suchen Sie auf der Registerkarte Ausstehende Anforderungen die Anforderungen des Vitextra-Pakets. Jede Zeile zeigt den Paketnamen (zum Beispiel Vitextra Employee Directory), die API (Microsoft Graph oder Azure DevOps) und die Berechtigung.
4. Wählen Sie eine Anforderung aus und klicken Sie auf Genehmigen. Lesen Sie die Beschreibung im Bereich und bestätigen Sie mit Genehmigen.
5. Wiederholen Sie dies für jede Anforderung des Pakets. Eine Berechtigung, die bereits für eine andere Lösung genehmigt wurde, erscheint nicht erneut: SharePoint verwendet die vorhandene Erteilung weiter.
6. Wechseln Sie zur Registerkarte Genehmigte Anforderungen und prüfen Sie, ob alle Berechtigungen des Pakets aufgeführt sind.
Benutzer sehen keine Zustimmungsaufforderung: Nach der Genehmigung funktionieren die Webparts für alle im Mandanten. Die Erteilung wird in der Regel innerhalb weniger Minuten wirksam; meldet ein Webpart weiterhin eine fehlende Berechtigung, laden Sie die Seite neu oder melden Sie sich ab und wieder an, um ein neues Token zu erhalten.
💡 Tipp
Sie können die Anforderungen in einem Durchgang mit der SharePoint Online-Verwaltungsshell genehmigen: Get-SPOTenantServicePrincipalPermissionRequests listet die ausstehenden Anforderungen auf, und Approve-SPOTenantServicePrincipalPermissionRequest -RequestId <id> genehmigt eine davon. Das ist praktisch, wenn Sie mehrere Vitextra-Produkte gleichzeitig einführen.
Nur einen Teil der Berechtigungen genehmigen
Sie können einige Anforderungen genehmigen und andere ablehnen. Das Webpart funktioniert weiter, nur das abhängige Feature ist betroffen:
- Presence.Read.All abgelehnt – Employee Directory, Employee Details und Organizational Chart zeigen Personen ohne den Teams-Anwesenheitsindikator.
- Calendars.Read / Calendars.Read.Shared abgelehnt – die Informationen zu Verfügbarkeit und Arbeitszeiten werden nicht angezeigt.
- Files.Read.All / Sites.Read.All abgelehnt – Employee Details zeigt keine zuletzt verwendeten Dateien und Websites.
- user_impersonation (Azure DevOps) abgelehnt – die Azure-DevOps-Quelle von My Tasks und das Webpart Azure DevOps Query können sich nicht bei Azure DevOps anmelden.
Wird die Kernberechtigung eines Produkts abgelehnt (User.Read.All für die personenbezogenen Produkte, Tasks.ReadWrite für My Tasks, Files.ReadWrite.AppFolder für Password Vault), bleibt das Webpart ohne Daten.
Was Benutzer sehen, wenn eine Berechtigung fehlt
| Symptom | Wahrscheinliche Ursache |
|---|---|
| Das Webpart zeigt einen Fehler zu verweigertem Zugriff, unzureichenden Berechtigungen oder fehlender Zustimmung | Die Kernberechtigung steht aus oder wurde abgelehnt |
| Mitarbeiter werden aufgelistet, aber der farbige Anwesenheitspunkt fehlt | Presence.Read.All ist nicht genehmigt |
| Das Organigramm ist leer oder zeigt nur den aktuellen Benutzer | User.Read.All oder Directory.Read.All ist nicht genehmigt |
| My Tasks zeigt nichts für Planner, To Do und Outlook, während die SharePoint-Quelle funktioniert | Tasks.ReadWrite ist nicht genehmigt |
| Alles funktionierte, und nach einem Update fiel ein Feature aus | Die neue Version fordert eine zusätzliche Berechtigung an, die noch aussteht |
Öffnen Sie die Seite API-Zugriff und vergleichen Sie die Registerkarten Ausstehende Anforderungen und Genehmigte Anforderungen mit der Tabelle am Anfang dieses Artikels.
Updates und neue Berechtigungen
Wenn Sie eine neue Version eines Pakets hochladen (siehe KB10050. So aktualisieren Sie eine Vitextra-SPFx-Lösung in SharePoint Online), bleiben die zuvor genehmigten Berechtigungen genehmigt. Deklariert die neue Version eine Berechtigung, die die vorherige nicht hatte, erscheint die neue Anforderung auf der Registerkarte Ausstehende Anforderungen und muss auf dieselbe Weise genehmigt werden. Vitextra führt solche Änderungen in den Versionshinweisen des Produkts auf.
Berechtigungen überprüfen und widerrufen
Da die Erteilungen von allen SPFx-Lösungen gemeinsam genutzt werden, widerruft das Entfernen eines Vitextra-Produkts die von ihm angeforderten Berechtigungen nicht. So widerrufen Sie eine Berechtigung:
- Öffnen Sie API-Zugriff und wechseln Sie zur Registerkarte Genehmigte Anforderungen.
- Wählen Sie die Berechtigung aus und klicken Sie auf Entfernen.
- Bestätigen Sie.
❗ Wichtig
Prüfen Sie vor dem Entfernen einer Berechtigung, ob eine andere Lösung im Mandanten davon abhängt – Ihre eigenen SPFx-Webparts, Produkte anderer Anbieter und die von Microsoft vorab autorisierten Berechtigungen erscheinen auf derselben Registerkarte. Das Entfernen einer Berechtigung, die eine andere Lösung verwendet, bringt diese Lösung sofort zum Ausfall.
Eine abgelehnte Anforderung kann später genehmigt werden: Abgelehnte Anforderungen bleiben auf der Registerkarte Ausstehende Anforderungen, bis das Paket aus dem App-Katalog entfernt wird. Ist eine Anforderung verschwunden, wird sie durch eine erneute Bereitstellung des Pakets im App-Katalog neu erstellt.
Sicherheitshinweise für Prüfer
- Jeder Aufruf von Microsoft Graph erfolgt aus dem Browser des angemeldeten Benutzers mit einem für diesen Benutzer ausgestellten Token. Vitextra-Webparts haben keine Anwendungsberechtigungen (App-only) und kein Dienstkonto.
- Microsoft Graph wendet zusätzlich zum delegierten Bereich die eigenen Berechtigungen des Benutzers an: Ein Benutzer, der im Adressbuch ausgeblendet ist, oder ein Mandant, der die People-API einschränkt, wird in den Webparts genauso abgebildet wie in Outlook.
- Es werden keine Verzeichnisdaten, Aufgabendaten oder Dateien an Vitextra gesendet. Die einzigen Anfragen an Vitextra-Dienste sind die Lizenzprüfung und die Nutzungstelemetrie mit technischen Bezeichnern; siehe KB10363. Wo Vitextra-Produkte Ihre Daten speichern: Datenschutz, Datenresidenz und DSGVO.