Sicherheitsaspekte beim Zulassen von benutzerdefinierten Skripts

Benutzern das Anpassen von Websites und Seiten in SharePoint durch Einfügen eines Skripts zu ermöglichen, kann ihnen die Flexibilität bieten, unterschiedliche Anforderungen in Ihrer Organisation zu erfüllen. Sie sollten jedoch die Sicherheitsauswirkungen benutzerdefinierter Skripts beachten.

Wenn Sie Benutzern das Ausführen benutzerdefinierter Skripts gestatten, können Sie keine Governance mehr erzwingen, die Funktionen des eingefügten Codes festlegen, bestimmte Teile des Codes blockieren oder den gesamten bereitgestellten benutzerdefinierten Code blockieren. Anstatt benutzerdefinierte Skripts zuzulassen, empfiehlt es sich, das SharePoint-Framework zu verwenden. Weitere Informationen finden Sie unter Eine Alternative zum benutzerdefinierten Skript.

Was kann ein benutzerdefiniertes Skript tun?

Jedes Skript, das auf einer SharePoint-Seite ausgeführt wird (unabhängig davon, 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 und die SharePoint-Anwendung besucht. Das bedeutet Folgendes:

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

  • Skripts können über mehrere Microsoft 365-Dienste und sogar über die Microsoft Graph-Integration hinaus auf Inhalte 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 dazu finden Sie unter Zulassen oder Verhindern von benutzerdefinierten Skripts.) Sobald Sie die Skripterstellung jedoch zulassen, können Sie Folgendes nicht mehr identifizieren:

  • Welcher Code eingefügt wurde

  • Wo der Code eingefügt wurde

  • Wer hat den Code eingefügt?

Jeder Benutzer, der über die Berechtigung "Seiten hinzufügen und anpassen" (Teil der Berechtigungsstufen Entwurf und Vollzugriff) für eine beliebige Seite oder Dokumentbibliothek verfügt, kann Code einfügen, der potenziell eine starke 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 von Skripts. Informationen zur Websiteaktivität, die Sie überwachen können, finden Sie unter Konfigurieren von Überwachungseinstellungen für eine Websitesammlung.

Sie können eingefügtes Skript nicht blockieren oder entfernen.

Wenn Sie benutzerdefinierte Skripts zugelassen haben, können Sie die Einstellung ändern, um später 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 kontrollierte und vollständig unterstützte Möglichkeit zum Erstellen von Lösungen mit Skripttechnologien mit Unterstützung für Open-Source-Tools bietet. Hauptmerkmale der SharePoint-Framework:

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

  • Die Steuerelemente werden auf der normalen Seite Document Object Model (DOM) gerendert.

  • Die Steuerelemente sind reaktionsfähig und zugänglich.

  • 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 jedes beliebige Browserframework verwenden: React, Handlebars, Knockout, Angular und mehr.

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

  • Administratoren verfügen über Governancetools zum sofortigen Deaktivieren von Lösungen, 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 Oberfläche verwenden.

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