Schon in einer kleineren Organisation hat man das Problem, dass bestimmte Informationen an verschiedenen Stellen erforderlich sind, aber nicht zentral abgespeichert werden. Man hat z.B. einen Email Server, der natürlich Benutzernamen, Passwort und den Email Account benötigt. Dann gibt es sicherlich ein Wiki oder ein CMS, das auch wieder den denselben Benutzernamen und dasselbe Passwort verwendet. Alle diese Programme speichern ihre Informationen in einem eigenen Format ab, somit ist es nicht möglich, z.B. das Passwort für alle Anwendungen auf einmal zu ändern. Es ist daher sinnvoll, solche Daten in einem eigenen Verzeichnis abzulegen, auf die alle anderen Programme zugreifen. Das ist so praktisch, dass man sich nach einer Weile fragt, wie man eigentlich all die Jahre ohne LDAP ausgekommen ist. Die Konfiguration und Nutzung eines LDAP-Servers ist auch nicht weiter schwierig. Das folgende Tutorial erläutert, wie man grundsätzlich einen LDAP-Server konfiguriert, wie man eine sinnvolle Struktur aufbaut, und wie man Client-Programme so konfiguriert, dass sie mit einem LDAP Server zusammenarbeiten.
LDAP Grundlagen
LDAP (Lightweight Directory Access Protocol) ist ein Protokoll, das sich unter anderem besonders gut für objektbezogene Informationen wie Personendaten (Benutzername, Passwort, Telefonnummern usw.) oder Systeminformatioen eignet.
Ein wesentlicher Unterschied zu herkömmlichen "flachen" Datenspeichern wie einer relationalen Datenbank ist die hierarchische Datenbankstruktur, die man sich als Baum mit einer Wurzel, Zweigen und Blättern vorstellen kann. Oft bildet man organisatorische oder geografische Strukturen direkt im Verzeichnisbaum ab. In nebenstehendem Diagramm ist ein solcher "Directory Information Tree (DIT)" abgebildet: das Root-Objekt ist ein Unternehmen, dann folgt eine Aufteilung nach Ländern und Zweigstellen, zuletzt ein Personenverzeichnis, in dem sich alle Mitarbeiter anfinden.
Durch diesen hierarchischen Aufbau ist es leicht möglich, z.B. lokale und globale Personenverzeichnisse im Client (Outlook, Thunderbird) darzustellen. Man würde die Suchabfrage einfach in der gewünschten Hierarchiestufe anstatt an der Wurzel beginnen lassen.
Weil es sich um ein standardisiertes Protokoll handelt, gibt es zahlreiche Produkte, die LDAP unterstützen.
Die wichtigsten LDAP Server: für Windows Microsoft Active Directory, für Linux OpenLDAP.
LDAP wird auf der Client-Seite von so vielen Programmen unterstützt, dass man sie gar nicht alle aufzählen kann. Ich nutze LDAP für:
- Adressbücher, z.B. Microsoft Outlook oder Mozilla Thunderbird. Auch mein snom VoIP-Telefon kann auf ein LDAP Adressbuch zugreifen.
- Login Informationen: JIRA (ein Bug Tracker), Confluence (ein Wiki), Joomla (ein Content Management System), der Apache Webserver, Subversion, der Mailserver, greifen alle auf den zentralen LDAP Server zu, um die Login-Daten und die Passwörter zu verwalten
Das Tutorial gliedert sich in folgende Kapitel:
Wie man eine sinnvolle Directory-Struktur aufbaut
Berechtigungen
Microsoft Outlook
Mozilla Thunderbird