Konfigurieren und Bereitstellen sicherer Webparts auf Ihrem Server (Windows SharePoint Services)
Im Lieferumfang von Windows SharePoint Services 3.0 sind eine Reihe von Webparts enthalten, die Websiteadministratoren nach der Installation des Produkts Webparts-Seiten hinzufügen können. Es kann jedoch sein, dass Ihre Organisation benutzerdefinierte Webparts benötigt. In diesem Fall würde ein Entwickler kundenspezifische ASP.NET 2.0-Webparts erstellen und Sie auffordern, diese für eine Bereitstellung von Windows SharePoint Services zu installieren.
Windows SharePoint Services verwendet einige der von Microsoft .NET Framework bereitgestellten Konfigurationsverwaltungseinstellungen. Einige dieser Einstellungen werden in XML-Konfigurationsdateien gespeichert und bieten eine Vielzahl von Einstellungen, mit denen Serveradministratoren die Webanwendung und die zugehörige Umgebung verwalten können. Weitere Informationen zu ASP.NET 2.0-Konfigurationsdateien finden Sie im Abschnitt Erläuterung zu "Machine.Config" und "Web.Config" (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x407) unter "Schützen der ASP.NET-Anwendung und -Webdienste" in der MSDN Library Online.
Konfigurationsoptionen
Systemadministratoren können ASP.NET 2.0-Webparts für eine Bereitstellung von Windows SharePoint Services in einem der folgenden beiden Speicherorte bereitstellen:
Verzeichnis "Bin" Gespeichert im Stammverzeichnis Ihrer Webanwendung.
Globaler Assemblycache (GAC) Alle standardmäßigen Webparts werden automatisch zusammen mit der Common Language Runtime von .NET Framework installiert. Durch die Speicherung im gobalen Assemblycache können Webparts in zahlreichen Anwendungen gemeinsam verwendet werden. Komponenten werden normalerweise im Verzeichnis C:\WINNT\Assembly gespeichert.
Jeder Speicherort hat wie in der folgenden Tabelle beschrieben Vor- und Nachteile.
Bereitstellungsspeicherort | Vorteile | Nachteile |
---|---|---|
Verzeichnis Bin |
Ein teilweise vertrauenswürdiger Speicherort. Standardmäßig hat Code, der in diesem Verzeichnis ausgeführt wird, niedrige Berechtigungen für die Codezugriffssicherheit. Der Administrator muss explizit die einem Webpart erteilte Berechtigungsstufe anheben, damit es ordnungsgemäß ausgeführt wird. Aufgrund dieser Kontrollmöglichkeit und der umfassenden Verteidigungsstrategien ziehen es Administratoren vor, dass Assemblys im Verzeichnis Bin mit bekannten erforderlichen Berechtigungen für die Codezugriffssicherheit ausgeführt werden. Das Verzeichnis Bin ist außerdem spezifisch für eine Webanwendung. Auf diese Weise kann Code für eine bestimmte Webanwendung isoliert werden. |
Sie müssen Ihre Bin-Assembly bereitstellen, damit Sie Ihr Webpart überall ausführen können. |
GAC |
Ein globaler Speicherort, in dem Sie signierte Assemblys bereitstellen können. Assemblys werden standardmäßig als voll vertrauenswürdig ausgeführt. Sie werden global installiert und können deshalb in jeder Webanwendung verwendet werden. |
Im Allgemeinen gibt es bei im GAC installiertem Code keine Einschränkungen bezüglich der Codezugriffssicherheit. Deshalb verlieren Sie den Vorteil der Sicherheit durch die umfassende Verteidigungsstrategie. Darüber hinaus kann sich das Bereitstellen Ihrer Programmdatenbankdateien (PDB) für Assemblys im GAC als schwierig erweisen. |
Festlegen spezieller Sicherheitsattribute
Für im Verzeichnis Bin gespeicherte ASP.NET 2.0-Webparts gelten spezielle Einschränkungen bei der Sicherheit. Sie können je nach geplanter Verwendung spezielle Sicherheitsattribute für Ihr Webpart festlegen.
Das Verzeichnis Bin ist ein teilweise vertrauenswürdiger Speicherort. Deshalb erteilt Ihr Webpart nicht automatisch voll vertrauenswürdige Codeberechtigungen, wenn es ausgeführt wird. Da der Code, der in Ihrem Webpart aufgerufen wird, nur als teilweise vertrauenswürdig ausgewiesen wird, muss der Webpart-Entwickler das AllowPartiallyTrustedCallers-Attribut in Ihrem ASP.NET 2.0-Webpart festlegen.
Hinweis
Durch die Markierung einer Komponente als "sicher" mithilfe des AllowPartiallyTrustedCallers-Attributs wird die Verantwortung für eine sichere Implementierung an den Entwickler übertragen.
Die Berechtigungen für die Codezugriffssicherheit des Verzeichnisses Bin sind standardmäßig sehr niedrig. Nur die reine Ausführung ist zulässig. Sie müssen die Berechtigungsstufe höchstwahrscheinlich anheben, damit Ihre Assembly ordnungsgemäß ausgeführt wird.
Dazu gibt es zwei Möglichkeiten:
(Empfohlen) Erstellen Sie eine Vertrauensrichtliniendatei, und verweisen Sie in der neuen Datei auf die Datei Web.config. Diese Option ist komplizierter, jedoch ermöglicht sie präzise Berechtigungen für Ihre Webparts. Weitere Informationen zu Vertrauensrichtliniendateien finden Sie unter Microsoft Windows SharePoint Services und Codezugriffssicherheit (in englischer Sprache) (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x407) in der MSDN Library Online.
Heben Sie die allgemeine Vertrauensebene des Verzeichnisses Bin an. Suchen Sie in der Datei Web.config im Stammverzeichnis der Anwendung das Element
trust
. Der Standardwert für daslevel
-Attribut des Elementstrust
lautet WSS_Minimal. Sie können diese Ebene in WSS_Medium ändern. Diese Methode ist zwar einfacher, aber neue und möglicherweise nicht benötigte Berechtigungen werden willkürlich erteilt. Außerdem ist diese Methode nicht so sicher wie das Erstellen einer Vertrauensrichtliniendatei.
Liste der sicheren Steuerelemente
Eine grundlegende Annahme für SharePoint-Produkte und -Technologien ist, dass "nicht vertrauenswürdige Benutzer" ASPX-Seiten im System, auf dem Windows SharePoint Services ausgeführt wird, hochladen und erstellen können. Diese Benutzer sollten daran gehindert werden, serverseitigen Code in ASPX-Seiten hinzuzufügen. Es sollte jedoch eine Liste der genehmigten Steuerelemente geben, die diese nicht vertrauenswürdigen Benutzer verwenden können. In Windows SharePoint Services übernimmt diese Funktion die Liste der sicheren Steuerelemente.
Bei der Liste der sicheren Steuerelemente handelt es sich um eine Liste von Steuerelementen und Webparts speziell für Ihre SharePoint-Website, die Serveradministratoren für den Aufruf auf beliebigen ASPX-Seiten innerhalb einer Website als sicher festlegen können. Sie speichern diese Liste in der Datei Web.config im Stammverzeichnis Ihrer Webanwendung.
Aufgabenanforderungen
Folgendes ist zum Ausführen der Verfahren für diese Aufgabe erforderlich:
- Administratorrechte auf einem Servercomputer mit Microsoft Windows SharePoint Services 3.0.
Zum Konfigurieren und Bereitstellen sicherer Webparts auf Ihrem Server können Sie die folgenden Verfahren ausführen.