Der LDAP Server in UCS wie auch das Active Directory auf einem Windows Server speichert die meisten Informationen über Ihre Domain, von Hardware Definitionen bis zu Nutzern, als strukturierte und klar definierte Objekte. Jedes Objekt gehört dabei einer Objektklasse an und besitzt bestimmte Attribute, die einer vorgegebenen Syntax folgen. Bekannte Attribute sind dabei z. B. der Nachname eines Benutzers oder sein Passwort. Ein bedeutender Bestandteil des LDAP ist das LDAP Schema, das dem Administrator eine klare Übersicht über alle Objekte liefert und bestimmt, wie die Objekte auszusehen haben und welche Attribute sie haben müssen.

Wenn Sie eine Objektklasse um ein neues Attribut erweitern oder eine ganz neue Objektklasse erstellen möchten, ist es daher zwingend notwendig, das Schema zu erweitern.

Wann Schema-Erweiterungen notwendig sind

Univention Corporate Server enthält bereits viele Objektklassen und Attribute in den Standard Schemata. Der Univention Directory Manager (UDM) nutzt die gebräuchlichsten und stellt sie über die Kommandozeile und das Webinterface zur Verfügung. Jedoch gibt es deutlich mehr Attribute, die standardmäßig nicht benutzt werden, da sie nur in einer begrenzten Anzahl von Fällen nützlich sind. Daher ist es sinnvoll, als erstes die Schemata-Verzeichnissse auf dem Master auf bereits bestehende relevante Attribute zu prüfen und gegebenenfalls diese zu verwenden.

Die entsprechenden Verzeichnisse sind:

/etc/ldap/schema/
/usr/share/univention-ldap/schema/
/var/lib/univention-ldap/local-schema/

Weiterhin enthält UCS 100 Attribute, die dem Endkunden zur Verfügung stehen, um seinen Verzeichnisdienst zu erweitern. Diese heißen „univentionFreeAttribute1“ bis „univentionFreeAttribute100“ und können als Freitext verwendet werden.

Dies bedeutetet, dass diese für kleine Erweiterungen von Endkunden, z. B. zur Kontrolle einer Drittanwendung, direkt genutzt werden können, ohne dass man sich vorab mit Schema-Erweiterungen beschäftigen muss.

Schema-Erweiterungen über den UDM

Die Univention Management Console bietet die Möglichkeit, ein neues Schema auf allen Servern bereitzustellen und zu aktivieren. Um ein neues Schema hinzuzufügen, öffnen Sie die Management Console, wählen das „Domäne“-Modul und klicken auf „LDAP-Verzeichnis“.

Screenshot der Univention Management Console

Danach wählen Sie im LDAP Baum den Ordner „univention“ und dann den Unterordner „ldapschema“.

Screenshot vom LDAP Verzeichnis in UCS

Klicken Sie hier auf den Button zum Hinzufügen von Objekten und wählen „Einstellungen: LDAP-Schemaerweiterung“ als zu erstellendes Objekt. Geben Sie dem Schema einen passenden Dateinamen. Kopieren Sie Ihr bzip2 komprimiertes und base64 codiertes Schema in das Daten-Feld.
Speichern Sie Ihren Eintrag und das LDAP Schema wird in der Domain aktiviert.

Manuelles Einspielen von Schemata

Auch manuell lassen sich eigene Schema-Erweiterungen oder die von Drittanwendungen einfach in UCS 4.2 oder neueren Versionen einfügen.

Kopieren Sie dafür im Master die Schema-Datei in das Verzeichnis: /var/lib/univention-ldap/local-schema/.

Danach können Sie die Konfiguration für den SLDAP-Server über die Univention Configuration Registry neu erstellen und den LDAP Server anschließend mit dem folgenden Befehl neu starten:

/usr/sbin/univention-config-registry commit /etc/ldap/slapd.conf
/etc/init.d/slapd crestart

Wir empfehlen, die Schema-Erweiterug auch auf allen UCS Backup Servern in das Verzeichnis /var/lib/univention-ldap/local-schema/ zu kopieren. Falls es notwendig wird, einen Backup zum Master zu machen, kann ein nicht vorhandenes Schema sonst zum Ausfall des LDAP führen.

Schema Replikation durch Slaves

Wie bereits gesagt, empfehlen wir, das Schema auf Master und Backup zu hinterlegen. Sie mögen sich fragen, wie es sich mit den Slaves verhält.

UCS Slaves als auch die Backups replizieren das aktuell laufende Schema vom Master. Daher ist es nicht notwendig, dieses auf DC-Slaves zu kopieren.

UCS repliziert Änderungen in der Reihenfolge, wie sie erfolgt sind. Dies stellt sicher, dass Objekte, die auf dem Master angelegt werden, erst repliziert werden, wenn das Schema vorhanden ist. Diese Art der Replikation zeigt auch, dass es wichtig ist, das Schema auch auf den Backups vorzuhalten. Falls das Schema nämlich nach einem Update zum Master nicht vorhanden wäre, würde es auf allen Servern entfernt. Gleichzeitig würde die Replikation aber dafür sorgen, dass die Server weiter laufen, auch wenn das Schema unvollständig, also noch nicht manuell kopiert worden wäre.

Schema-Pakete und das App Center

UCS enthält viele Produkte von Drittanbietern. Viele von diesen integrieren sich in die UMC und enthalten dafür ein eigenes Schema.

In unserer Dokumentation finden sich detaillierte Anleitungen für Software Entwickler zur Erstellung von Schemata und wie sich diese in UCS einfügen lassen. Außerdem finden Sie hier Informationen zum App Center und wie Sie Ihre Apps konfigurieren können, damit sich LDAP Schemata über das App Center bereitstellen lassen.

Erweiterung der UMC

Die Erweiterung eines LDAP Schemas ist jedoch nur bedingt nützlich. Denn nur, wenn sich Objekte und Attribute mit bedeutsamem Inhalt füllen lassen, hat das Schema einen Nutzen. In UCS ist die Univention Management Console das primäre Administrationswerkzeug. Die Management Console ist bereits mit einer eingebauten Funktion, sich selbst zu erweitern, ausgestattet.

Unsere Dokumentation gibt Ihnen einen guten Überblick über die zahlreichen Optionen, wie Sie die UMC erweitern können.

Zusammenfassung

Schemaerweiterungen erlauben es, das LDAP an die eigenen Bedürfnisse anzupassen. Dabei ist jedoch immer zu bedenken, dass jede Erweiterung des LDAP eine zusätzliche Administration bedeutet, um die Daten im LDAP aktuell zu halten. Daher sollten Sie sich zuerst immer fragen, ob es nicht bereits ein Attribut gibt, das die gewünschten Anforderungen erfüllt.

Und falls eine Erweiterung tatsächlich notwendig ist, hat UCS die Funktionen, die Sie brauchen, um ein vorhandenes Schema auf einfache Weise zu erweitern.

Sollten Sie noch weitere Fragen haben, können Sie diese gern über das Kommentarfeld stellen oder mich über unser Kontaktformular erreichen.

Vielen Dank!


Weitere, bereits erschienen, spannende Artikel zum Thema LDAP, die Sie auch interessieren könnten:

 

Kevin Dominik Korte studierte Informatik an der Jacobs University Bremen und schloss 2011 mit einem Master of Science ab. Anschließend arbeitete er zwei Jahre im Professional Services Team von Univention. Seit Oktober 2013 ist er President of Univention North America Inc. und für die Geschäftsentwicklung in den USA verantwortlich.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.