Admins, die auf ihrem LDAP-Server umfangreiche Trees zu pflegen haben, sind dankbar für jede Funktion, die ein Verwaltungstool bietet. Das preisgekrönte Apache Directory Studio besitzt viele davon.
Eine Rich-Client-Platform-Applikation (RCP) bezeichnet üblicherweise ein komplexes Framework, das durch Module und Plugins seinen Funktionsumfang erweitern kann. Als eine der ausgeklügeltsten und prominentesten Entwicklungsplattformen für solche Applikationen gilt das Java-Framework Eclipse [1]. Genau dies ist die Geburtsstätte des Apache Directory Studio [2].
Das freie Tool unter dem Dach der Apache Foundation will eine Art Schweizer Taschenmesser für LDAP-Umgebungen sein. In guter alter RCP-Manier existieren dafür die so genannten OSGi-Plugins [3], die dem Programm eine Vielfalt an Zusatzfunktionen einhauchen. Auf der Eclipsecon 2009 [4] bekam das Apache Directory Studio prompt den Titel “Best Open Source RCP Application” verliehen. Grund genug, einen Blick auf das viel gepriesene Tool mit seinen vermuteten Möglichkeiten zu werfen.
Das Apache Directory Studio ist komplett in Java geschrieben. Zur Installation der Windows-, Mac- oder Linux-Variante ist somit ein aktuelles Java Runtime Environment (JRE) notwendig. Mitte Dezember erschien die neueste Version 1.5.2. Im Vergleich zur Vorgängerin haben die Entwickler rund zwei Dutzend Verbesserung und jede Menge Bugfixes in die Applikation aufgenommen. Unter [5] gibt es Installationsdateien für Linux, Mac OS X und Windows. Alternativ steht ein Plugin für bereits installierte Eclipsen bereit.
Den Wald begehen
Nach dem Start der Applikation führt »File | New« in ein Auswahlmenü für die einzelnen Plugins. Ein Wizard hilft beim Einrichten und Konfigurieren der folgenden Komponenten:
- LDAP-Browser
- LDIF-Editor
- Schema-Editor
- Apache-DS Editor
- Apache-DS Configuration
Anfänglich muss der Bediener im LDAP-Browser eine Verbindung zu einem LDAP-Server oder auch mehreren herstellen. Der Zugriff funktioniert auf jeden LDAPv3-konformen Server, auch wenn einige Plugins speziell für den Apache Directory Server [6] ausgelegt sind – beispielsweise der ACI-Editor zur Konfiguration von Zugriffsregeln auf einzelne Objekte und deren Attribute. Existiert noch kein Server, lässt sich über das Apache-DS-Plugin direkt eine neue Instanz des Apache Directory Server initiieren und konfigurieren.
Browsen und ändern
Für den Zugriff auf eine Serverinstanz öffnet der Admin die zuvor definierte Verbindung. Über den LDAP-Browser liegt ihm dann der komplette Directory Information Tree (DIT) zu Füßen. Der Browser strukturiert alle Container und die darin enthaltenen Objekte als Baum. Sobald er eines der Objekte anklickt, erscheinen alle seine Attribute mit ihren aktuellen Werten. Die kann er sogleich verändern oder Objekten zusätzliche Attribute zuweisen (siehe Abbildung 1) – das ist die Kernfunktionalität, die man von einem LDAP-Tool erwarten darf.

Abbildung 1: Über das Browser-Plugin ist intuitives Arbeiten mit den Objekten eines Directory möglich.
Praktisch ist die Batchfunktion des LDAP-Browsers, die eine Vielzahl von Änderungen in einem Batchjob abzuarbeiten hilft. Als Target eignet sich ein einzelnes Objekt genauso wie ein ganzer Container. Der Browser-Benutzer darf ein Objekt auch exportieren. Als Ausgabeformat stehen neben dem LDAP-typischen LDIF auch CSV, DSML, Excel und neuerdings auch ODF bereit.
Natürlich ist auch ein Import von LDAP-Daten möglich. Dies geschieht entweder manuell oder automatisch unter Angabe einer LDIF-Datei. Im praktischen Einsatz hat sich die automatische Überprüfung der korrekten LDIF-Syntax als hilfreich erwiesen: Erzeugt der Benutzer einen neuen Entry mit einer Anzahl von Attributen, weist der Editor auf Unpässlichkeiten hin. Ein beliebter Fehler ist beispielsweise ein Leerzeichen am Anfang einer Zeile. Taucht es auf, sieht der LDAP-Server die Zeile als Fortsetzung der vorherigen an statt als eigenständige. Im Studio weißt ein ausklappbares Icon am Anfang der Zeile auf diesen Fehler hin.
Lesezeichen helfen beim Orientieren
Die automatische Vervollständigung von bekannten Attribut- und Objektklassen-Namen spart Zeit und schützt vor Tippfehlern (siehe Abbildung 2). Im Einsatz gleichfalls als praktisch erweist sich die Funktion, Bookmarks auf einzelne Objekte zu setzen. Diese landen dann in einem Bookmark-Menü, wie von Webbrowsern bekannt. Damit gelingt die Auswahl oft benutzter Objekte schnell.
Welche Objekte welche Attribute erfordern (siehe Abbildung 2) und welche Attribute welche Daten aufnehmen, bestimmt das Schema des LDAP-Servers. Hier liegen die Definitionen der einzelnen Attribute und Objektklassen. Eine Definition umfasst neben einer Syntaxbeschreibung auch den Hinweis darauf, ob ein Attribut Single- oder Multi-Value ist, also ob das Attribut mehr als einen Datensatz aufnimmt. Die Schema-Definitionen kann der Benutzer über den Schema-Editor anpassen und erweitern.

Abbildung 2: Der LDIF-Editor verfügt über eine eingebaute Syntaxkontrolle der LDIF-Daten. Mit ihrer Hilfe sind Fehler leicht zu finden, meist fallen sie schon beim Tippen auf.
Fazit
Abschließend lässt sich festhalten, dass ein LDAP-Admin mit dem Apache Directory Studio einen mächtigen und intuitiven Waldarbeiter für seine Directory-Server-Instanzen zur Hand hat, mit dem er Objekte einfach abfragen und bearbeiten kann. Syntaktisch schwer handhabbare Kommandozeilen-Tools sowie LDIF-Dateien umständlich zu editieren gehört – zumindest für die meisten Administrationsaufgaben – damit der Vergangenheit an. Dass sich hinter dem Vorhang sogar ein eigenständiger Apache Directory Server installieren lässt, setzt dem Ganzen ein Sahnehäubchen auf. Wer Vergleiche zu anderen Tools ziehen will, wird unter [7] fündig. (jk)
|
Infos |
|---|
|
[1] Eclipse-Framework: [http://www.eclipse.org] [2] Apache Directory Studio: [http://directory.apache.org/studio/] [3] OSGi-Framework: [http://it-republik.de/jaxenter/artikel/Das-OSGi-Framework-2221.html/] [4] Eclipsecon: [http://www.eclipsecon.org/2009] [5] Apache Directory Studio Download: [http://directory.apache.org/studio/downloads.html] [6] Apache Directory Server: [http://directory.apache.org/apacheds/] [7] Bastian Kames, Markus Feilner, “LDAP-Administrations-Clients im Vergleich”: Linux-Magazin 05/09, S. 82 |





