Access-based Enumeration

10.02.2007 von Martin Kuppinger
Mit der Access-based Enumeration, die ab dem Service Pack 1 für den Windows Server 2003 bereitgestellt wird, lässt sich steuern, dass Informationen in freigegebenen Ordnern nur noch für die Benutzer sichtbar sind, die darauf auch Zugriff haben. Der Artikel stellt das Konzept und seine Implementierung vor.

Es gibt immer wieder Technologien von Microsoft, die eigentlich sehr interessant sind, von denen aber doch kaum jemand weiß. Das gilt beispielsweise für den Role Based Access Control (RBAC) und damit auch den Authorization Manager (azman), es gilt aber auch für die Access Based Enumeration (ABE), die ab dem Windows Server 2003 mit Service Pack 1 unterstützt wird. Die ABE muss gesondert von www.microsoft.com/downloads geladen werden. Die Technologie wird in Form einer einzigen .msi-Datei geliefert, die direkt auf Servern installiert werden kann.

Was macht ABE?

Vor allem auf Fileservern gibt es typischerweise sehr viele Freigaben. Die Daten darin sind allerdings jeweils nur für bestimmte Benutzergruppen freigegeben. Wenn nun alle Benutzer alle Ordner in Freigaben sehen können, führt das zu Irritationen. Außerdem ist das oft unpraktisch, weil bei vielen Ordnern innerhalb von Freigaben entsprechend lange Listen angezeigt werden, in denen die Benutzer nach den für sie relevanten Ordnern suchen müssen. Typische Anwendungsfelder sind Home Directories von Benutzern und Projektverzeichnisse.

ABE sorgt nun dafür, dass ein Benutzer nur die Ordner innerhalb einer Freigabe sieht, für die er auch Zugriffsberechtigungen hat. Dabei werden die Berechtigungen auf der Ebene des NTFS herangezogen. Die Berechtigungen auf der Ebene der Freigabe spielen für die Anzeige keine Rolle.

Die Installation

Die Installation erfolgt durch den Start der .msi-Datei. Nach einer kurzen Erklärung zu ABE selbst und der Zustimmung zum Lizenzabkommen muss der Installationsordner festgelegt werden. Anschließend muss konfiguriert werden, ob ABE automatisch bei allen freigegebenen Ordnern aktiviert oder ob die Aktivierung manuell bei individuellen Ordnern durchgeführt werden soll. Sie können die Aktivierung später auch wieder für einzelne Ordner rückgängig machen. Damit sind alle Informationen für die Installation vorhanden.

Bild 1: Bei der Installation kann ABE für alle oder ausgewählte Freigaben aktiviert werden.
Bild 2: Die Konfiguration der Access-based Enumeration bei einer Freigabe.

Die Nutzung

Nach der Einrichtung von ABE kann die Konfiguration auf der Ebene von Freigaben erfolgen. Bei Freigaben wird neben den bekannten Registern wie Freigabe und Sicherheit zusätzlich das Register Access-based Enumeration angezeigt. Die Konfiguration erfolgt nun in zwei Schriten:

Das lässt sich testen, indem beispielsweise ein freigegebener Ordner Daten angelegt wird und darunter zwei Ordner Projekt1 und Projekt2 erstellt werden. Zusätzlich sind zwei Benutzergruppen mit jeweils mindestens einem Benutzer erforderlich. Eine Gruppe erhält Zugriffsberechtigungen im NTFS für das eine Verzeichnis, die andere Gruppe entsprechend für das andere. Wenn nun ein Benutzer vom Client aus auf den Server zugreift, wird er nur eine der beiden Freigaben sehen. ABE greift also bei der Aufzählung der Ordner innerhalb von Freigaben, wirkt sich aber nicht auf die Anzeige der Freigaben selbst aus.

ABE ist also sehr einfach zu konfigurieren. Zusätzlich gibt es auch noch ein Befehlszeilenwerkzeug, abecmd.exe, mit dem die gleichen Aktivitäten durchgeführt werden können. Die Syntax findet sich in Listing 1.

Listing 1: Die Syntax von abecmd.exe
abecmd [/enable | /disable] [/server <servername>] {/all | <sharename>}
/enable Aktiviert die Access-Based Enumeration für alle Freigaben oder die angegebene Freigabe.
/disable Deaktiviert die Access-Based Enumeration bei allen oder der angegebenen Freigabe.
/server <servername> Erlaubt die Angabe eines Servernamens, für den der Befehl ausgeführt werden soll.
/all Konfiguriert ABE für alle Freigaben. <sharename>Konfiguriert ABE nur für die angegebene Freigabe

Einschränkungen

ABE greift bei der Anzeige von Informationen aus Freigaben ein. Daraus können Probleme für Backup-Anwendungen und für die Performance resultieren. Außerdem sind im Zusammenspiel mit dem DFS (Distributed File System) einige Besonderheiten zu beachten, auf die weiter unten näher eingegangen wird.

Backup-Anwendungen können bei Verwendung von ABE unter Umständen nicht mehr auf alle Informationen zugreifen. Das Problem entsteht nicht, wenn die Anwendungen als Dienst ausgeführt werden und die Berechtigung Sichern von Dateien und Verzeichnissen verwenden. In anderen Fällen kann es erforderlich sein, spezielle Skripts unter Verwendung der API Net-ShareSetInfo zu entwickeln.

Dagegen halten sich die Auswirkungen von ABE auf die Performance erfreulicherweise in Grenzen. Microsoft nennt einen Mehrbedarf von maximal zwei bis drei Prozent der Prozessorleistung selbst in sehr großen Umgebungen. Bei Freigaben, in denen es insgesamt nicht mehr als 15.000 Dateien gibt, gibt es keine Performance-Unterschiede. Zudem kommen auch Situationen vor, in denen ABE die Zugriffsgeschwindigkeit erhöht, da mehr Informationen im Cache gehalten werden. Daher sind nur bei Fileservern mit sehr großen Datenmengen innerhalb einzelner Freigaben zusätzliche Analysen erforderlich, bevor ABE in den Produktionsbetrieb genommen wird. Einschränkungen gibt es auch bei Systemen, an denen mehrere Benutzer arbeiten. Da ABE eine reine Serverlösung ist, werden Informationen aus dem Cache lokal auch angezeigt, wenn sie dank ABE nicht sichtbar sind.

ABE und DFS

Ein wichtiger Punkt bei ABE ist das Zusammenspiel mit dem DFS. Dort müssen zum einen Zugriffsberechtigungen manuell bei den Repliken gesetzt werden. Zum anderen gibt es auch Situationen, in denen die Berechtigungen neu gesetzt werden müssen, beispielsweise nach der Wiederherstellung eines DFS-Roots. Die verschiedenen Situationen sind ausführlich im Artikel 907458 der Knowledge Base von Microsoft beschrieben. ABE ist eine interessante neue Technologie, mit der man Systemumgebungen für den Anwender wesentlich komfortabler gestalten kann, indem man die Anzahl der angezeigten Ordner unter Umständen massiv reduziert. Wenn ein Mitarbeiter beispielsweise nur in drei von 200 Projekten mitarbeitet, kann ABE dafür sorgen, dass er nur noch drei statt 200 Ordner in einer Freigabe sieht. Daher sollte die Technologie für Fileserver auf jeden Fall näher evaluiert werden.

Serienfortsetzung

Der dritte Teil der Serie „Terminaldienste konfigurieren“ verschiebt sich aus redaktionellen Gründen auf die folgende Ausgabe von Expert’s inside Windows NT/2000. Gleiches gilt für den anstehenden zweiten Teil der Artikelserie „Die Active Directory Federation Services“.