Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Etwas umgestaltet

...

Manchmal kann es noch notwendig sein, die Dateien ssleay32.dll und libeay32.dll (von Version zu Version unterschiedlich, jedoch meist unter C:\xampp\apache\bin\ zu finden) in das Verzeichnis php\ zu kopieren. Danach muss noch der Apache Webserver neu gestartet werden.

Konfiguration

Die Konfiguration befindet sich in i-doit unter Verwaltung → Schnittstellen / externe Daten → LDAP. Dort können unter Server zum Einen ein oder mehrere Instanzen konfiguriert und zum Anderen eine Zuweisung von Feldern zu Attributen vorgenommen werden.

...

Directories

Über Verwaltung → Schnittstellen / externe Daten → LDAP → DirectoriesDirectories lässt sich dann das Mapping einrichten. Es wird dafür genutzt, beim Login grundlegende Informationen zu dem einloggenden Benutzer abzufragen und in dem in i-doit zu erstellenden Benutzer abzulegen. Hier kann nach der Auswahl des zutreffenden Directories die Zuweisung vorgenommen werden. Standardmäßig sind die Felder jedoch schon gefüllt und brauchen in der Regel nicht verändert zu werden.

Import eigener LDAP-Attribute

Es ist auch möglich, eigene Attribute aus dem LDAP über den Import von Personen in den Stammdaten zu hinterlegen. Dafür können weitere Felder für diese Kategorie unter Verwaltung → CMDB-Einstellungen→ Kategorieerweiterungen konfiguriert werden. Sobald ein Name definiert wurde, wird das Feld mit derselben Bezeichnung angezeigt. Die Befüllung findet dann über den zugehörigen Key statt.

Regelmäßige Synchronisation

Die dafür benötigte Konfiguration wurde in den vorherigen Schritten bereits vorgenommen. Für die Synchronisation muss nun noch der passende Controller Handler eingerichtet werden. Außerdem können noch weitere zu synchronisierende Felder konfiguriert werden.

Erweiterte Konfiguration

Die Konfiguration muss in der Handler-Konfiguration vorgenommen werden. Ein Beispiel dazu ist Hier zu finden(i-doit < 1.15. Diese Datei kann mit Login-Daten, Tenant und Attributen erweitert und angepasst werden. Die Konfigurationsdatei wird dann nach i-doit/src/handler/config/ verschoben. Damit diese Datei z.B. beim ldap-sync Command berücksichtig wird, muss diese beim sync über einen weiteren Parameter (-c /pfad/) mit angegeben werden (weitere Informationen zur Console). 

ParameterZweck
import_rooms

Auf true gesetzt werden auch Räume mit der Synchronisation angelegt (Standard: false)

defaultCompany

Hierdurch werden durch die LDAP-Synchronisation hinzugefügte Benutzer automatisch der konfigurierten

Organisation zugewiesen. (Standard: leer)

Bsp. 

defaultCompany='i-doit'

deletedUsersBehaviour

Kann auf archivedelete und disable_login gesetzt werden um Benutzer auf archiviert bzw. gelöscht zu setzen, die nicht mehr über die Synchronisation gefunden werden. Ein archivierter/gelöschter Benutzer kann sich nicht mehr in i-doit anmelden.

Oder man deaktiviert nur den Login für die User.

(Standard: archive)

Bsp.

deletedUsersBehaviour=archive

disabledUsersBehaviour

Kann auf archivedelete und disable_login gesetzt werden um Benutzer auf archiviert bzw. gelöscht zu setzen, die nicht mehr über die Synchronisation gefunden werden. Ein archivierter/gelöschter Benutzer kann sich nicht mehr in i-doit anmelden.

Oder man deaktiviert nur den Login für die User.

Bsp.

disabledUsersBehaviour=archive

rooms

Wie in dem Beispiel kann hier eine Zuweisung von Benutzer zu einem Raum vordefiniert werden, die bei der Synchronisation vorgenommen wird. Die Zuweisung wird über die Kontaktzuweisung ohne eine Rolle realisiert.

Bsp. 

rooms["Raum B"] = ["Person A", "Person C", "Person D"]

attributes

Hiermit werden die jeweiligen Felder aus dem Directory mit Attributen in i-doit verknüpft. Diese ergänzen die zugewiesenen Attribute aus dem oberen Teil der Anleitung.

Bsp.

attributes[department]=department

autoReactivateUsers

Ist nur für Novel Directory Services (NDS) und OpenLDAP relevant. Hierdurch werden bei der Synchronisation erst mal alle Benutzer wieder aktiviert und nach dem regulären Prinzip wieder deaktiviert, falls zutreffend.

Bsp.

autoReactivateUsers=false

ignoreUsersWithAttributes

Diese Funktion hilft, eine Synchronisation unerwünschter Verzeichnisobjekte zu verhindern.

Der Benutzer wird nicht synchronisiert, wenn die ignoreFunctionfür alle ausgewählten Attribute fehlschlägt.

Bsp.

ignoreUsersWithAttributes[] = "samaccountname"

ignoreFunction

Dies kann ein beliebiger Funktionsname sein, der über call_user_func oder die definierten Funktionen aufrufbar ist.

Definierte Funktionen:

empty
!empty
isset
!isset

Bsp,

ignoreFunction=empty

Console

Um die Console richtig bedienen zu können, sollte der Artikel dazu bekannt sein. Eine einfache Synchronisation ohne die erweiterte Konfiguration dient die Option ldap-sync. Eine Beschreibung der Parameter sowie ein entsprechendes Beispiel ist im entsprechenden Kapitel zu finden.


Automatische Zuweisung von Personen zu Personengruppen

Die automatische Zuweisung sorgt dafür, dass nach dem Login automatisch die für die Personengruppe festgelegten Berechtigungen zugewiesen werden. Damit die Zuweisung erfolgen kann, muss in den Stammdaten einer Personengruppe das Attribut LDAP-Gruppe (Mapping) mit einer validen Gruppe aus LDAP/AD gefüllt werden. Loggt sich ein Benutzer ein oder wird die Synchronisation ausgeführt, werden automatisch auch die dem Benutzerobjekt im Directory zugewiesenen Gruppen abgefragt und mit dem Attribut LDAP-Gruppe (Mapping) der Personengruppen verglichen. Gibt es eine Übereinstimmung wird die Gruppe zugewiesen und die weiteren Gruppen abgefragt.


Info
titlememberOf bei OpenLDAP

Die automatische Zuweisung beruht auf der LDAP-Abfrage, in welchen Gruppen ein Benutzer ist. Hierbei spielt das Attribut memberOf eine wichtige Rolle. Dieses Attribut muss als Overlay verfügbar sein, was in vielen Standard-Installationen von OpenLDAP nicht der Fall ist. Gute Artikel für die nötige Konfiguration befinden sich hier und hier.

Personen und Personengruppen Synchronisieren

Seit Version 1.15 können Personen und Personengruppen aus dem LDAP/AD synchronisiert werden. Dabei werden die Personen Mitglied der Ihnen im LDAP zugewiesenen Gruppe. Solange die Gruppe auch mit dem eingestelltem Filter gefunden wird.
HIER gehts es zum Artikel.
Voraussetzung ist, dass der Benutzer mit dem der Befehl ausgeführt wird auch die Supervisor Rechte auf die Kategorien ("Gruppenmitgliedschaft" und "Personengruppen > Mitglieder") sowie Supervisor Rechte auf die Objekttypen ("Personen" und "Personengruppen") besitzt.

Logging

Unterhalb von log/ im Installationsverzeichnis von i-doit befindet sich ein Logfile mit dem Namen ldap_debug.txt. Das Logging lässt sich unter Verwaltung → Systemeinstellungen → Logging → LDAP Debug (de-)aktivieren.

Den ldap-sync ausführen

Der ldap-sync lässt sich nur über die Console des Servers ausführen. Um die Console richtig bedienen zu können, sollte der Artikel dazu bekannt sein. Eine einfache Synchronisation ohne die erweiterte Konfiguration dient die Option ldap-sync. Eine Beschreibung der Parameter ist im entsprechenden Kapitel zu finden.

Code Block
languagetext
titleBeispiel zur Verwendung
sudo -u www-data php console.php ldap-sync --user admin --password admin --tenantId 1 --verbose --ldapServerId 1