AD-Synchronisation
AD-Connector
Allgemeine Informationen
Der AD-Connector dient zur Synchronisation von ActiveDirectory-Benutzern zu TRADEMAN-Mitarbeitern. Dabei gibt es zwei Kernfunktionalitäten:
- Synchronisieren von Benutzern (Anlegen der ActiveDirectory-Benutzer als TRADEMAN-Mitarbeiter)
- Authentifizierung von Mitarbeiter-Logins am TRADEMAN über ActiveDirectory
Um eine größere Flexibilität zu ermöglichen, können mehrere ActiveDirectory-Instanzen konfiguriert werden. Diese werden dann in der konfigurierten "Fallback"-Reihenfolge nacheinander angesprochen.
Die Synchronisation der Benutzer kann zeitgesteuert (automatisiert per Konsolen-Befehl) oder manuell (über die TRADEMAN-Oberfläche) angetriggert werden. In der Übersicht der AD-Connectoren kann die Synchronisation aller AD-Connectoren gestartet werden. Wenn nur eine bestimmte ActiveDirectory-Instanz synchronisiert werden soll, ist dies direkt im zugehörigen AD-Connector möglich.
Mapping
Da die Benutzer in ActiveDirectory in einer flexiblen Struktur vorliegen, wurde der AD-Connector so entwickelt, dass mehrere Arten von "Mappings" angegeben und konfiguriert werden können:
- Rollen-Mappings:
Diese Mappings weisen Nutzer aus einer AD-Gruppe je einer TRADEMAN-Rolle zu. Dies ermöglicht die feingliedrige Zuweisung von Rechten an bestimmte Nutzern innerhalb des TRADEMAN bis hin zur POSMAN-Kasse. Weiterhin dient diese Konfiguration als Filter, da nur Benutzer zu TRADEMAN synchronisiert werden, die sich in den konfigurierten ActiveDirectory-Gruppen befinden. - Felder-Mappings:
Da im ActiveDirectory die Felder frei definierbar sind, müssen diese Felder auf die TRADEMAN-Datenstruktur gemapped werden können. Der Benutzer kann somit einstellen, welche Felder er aus der AD mit synchronisiert haben möchte und wo er sie am TRADEMAN-Mitarbeiter hinterlegt haben möchte.
Hier ist eine vereinfachte Darstellung:
Konfiguration der ActiveDirectory
Die Konfiguration der AD-Connectoren ist im Konfig-Bereich des TRADEMAN zu finden. Unter dem Oberpunkt "Synchronisation" liegt der Menüpunkt "AD-Synchronisation".
Basiskonfiguration für eine ActiveDirectory-Instanz
Beim Anlegen und Bearbeiten eines AD-Connectors sind die folgenden Felder pflegbar:
- Name: Ein sprechender Bezeichner für den AD-Connector / die verknüpfte AD-Instanz
- AD-Endpunkt: Die URL oder IP der AD-Instanz (z.B.
ldap://192.168.0.123
oderldap://example.org
) - Domain-Bestandteile: Die Domain, für die Benutzer abgerufen werden sollen (z.B.
example.org
). Diese sind mit einem Punkt als Trennzeichen einzugeben. - Organisationseinheit: Der Pfad (die Organizational-Units) innerhalb der AD-Instanz, unter dem die Benutzer gepflegt sind.
- Benutzer: Der Login des Benutzers, mit dem der Sync durchgeführt wird.
- Passwort: Das Password des Sync-Benutzers (wird verschlüsselt abgespeichert).
- AD-Ident-Feld: Hier ist das Feld in ActiveDirectory zu nennen, anhand dessen die Benutzer identifiziert werden sollen. (Üblicherweise ist dies das Attribut
userPrincipalName
) - Reihenfolge: Hiermit wird festgelegt, in welcher Reihenfolge mehrere AD-Connectoren angesprochen werden, wenn synchronisiert oder eine Authentifizierungsanfrage durchgeführt wird. Ist nur ein Connector konfiguriert, kann hier z.B. "1" eingetragen werden.
- Info: Hier können individuelle Notizen für diese Instanz hinzugefügt werden
Achtung
Es wird vorausgesetzt, dass die Benutzer im ActiveDirectory in einer sogenannten "Organizational-Unit" gepflegt sind, also z.B. OU=Users
. Die OUs können beliebig tief verschachtelt sein (z.B. OU=Mitarbeiter,OU=Standort1,OU=Users
), wobei alle Ebenen auch vom Typ "OrganizationalUnit" sein müssen. Die Pflege erfolgt im Feld "Organisationseinheit" als Pfad, das vorige Beispiel entspräche also Users/Standort1/Mitarbeiter
Nicht möglich sind Strukturen wie z.B. CN=Gruppe1, OU=Users
oder CN=Users
Mapping von ActiveDirectory-Feldern zu TRADEMAN-Feldern
Die Informationen, die in ActiveDirectory dem Benutzer zugeordnet sind, können auf verschiedene Weise dem TRADEMAN-Mitarbeiter zugeordnet werden. Für jede Zuordnung eines Feldes aus ActiveDirectory wird ein eigenes "AD-Attribut-Mapping", auch genannt "Feld-Mapping" angelegt.
Die Eingabemaske hierfür sieht wie folgt aus:
Anlegen eines neuen Feld-Mappings
Zuerst muss definiert werden, aus welchem Feld des ActiveDirectory-Benutzers die Information kommen soll und welchen Typ sie hat. Dies wird über die Felder "Woher-Attribut" und "Woher-Typ" vorgenommen.
Dieser Wert soll dann dem TRADEMAN-Mitarbeiter zugewiesen werden, wobei es unterschiedliche Möglichkeiten gibt, wie der Wert am Mitarbeiter hinterlegt wird. Dies wird über das Feld "Wohin-Tabelle" konfiguriert:
- Mitarbeiter: Felder wie Name, Vorname, Anrede oder Personalnummer werden in TRADEMAN direkt am Mitarbeiter gepflegt. (Verkäufer-Tabelle)
- Problemlose Felder sind Name, Vorname, Telefon, Telefax, Email, Vorname, Anrede2 (Hier müssen die Optionen in Parameter KUNDENAUSWAHLANREDE gepflegt sein)
- Zusatz-Information: Wenn im TRADEMAN benutzerdefinierte Zusatzinformationen für Mitarbeiter gepflegt sind, können diese mit Informationen aus dem ActiveDirectory gefüllt werden. (Addinfos)
- Zusatz-Konfiguration: Neben den freien Zusatzinformationen können auch Mappings für Zusatzkonfigurationen konfiguriert werden und diese mit Werten aus der ActiveDirectory befüllen lassen. (Fixed Addinfos)
- Filiale-Mitarbeiter-Mapping: Dieser Wert wird genutzt, um Benutzer aus einer spezifischen AD-Instanz einer bestimmten Filiale (oder allen) zuzuordnen zu können. Dazu muss das Feld "Standardwert" gefüllt werden. (siehe Abschnitt "Standardwert")
Beim Mapping der Felder ist besondere Vorsicht geboten! Mappings von Feldern wie 'herkunft_moddatum'
am TRADEMAN-Mitarbeiter können zu unerwartetem Verhalten führen.
Besonderheiten
Standardwerte:
- Ist das "Woher-Attribut" in ActiveDirectory für einen Benutzer nicht gesetzt, wird der Wert aus dem Feld "Standardwert" übernommen.
- Wird als "Woher-Typ" die Option "Standardwert" ausgewählt, wird für jeden Benutzer dieser AD-Instanz der Wert aus dem Feld "Standardwert" gesetzt.
Typkonvertierung
Wird der Woher-Typ "Boolean" genommen, gilt lediglich der Wert "true" als wahr. Dabei wird die Groß- / Kleinschreibung nicht beachtet.
Achtung
Werte wie "1", "wahr", "tru" etc. werden als das boolsche "false" erkannt!
Konfiguration des Gruppen-/Rollenmappings
Es ist zwingend notwendig, ein Mapping von ActiveDirectory-Gruppen auf TRADEMAN-Rollen anzulegen, da hierüber die Berechtigungen der synchronisierten Benutzer vergeben werden. Fehlt das Mapping, ist keine Authentifizierung über ActiveDirectory möglich.
Ebenso kann ein fehlerhaftes Gruppenmapping zu unerwarteten Ergebnissen führen - so führt eine falsch konfigurierte Gruppe dazu, dass keine Benutzer aus ActiveDirectory gezogen werden können.
Die Mappings zwischen TRADEMAN-Rollen und ActiveDirectory-Gruppen kann auf 2 Weisen erfolgen.
- Der Benutzer öffnet eine TM-Gruppe und hat dort einen Tab für die Mapping-Konfiguration. Hier wählt er einen Connector aus und gibt den vollqualifizierten AD-Gruppennamen ein.
- Ein Beispiel: Der Gruppen-Name "CN=GRP-Entwicklung,OU=Gruppen,DC=poe,DC=de" sorgt dafür dass die Gruppe "GRP-Entwicklung" aus der Organisationseinheit "Gruppen" aus der ActiveDirectory "poe.de" synchronisiert wird.
- Der Benutzer öffnet einen AD-Connect und hat dort ebenfalls einen Tab zur Verknüpfung von TM-Rollen und AD-Gruppen. Hier wählt er eine Gruppe aus und muss ebenfalls den vollqualifizierten AD-Gruppennamen eingeben
Die Pflege einer Gruppen-Rollen Zuordnung am Connector sieht wie folgt aus:
Hinweis
Aktuell können nur Gruppen-Mappings verwaltet werden, die den vollständigen AD-Namen angegeben haben!
Dies wurde benötigt um sicherzustellen, dass auch min. die beiden folgende Fälle abgebildet werden können:
- Gruppen, die direkt in Organisationseinheiten (OU) liegen => z.B. "
CN=Gruppe,OU=Einheit,OU=Obereinheit,DC=example,DC=com
" - Verschachtelte Gruppen bzw. Gruppen in Containern => z.B. "
CN=Gruppe,CN=Gruppensammlung,OU=AlleGruppen,DC=example,DC=org"