SharePoint Access Lens: Berechtigungen in Dokumentbibliotheken mit SPFx prüfen
Ein SPFx ListView Command Set, das modernen SharePoint-Dokumentbibliotheken einen Inspect Access Befehl hinzufügt und eine read-only Übersicht über Berechtigungsvererbung, Rollenzuweisungen, SharePoint-Gruppen, Review-Hinweise und Exportoptionen bereitstellt.
SharePoint Access Lens: Mein neues SPFx Sample im Microsoft 365 PnP Community Repository
Ich freue mich sehr, dass mein neues SharePoint Framework Sample Access Lens in das offizielle Microsoft 365 PnP Community Repository aufgenommen wurde.
Access Lens ist ein kleines, read-only SharePoint Framework ListView Command Set für moderne SharePoint Online Dokumentbibliotheken. Die Idee dahinter ist simpel: Berechtigungen in SharePoint sind oft technisch nachvollziehbar, aber in der Praxis nicht immer schnell verständlich. Gerade in Dokumentbibliotheken stellt sich häufig die Frage: Erbt diese Bibliothek noch Berechtigungen? Gibt es direkte Zuweisungen? Welche Gruppen oder Benutzer haben Zugriff? Gibt es Muster, die man sich genauer ansehen sollte?
Genau hier setzt Access Lens an.
Was macht Access Lens?
Nach der Installation erweitert das Sample die Command Bar einer modernen SharePoint Dokumentbibliothek um den Befehl Inspect Access. Beim Ausführen öffnet sich ein Panel auf der rechten Seite und zeigt eine kompakte Übersicht über die aktuelle Berechtigungssituation.

Das Sample zeigt unter anderem:
- ob die aktuelle Bibliothek Berechtigungen erbt oder eigene Berechtigungen besitzt
- ob die effektiven Rollenzuweisungen von der Website oder direkt von der Bibliothek kommen
- welche Benutzer, SharePoint Gruppen, Security Groups oder Claims sichtbar berechtigt sind
- welche SharePoint Gruppen bei ausreichenden Rechten aufgeklappt werden können
- welche potenziell relevanten Review-Hinweise erkennbar sind
- ob die Inspektion vollständig, teilweise oder gar nicht erfolgreich war
- Exportmöglichkeiten als Markdown, CSV oder JSON

Wichtig war mir dabei, dass das Tool nicht so tut, als wäre es ein vollständiger Security Scanner. Access Lens ist bewusst als Sichtbarkeits- und Lernhilfe gedacht. Es scannt keinen kompletten Tenant, keine Site Collection und keine einzelnen Dateien oder Ordner. Es verändert keine Berechtigungen und ersetzt keinen echten Access Review.
Warum ich das gebaut habe
In vielen Microsoft 365 Projekten merkt man schnell: Berechtigungen sind eines der Themen, bei denen kleine Unklarheiten später große Wirkung haben können.
Eine Dokumentbibliothek mit einzigartigen Berechtigungen, direkte Benutzerzuweisungen oder sehr breite Gruppen sind nicht automatisch falsch. Aber sie sind oft ein guter Anlass, genauer hinzuschauen. Genau dafür wollte ich ein Sample bauen, das nicht bewertet wie ein übergroßes Compliance-Orakel, sondern Entwicklern und Admins eine schnelle, nachvollziehbare Übersicht gibt.
Mir war außerdem wichtig, dass das Sample möglichst leichtgewichtig bleibt:
- keine Microsoft Graph API Permissions
- kein Backend Service
- keine Datenbank
- keine Telemetrie
- Export direkt lokal im Browser
- Nutzung des aktuellen SharePoint Contexts und der Rechte des aktuellen Benutzers
Dadurch eignet sich das Sample gut, um SPFx ListView Command Sets, PnPjs und Berechtigungsauswertungen in SharePoint besser zu verstehen.
Technischer Fokus
Aus Entwicklersicht zeigt das Sample mehrere typische SPFx-Konzepte:
- Aufbau eines ListView Command Sets
- Rendering eines React Panels aus einer Command Bar Action heraus
- Auslesen von Web- und Listen-Rollenzuweisungen mit PnPjs
- Umgang mit Permission Inheritance auf Web- und Library-Ebene
- Klassifizierung unterschiedlicher Principal-Typen
- Expansion sichtbarer SharePoint Gruppen
- saubere Behandlung von Teilfehlern
- Export als Markdown, CSV und JSON
- Schutz vor Formula Injection beim CSV Export
Gerade der letzte Punkt war mir wichtig, weil Exportfunktionen gerne unterschätzt werden. Auch bei einem Community Sample sollte man nicht nur zeigen, dass etwas funktioniert, sondern auch, worauf man in echten Projekten achten sollte.
Grenzen des Samples
Access Lens ist bewusst begrenzt. Es prüft nur das aktuelle Web und die aktuelle Dokumentbibliothek. Es prüft keine Ordner- oder Item-Level-Berechtigungen und scannt keine komplette Umgebung. Auch externe oder breite Gruppen werden nur anhand sichtbarer Informationen und heuristischer Hinweise eingeordnet.
Das ist Absicht. Das Sample soll transparent bleiben und keine Sicherheit vortäuschen, wo die Datenlage unvollständig ist.
Fazit
Für mich war Access Lens ein schönes Community-Projekt, weil es ein sehr praktisches SharePoint-Thema mit sauberer SPFx-Entwicklung verbindet. Ich hoffe, dass das Sample anderen Entwicklern hilft, eigene ListView Command Sets zu bauen, PnPjs gezielter einzusetzen oder Berechtigungsübersichten in SharePoint besser zu verstehen.
Das Sample ist jetzt im Microsoft 365 PnP Community Repository verfügbar:
https://github.com/pnp/sp-dev-fx-extensions/tree/main/samples/react-access-lens
Feedback, Ideen und Verbesserungen sind natürlich willkommen.