Sicherheitsaspekte beim Zulassen von benutzerdefinierten Skripts

Wenn Benutzer Websites und Seiten in SharePoint anpassen können, indem Sie Skripts einfügen, können sie die Flexibilität erhalten, unterschiedliche Anforderungen in Ihrer Organisation zu erfüllen. Beachten Sie jedoch die Sicherheitsauswirkungen von benutzerdefinierten Skripts.

Wenn Sie Benutzern das Ausführen eines benutzerdefinierten Skripts gestatten, können Sie die Governance nicht mehr erzwingen, die Funktionen des eingefügten Codes einschränken, bestimmte Codeteile blockieren oder den gesamten bereitgestellten benutzerdefinierten Code blockieren. Anstatt benutzerdefinierte Skripts zuzulassen, empfehlen wir die Verwendung der SharePoint-Framework. Weitere Informationen finden Sie unter Einer Alternative zu benutzerdefinierten Skripts.

Möglichkeiten benutzerdefinierter Skripts

Jedes Skript, das auf einer SharePoint Seite ausgeführt wird (ob es sich um eine HTML-Seite in einer Dokumentbibliothek oder ein JavaScript in einem Skript-Editor-Webpart handelt), wird immer im Kontext des Benutzers ausgeführt, der die Seite besucht, und der SharePoint Anwendung. Das bedeutet Folgendes:

  • Skripts haben Zugriff auf alles, auf das der Benutzer Zugriff hat.

  • Skripts können mit microsoft Graph Integration auf Inhalte über mehrere Microsoft 365 Dienste und sogar darüber hinaus zugreifen.

Sie können das Einfügen von Skripts nicht überwachen.

Als globaler Administrator, Sicherheitsadministrator oder SharePoint-Administrator können Sie benutzerdefinierte Skriptfunktionen für die gesamte Organisation oder für bestimmte Websitesammlungen zulassen oder blockieren. (Informationen hierzu finden Sie unter Zulassen oder Verhindern von benutzerdefinierten Skripts.) Sobald Sie das Skripting jedoch zugelassen haben, können Sie Folgendes nicht mehr identifizieren:

  • Welcher Code eingefügt wurde

  • Wo der Code eingefügt wurde

  • Wer den Code eingefügt

Jeder Benutzer, der über die Berechtigung "Seiten hinzufügen und anpassen" (Teil der Berechtigungsstufen "Entwurf" und "Vollzugriff") zu einer beliebigen Seite oder Dokumentbibliothek verfügt, kann Code einfügen, der potenziell eine leistungsstarke Auswirkung auf alle Benutzer und Ressourcen in der Organisation haben kann.

Das Skript hat zugriff auf mehr als nur die Seite oder Website – es kann auf Inhalte in allen Websitesammlungen und anderen Microsoft 365 Diensten in der Organisation zugreifen. Es gibt keine Grenzen für die Ausführung des Skripts. Informationen zu Websiteaktivitäten, die Sie überwachen können, finden Sie unter Konfigurieren von Überwachungseinstellungen für eine Websitesammlung.

Eingefügtes Skript kann nicht blockiert oder entfernt werden

Wenn Sie benutzerdefinierte Skripts zugelassen haben, können Sie die Einstellung ändern, um zu einem späteren Zeitpunkt zu verhindern, dass Benutzer benutzerdefinierte Skripts hinzufügen, aber Sie können die Ausführung des skripts, das bereits eingefügt wurde, nicht blockieren. Wenn ein gefährliches oder schädliches Skript eingefügt wird, können Sie es nur beenden, wenn Sie die Seite löschen, auf der es gehostet wird. Dies kann zu Datenverlusten führen.

Eine Alternative zum benutzerdefinierten Skript

Die SharePoint-Framework ist ein Seiten- und Webpartmodell, das eine geregelte und vollständig unterstützte Methode zum Erstellen von Lösungen mithilfe von Skripttechnologien mit Unterstützung für Open Source-Tools bietet. Wichtige Features der SharePoint-Framework:

  • Das Framework wird im Kontext des aktuellen Benutzers und der aktuellen Verbindung im Browser ausgeführt.

  • Die Steuerelemente werden im normalen Dokumentobjektmodell (DOCUMENT Object Model, DOM) der normalen Seite gerendert.

  • Die Steuerelemente sind reaktionsfähig und barrierefrei.

  • Entwickler können auf den Lebenszyklus zugreifen. Außerdem können sie zum Rendern auf laden, serialisieren und deserialisieren, Konfigurationsänderungen und vieles mehr zugreifen.

  • Sie können ein beliebiges Browserframework verwenden: React, Handlebars, Knockout, Angular und vieles mehr.

  • Die Toolchain basiert auf allgemeinen Open-Source-Cliententwicklungstools wie npm, TypeScript, Yeoman, Webpack und Gulp.

  • Administratoren verfügen über Governance-Tools, um Lösungen sofort zu deaktivieren, unabhängig von der Anzahl der verwendeten Instanzen und der Anzahl der Seiten oder Websites, auf denen sie verwendet wurden.

  • Lösungen können in Webparts und Seiten bereitgestellt werden, die die klassische oder die neue Benutzeroberfläche verwenden.

  • Nur globale Administratoren, SharePoint Administratoren und Personen, denen die Berechtigung zum Verwalten des App-Katalogs erteilt wurde, können Lösungen hinzufügen. Informationen zum Erteilen von Berechtigungen für Benutzer zum Verwalten des App-Katalogs finden Sie unter Anfordern von App-Installationsberechtigungen.