Dokumentenmanagement mit abgestuften Berechtigungen (Teil 2 – Metadaten steuern Zugriffsrechte)
Im ersten Teil dieser zweiteiligen Artikelserie wurden eine Reihe von manuellen Ansätzen vorgestellt, mit denen sich eine abgestufte Rechtevergabe beim Arbeiten mit Dokumenten in SharePoint 2007 realisieren lässt. Alle Optionen hatten neben Vorteilen auch mindestens einen gravierenden Nachteil, der je nach dem konkreten Anwendungsfall die Praxistauglichkeit infrage stellen kann.
Der aktuelle Beitrag zeigt unter Verwendung eines einfachen SharePoint Designer Workflows, wie sich das Arbeiten mit Dokumenten auch dann innerhalb einer einzigen Dokumenten-Bibliothek bewerkstelligen lässt, wenn für manche Dokumente restriktivere Zugriffsberechtigungen erforderlich sind. Dabei ist es nicht notwendig dem Anwender ein händisches Anpassen der Berechtigungen oder das Navigieren durch Ordnerstrukturen zuzumuten.
Der Grundgedanke: Metadaten steuern Zugriffsrechte
Eine der ersten Fragen, die neue Anwender im Rahmen von SharePoint-Schulungen stellen lautet häufig: “Was passiert, wenn ich einem Dokument das Metadatum ‘Vertraulich’ zuweise?” Sofern keine weiteren Vorarbeiten getroffen wurden, muss die ehrliche Antwort lauten: “Gar nichts, es ist nur ein Hinweis an die Kollegen, wie mit diesen Daten umzugehen ist.” Genau eine solche funktionale Verknüpfung zwischen den zugewiesenen Metadaten und den tatsächlichen Zugriffsrechten gilt es hier zu schaffen.
Wie im ersten Teil dieser Artikelserie erläutert, kann es die Performance Ihrer SharePoint Site erheblich beeinträchtigen, wenn eine große Zahl an Dokumenten mit jeweils eigenen Zugriffsrechten versehen ist. Aus diesem Grund wählen wir zur Umsetzung unserer Idee “Metadaten steuern Zugriffsrechte” einen anderen Weg. Wir erstellen innerhalb der betreffenden Dokumenten-Bibliothek einen Ordner namens “Confidential” (oder “vertraulich”, was auch immer Ihnen besser gefällt). In diesen Ordner ein Dokument verschoben werden, bei dem das Metadatum “Security Level” auf den Wert “Confidential” gesetzt wird. Umgekehrt muss es natürlich auch möglich sein ein Dokument, das bisher als vertraulich eingestuft war, nachträglich zurück in die Hauptebene der Bibliothek zu verschieben, um ihm so wieder mit weniger restriktiven Zugriffsrechte zuzuordnen.
Das Instrument, mit dem wir die oben beschriebene Verknüpfung von Metadaten und Zugriffsrechten realisieren werden, ist ein SharePoint Designer Workflow. Was man benötigt, um einen solchen Workflow zu erstellen, wird im folgenden beschrieben.
Technische Voraussetzung: “SharePoint Designer 2007″ und “spdactivities”
Obwohl SharePoint 2007 bereits eine kleine Zahl an fertigen Workflow-Vorlagen mitbringt, ist deren Einsatzgebiet doch beschränkt. Eine weitaus größere Flexibilität bieten Workflows, die Sie mit dem SharePoint Designer erstellen. Diese Software ist kostenlos bei Microsoft erhältlich und ermöglicht einen tiefer gehenden Eingriff in die Funktionsweise von SharePoint.
Zusätzlich benötigen Sie die sog. “spdactivities”, eine Erweiterung, welche den SharePoint Designer mit zusätzlichen Workflow-Aktionen ausstattet. Auch diese sind kostenlos erhältlich und können bei Codeplex heruntergeladen werden. Anders als der SharePoint Designer selbst müssen die spdactivities auf dem SharePoint Server selbst und nicht auf Ihrem PC installiert werden. Dies kann nur der zuständige SharePoint-Administrator Ihres Unternehmens / Ihrer Organisation ausführen, so dass Sie seine Zustimmung Hilfe benötigen.
Erst wenn der SharePoint Designer 2007 auf Ihrem PC und die spdactivities auf Ihrem SharePoint Server installiert sind, können Sie damit fortfahren, den eigentlichen Workflow zu erstellen, der Ihnen künftig die Vergabe eingeschränkter Benutzerrechte ermöglichen soll.
Umsetzung: Dokumente per Workflow in geschützten Ordner verschieben
1. Erstellen sie die Dokumenten-Bibliothek, in der Sie zwischen Standard- und Confidential-Rechen unterscheiden möchten
Dieser Schritt ist nur erforderlich, wenn die betreffende Bibliothek noch nicht existiert.
2. Anlegen einer Metadaten-Spalte “Security Level”
Wechseln Sie in die Bibliotheks-Einstellungen und legen Sie eine Spalte mit Namen “Security Level” an. Dabei verwenden Sie den Spaltentyp “Auswahl” (Choice) und definieren als zulässige Werte: “Standard” sowie “Confidential”.
Legen Sie zudem fest, dass das Ausfüllen dieser Spalte obligatorisch ist. Vergisst ein Anwender diese Angabe zu machen, wird die Bibliothek ein neues Dokument nicht akzeptieren. Da unsere Zugangsberechtigungen für das Dokument über das Metadatum “Security Level” gesteuert werden sollen, ist es essentiell, dass diese Information auch vorhanden ist.
3. Einchecken / Auschecken erzwingen
Bleiben sie in den Bibliotheks-Einstellungen und legen Sie unter “Erweiterte Einstellungen” fest, dass das Auschecken von Dokumenten erforderlich ist, um diese zu bearbeiten.
Dieser Schritt ist wichtig für das korrekte Funktioneren unseres späteren Workflows. Er gewährleistet, dass der Workflow erst dann den Wert im Feld “Security Level” überprüft, wenn dieses auch tatsächlich mit Inhalt gefüllt ist.
4. Legen Sie einen Ordner namens “Confidential” in dieser Bibliothek an
5. Beenden Sie für den “Confidential”-Ordner die Rechtevererbung
Durch diesen Schritt wird es möglich die Zugangsrechte für den Ordner separat von sonstigen Berechtigungen der Bibliothek zu definieren.
6. Passen Sie die Berechtigungen des Ordners wie gewünscht an
Beispielsweise könnten Sie sich entschließen die Berechtigungen der Gruppe “Besucher” zu entfernen und diese so von den vertraulichen Dokumenten auszuschließen.
7. Starten Sie SharePoint Designer 2007
8. Öffnen Sie die SharePoint Website, auf der sich die oben erstellte Dokumenten-Bibliothek befindet
9. Klicken Sie auf Neu –> Workflow
10. Grundlegende Workflow-Einstellungen definieren
Geben Sie dem Workflow einen Namen und legen Sie fest, auf welche Dokumenten-Bibliothek er sich bezieht. In unserem Beispiel ist dies die Bibliothek “docs”. Setzen Sie anschließend alle drei Häkchen bei den verfügbaren Startoptionen, bevor Sie auf “weiter” klicken. Dies stellt sicher, dass unser Workflow jedes Mal ausgeführt wird, wenn ein Dokument erstellt oder geändert wird.
11. Definieren Sie die eigentliche Workflow-Logik wie auf dem folgenden Screenshot angegeben
In Worten ausgedrückt bedeuten die oben dargestellten Schritte folgendes: Bei jedem Einchecken eins Dokuments wird überprüft, ob das es einen Widerspruch gibt zwischen dem Wert im Metadaten-Feld “Security Level” und dem tatsächlichen Ablageort des Dokuments. Denkbar sind zwei Fälle: a) das Dokument ist als “Confidential” deklariert, liegt aber in der ungeschützten Hauptebene der Bibliothek; b) das Dokument wurde nicht als vertraulich beschrieben, es liegt aber im geschützten “Confidential”-Ordner.
Liegt einer dieser Widersprüche vor (entspr. den Nummern 1 und 2 im folgenden Screenshot) so muss das Dokument vom Workflow an die richtige Stelle verschoben werden. Je nach Kontext entweder in die allgemein zugängliche Hauptebene der Bibliothek oder in den geschützten Ordner “Confidential”. Liegt kein Widerspruch zwischen Metadatum “Security Level” und dem momentanen Ablageort vor, so ist nichts zu unternehmen und der Workflow kann sofort beendet werden (entspr. Nummer 3 im Screenshot)
12. Workflow veröffentlichen
Klicken Sie auf “Fertigstellen”, um den Workflow zu veröffentlichen und in der Bibliothek zu aktivieren.
Von nun an erfolgt bei jedem Neuanlegen oder Ändern eines Dokuments eine Prüfung, ob das Dokument an der richtigen Stelle abgelegt ist. Besagt das Metadatum im Feld “Security Level”, dass ein Dokument vertraulich zu behandeln sei, so stellt unser Workflow sicher, dass es auch in dem entsprechend geschützten Ordner “Confidential” abgelegt wird.
Fazit
Die oben geschilderte Konstruktion aus einem geschütztem Ordner und einem SharePoint Designer Workflow ermöglicht Ihren Anwendern ein einfaches und prozesssicheres Zuweisen von Zugriffsrechten auf Dokumente innerhalb einer einzigen Bibliothek. Zugleich ist es ein Beispiel dafür, wie sich Metadaten für mehr als bloße Inhalts-Beschreibungen nutzen lassen. Dies ist ein nicht zu unterschätzender Faktor für die Akzeptanz Ihrer Dokumentenmanagement-Lösung durch die Anwender des Systems.
Zu beachten ist, dass die in unserem Beispiel verwendete Workflow-Aktion “Copy List Item Extended” im Kontext des Farm-Admins ausgeführt wird. Dies bedeutet, dass ein Anwender, der die Berechtigung hat SharePoint Designer Workflows zu erstellen auf diesem Wege die Möglichkeit hat Dokumente in jede beliebige Bibliothek Ihrer SharePoint-Umgebung zu verschieben. Wenn dieses potenzielle Sicherheitsrisiko in Ihrem Fall nicht toleriert werden kann, sollten Sie die beschriebene Lösung nicht einsetzen. Unsere Erfahrung zeigt jedoch, dass dieses Risiko dann minimal und akzeptabel ist, wenn der Gebrauch des SharePoint Designers in Ihrer Organisation auf eine kleine Zahl an Mitarbeitern beschränkt ist, die geschult sind und wissen, was sie tun.
Wenn in Ihrer Organisation bereits SharePoint 2010 im Einsatz ist, arbeiten Sie unter etwas anderen Voraussetzungen. Zum einen ist hier das Verschieben von Dokumenten per SharePoint Designer Workflow ohne ein Zusatz-Tool wie spdactivities möglich. Zum anderen besteht in SharePoint 2010 die Möglichkeit direkt beim Hochladen neuer Dokumente festzulegen, dass diese in einem bestimmten Ordner abgelegt werden sollen. Ob dies für Sie bedeutet, dass auf eine automatisierte Lösung verzichtet werden kann, lässt sich nicht pauschal beantworten. Wenn Sie wirklich sicher gehen wollen, dass Anwender nicht irrtümlich Dokumente an der falschen Stelle ablegen, spricht weiterhin viel für die beschriebene Workflow-Lösung. Diese sind von den Schritten und der eingesetzten Funktionalität übrigens nahezu identisch, lediglich sind die benötigten Workflow-Aktionen bereits im Standard-Umfang vorhanden.



