Web-Client Login mit LDAP-Kopplung
Bei der Anmeldung am ADOIT Web-Client mit Hilfe des LDAP-Mechanismus werden ADOIT Benutzer direkt gegen einen Verzeichnisdienst (z.B. Active Directory oder eDirectory) authentifiziert.
Benutzer, die sich zum ersten Mal am ADOIT Web-Client anmelden, können abhängig von der Konfiguration "on-the-fly" in der ADOIT-Datenbank erzeugt werden. Sie werden vorkonfigurierten Benutzergruppen/System-Rollen zugewiesen. Optional werden ihnen spezifische Repositorys als Arbeitsplatz zugewiesen und sie werden mit diesen Repositorys geteilt, damit sie als Objekte in der Modellierung verfügbar sind.
Um diesen Authentifizierungsmechanismus zu konfigurieren, führen Sie folgende Schritte aus:
Dieser Authentifizierungsmechanismus basiert auf dem LDAPv3-Standard. Daher ist eine allgemeine Kompatibilität zu LDAPv3-konformen Verzeichnisdiensten gegeben. Der Authentifizierungsmechanismus wurde erfolgreich mit Microsoft Active Directory 2003/2008 R2 und eDirectory 8.8.6 getestet. Jeder andere Verzeichnisdienst erfordert eine vorherige Evaluierung.
Um diesen Authentifizierungsmechanismus zu konfigurieren, benötigen Sie Erfahrung mit JSON. Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren ADOIT-Kundenbetreuer.
Globale LDAP-Einstellungen adaptieren
Das Einrichten dieses Authentifizierungsmechanismus erfordert die Konfiguration bestimmter Verbindungsparameter und spezifischer Eigenschaften des Verzeichnisdiensts:
- Öffnen Sie die Administratorseite. Klicken Sie auf der Symbolleiste ganz oben auf dem Bildschirm auf Mehr , zeigen Sie auf Authentifizierung, und klicken Sie dann auf LDAP.
Im Folgenden sind die Konfigurationsparameter aufgeführt, die angepasst werden müssen.
Allgemeine LDAP-Parameter
Zuerst müssen Sie allgemein Parameter anpassen, die für alle Domänen gelten.
- Bearbeiten Sie die LDAP-Einstellungen.
Passen Sie folgende Parameter an:
enabled
Legt fest, ob die Verwendung des LDAP-Mechanismus global aktiviert ist oder nicht. Mögliche Werte sind ”true” oder ”false”.
Array "properties" (Eigenschaften: name etc.)
Hier werden LDAP-Eigenschaften festgelegt, die für alle Benutzer zur Verfügung stehen sollen.
Beispiel"properties": [ { "name": "cn" }]
Legt die LDAP-Eigenschaft "cn" fest, die sich auf das Active Directory Attribut "Common Name" bezieht.
default_domain
Die Kennung der Domäne, die als Standarddomäne verwendet werden soll. Die Standarddomäne wird verwendet, wenn keine Domäne angegeben wurde.
Domänen-spezifische LDAP-Parameter
Jetzt müssen Sie domänenspezifische Parameter anpassen.
Klicken Sie unter Authentifizierung > LDAP auf die Hinzufügen Schaltfläche , um eine neue Domäne hinzuzufügen.
Klicken Sie auf die Schaltfläche , um Ihre neue Domäne zu bearbeiten.
Die neue Domäne enthält bereits einige Parameter. Passen Sie folgende Parameter an:
name
name repräsentiert die Kennung dieser Domäne. Dieser Wert muss innerhalb der Domänen eindeutig sein.
defaultConnector
defaultConnector ist eine optionale Eigenschaft zur Festlegung des User Mappings, wenn LDAP nicht im Kontext eines bestimmten Authentifizierungsmechanismus (= Konnektors) verwendet wird. Ein Beispiel dafür ist die Synchronisation von Benutzern über einen geplanten Task.
provider_url
Legt die URL für den LDAP-Verzeichnisserver fest. Dieser Wert hat die Form "ldap://host:port". Verwenden Sie IP-Adressen anstelle von Domänen-Namen, um eine DNS-Abfrage zu vermeiden.
security_protocol
Falls Sie LDAPS verwenden, geben Sie hier ein SSL-kompatibles Protokoll an (z. B. 'SSL').
ssl_certificate
ssl_certificate muss hinzugefügt werden, wenn Sie LDAPS verwenden. Sie können das SSL-Zertifikat (X509) angeben, das verwendet werden soll (nur der Dateiname, wenn Sie das Zertifikat über die Administratorseite hochgeladen haben). Alternativ können Sie ein vertrauenswürdiges Zertifikat global im Trust Store installieren.
principal
principal muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert den Benutzernamen des Hauptbenutzers zum Nachschlagen aller anderen Benutzer. Dieser Benutzer muss Lesezugriff auf alle Bereiche des Verzeichnisdiensts haben, die im ADOIT Web-Client verwendet werden.
principal_domain
principal_domain muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert die Domäne des Hauptbenutzers.
principal_format
principal_format muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert das Format, in dem der Name des Hauptbenutzers und seine Domäne für die initiale Kontexterzeugung festgelegt sind. Beispiele sind in der Hilfe Datei enthalten, die Sie von der Administratorseite herunterladen können.
password
password muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert das Passwort des Hauptbenutzers in verschlüsselter Form. Ein Hilfsprogramm zur Verschlüsselung des Passworts finden Sie im Verzeichnis "03 Web Client\03 Tools\02 Password Encryption Tool" auf dem Installationsmedium.
Array "unique_identifier"
Ein Array von Strings, das als eindeutige Kennung des Benutzers für den internen Gebrauch dient. Um mehrere Eigenschaften zu definieren, fügen Sie sie zum Array hinzu (getrennt durch Beistriche):
Beispiel"unique_identifier": [ "cn", "distinguishedName" ]
Legt die LDAP-Eigenschaften "cn" und "distinguishedName" als eindeutige Kennungen fest.
Die verschiedenen eindeutigen Kennungen werden nacheinander abgearbeitet und die erste gefundene verwendet.
login_base_dn
Die Angabe der Basisdomäne, in der sich die Benutzerobjekte befinden.
login_filter
Eine obligatorische Filteroption mit einem Benutzernamen-Platzhalter, um genau die gewünschte Benutzerobjekt abzurufen.
Konnektor-Spezifische Einstellungen adaptieren
Jeder Authentifizierungsmechanismus (= Konnektor) kann so konfiguriert werden, dass er die LDAP-Kopplung verwendet, um zusätzliche Benutzerdaten abzurufen. Die Authentifizierung gegen einen Verzeichnisdienst unter Verwendung der LDAP-Kopplung erfolgt jedoch nur, wenn die LDAP-Kopplung für den Standard-Konnektor konfiguriert wird.
Klicken Sie auf der Administratorseite auf der Symbolleiste ganz oben auf dem Bildschirm auf Mehr , und klicken Sie dann auf Authentifizierung.
Bearbeiten Sie den Standard Login Konnektor (Schaltfläche ).
Dieser Abschnitt stellt den Standard-Konnektor dar. Wenn diese Verbindung aktiv ist, wird die Standard-Anmeldeseite angezeigt, auf der der Benutzer seinen Benutzernamen und sein Passwort eingeben kann. Wenn keine LDAP-Kopplung konfiguriert ist, werden diese Anmeldeinformationen verwendet, um den Benutzer gegen die verfügbaren Daten in der Datenbank zu authentifizieren. Wenn eine LDAP-Kopplung konfiguriert ist, werden die angegebenen Anmeldeinformationen für die Authentifizierung des Benutzers gegen den konfigurierten Verzeichnisdienst verwendet.
Im Folgenden sind die Konfigurationsparameter aufgeführt, die angepasst werden müssen.
LDAP Coupling
Mit folgenden Parametern können Sie die LDAP-Kopplung für diesen Konnektor aktivieren und konfigurieren.
ldap (Eigenschaft: enabled)
Legt fest, ob die LDAP-Kopplung für diesen Konnektor aktiviert ist oder nicht. Mögliche Werte sind ”true” oder ”false”.
ldap (Eigenschaft: domains) [optional]
Die Eigenschaft Domains ist ein Array von Kennungen der Domänen, die für die Authentifizierung verwendet werden sollen. Der Name der Domäne muss mit dem Namen einer Domäne übereinstimmen, die in den globalen LDAP-Einstellungen konfiguriert ist. Wenn keine Domäne angegeben ist, versucht ADOIT einen Benutzer nacheinander gegen alle Domänen zu authentifizieren, die in den globalen LDAP-Einstellungen konfiguriert sind.
User Mapping
Mit folgenden Parametern steuern Sie, wie der Authentifizierungsprozess mit Benutzern umgeht, die sich anmelden. Sie können beispielsweise festlegen, ob ein Benutzer erstellt werden soll, falls er noch nicht existiert, oder welche System-Rollen oder Benutzergruppen einem Benutzer zuzuordnen sind. Beispiele sind in der Hilfe Datei enthalten, die Sie von der Administratorseite herunterladen können.
Array "properties" (Eigenschaften: {name, attr})
Mapping von LDAP-Eigenschaften auf Benutzerattribute in ADOIT.
Beispiel"properties": [ { "name": "sn", "attr": "SURNAME" } ]
Der Wert der LDAP-Eigenschaft "sn" wird in ADOIT dem Attribut "SURNAME" zugewiesen.
auto_create_user
Legen Sie fest, ob Benutzer, die sich zum ersten Mal am ADOIT Web-Client anmelden, "on-the-fly" in der ADOIT-Datenbank erzeugt werden. Mögliche Werte sind ”true” oder ”false”.
auto_sync_user (Eigenschaften: enabled etc.)
Legen Sie fest, ob Benutzerdaten entsprechend den vom Verzeichnisdienst abgerufenen Informationen bei jeder Anmeldung und/oder bei jeder periodischen Synchronisation aktualisiert werden sollen. Manuelle Änderungen an den Daten eines Benutzers durch den ADOIT-Administrator werden damit überschrieben.
Welche Benutzerdaten synchronisiert werden, kann in den untergeordneten Eigenschaften dieses Parameters definiert werden:
enabled
Legen Sie fest, ob diese Einstellung aktiviert oder deaktiviert ist. Mögliche Werte sind ”true” oder ”false”.
auto_sync_attributes
Legen Sie fest, ob die Zuordnung von Benutzerattributen bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.
auto_sync_roles
Legen Sie fest, ob die Zuordnung von System-Rollen bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.
auto_sync_groups
Legen Sie fest, ob die Zuordnung von Benutzergruppen bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.
auto_sync_repos
Legen Sie fest, ob die Zuordnung von Repositorys bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.
Die untergeordneten Eigenschaften werden nur ausgewertet, wenn enabled auf "true" gesetzt ist.
user_deletion_handling
Legen Sie in den untergeordneten Eigenschaften dieses Parameters fest, was mit Benutzern passiert, die während der Synchronisation nicht gefunden werden.
deleteNotFoundUsers
Legen Sie fest, ob Benutzer, die während der Synchronisation nicht gefunden werden, gelöscht werden sollen. Mögliche Werte sind ”true” oder ”false”.
moveUndeletableUsersToGroup
Legen Sie fest, ob Benutzer, die während der Synchronisation nicht gelöscht werden können, in eine bestimmte Benutzergruppe verschoben werden sollen. Beachten Sie, dass gleichzeitig userGroupForUndeletableUsers auf den Namen der Benutzergruppe verweisen muss. Ansonsten werden die Benutzer nicht verschoben.
userGroupForUndeletableUsers
Setzen Sie diese Eigenschaft so, dass sie auf den Namen der Benutzergruppe verweist, in die Benutzer verschoben werden, die während der Synchronisation nicht gelöscht werden können. Dieser Parameter wird nur ausgewertet, wenn moveUndeletableUsersToGroup auf "true" gesetzt ist.
mapped_user_handling
Legen Sie in den untergeordneten Eigenschaften dieses Parameters fest, wie authentifizierte Benutzer Alias-Benutzern zugeordnet werden sollen.
mappings [{properties: name, type, match, mappeduser, mapexistingusers [optional]}]
mappings ist ein Array von Objekten, die verwendet werden können, um Fälle festzulegen, in denen bereits authentifizierte Benutzer auf Alias-Benutzer gemappt werden (= als solche behandelt werden). Diese Alias-Benutzer repräsentieren die authentifizierten Benutzer, wenn sie sich am Web-Client anmelden. Beispielsweise können Sie so eine bestimmte Gruppe von Anwendern auf einen Benutzer mappen, der Zugriff auf das Organisationsportal hat.
Ein Array besteht aus einem oder mehreren Mappingobjekten mit den folgenden Eigenschaften: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs) und mappeduser (= der Alias-Benutzer in ADOIT [muss vorhanden sein, vertrautes Login muss aktiviert sein]). mapexistingusers ist eine optionale Eigenschaft, um festzulegen, welche Benutzer betroffen sind. Wenn der Wert auf "true" gesetzt ist, wird der authentifizierte Benutzer immer durch den Alias-Benutzer repräsentiert, wenn das Mapping zutrifft. Wenn der Wert auf "falsch" gesetzt ist, geschieht das nur, wenn der authentifizierte Benutzer noch nicht in der ADOIT-Datenbank existiert und auch nicht erstellt werden kann.
Beispiel"mappings": [ { "name" : "memberOf", "type" : "contains", "match" : "Quality Management", "mappeduser" : "Reader2" }]
Der Wert oder die Werte der Eigenschaft "memberOf" (Eigenschaft mit mehreren Werten) müssen "Quality Management" enthalten, damit der Benutzer auf den Alias-Benutzer "Reader2" gemappt wird.
default_mapping [optional]
Der standardmäßige Alias-Benutzer, auf den Benutzer gemappt werden, falls kein im Array mappings festgelegtes Mapping zutrifft.
Mit den folgenden Parametern legen Sie fest, wie Benutzerdaten für die Zuordnung von System-Rollen, Benutzergruppen und Repositorys verarbeitet werden.
groups [{properties: name, type, match, targettype, targetname, mapexistingusers [optional]}]
groups ist ein Array von Objekten, mit dem ein Mapping von LDAP-Eigenschaften auf Benutzergruppen in ADOIT festgelegt werden kann. Sie können mehrere Mappings zur Verfügung stellen, um einen Benutzer verschiedenen Benutzergruppen zuzuweisen.
Ein Mapping besteht aus folgenden Eigenschaften: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs), targettype muss auf group eingestellt sein, und targetname (= die Benutzergruppe in ADOIT [muss vorhanden sein]). mapexistingusers ist eine optionale Eigenschaft, um festzulegen, welche Benutzer betroffen sind. Wenn der Wert auf "true" gesetzt ist, wird der authentifizierte Benutzer immer durch den Alias-Benutzer repräsentiert, wenn das Mapping zutrifft. Wenn der Wert auf "falsch" gesetzt ist, geschieht das nur, wenn der authentifizierte Benutzer noch nicht in der ADOIT-Datenbank existiert und auch nicht erstellt werden kann.
Beispiel"groups": [ { "name": "claim_group", "type": "contains", "match": "Designer", "targetType": "group", "targetName": "Designer", } ]
Der Wert oder die Werte der Eigenschaft "claim_group" (Eigenschaft mit mehreren Werten) müssen "Designer" enthalten, damit der Benutzer zur Benutzergruppe "Designer" zugeordnet wird.
HinweisUm die Sprache der Benutzergruppennamen zu definieren, wählen Sie die gewünschte Sprache über die Schaltfläche Sprache auf der Seite Authentifizierung aus.
roles [{properties: name, type, match, targettype, targetname, mapexistingusers [optional], mfbID [optional])
roles ist ein Array von Objekten, mit dem ein Mapping von LDAP-Eigenschaften auf System-Rollen in ADOIT festgelegt werden kann. Sie können mehrere Mappings zur Verfügung stellen, um einen Benutzer verschiedenen System-Rollen zuzuweisen.
Ein Mapping besteht aus folgenden Eigenschaften: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs), targettype muss auf roles eingestellt sein, und targetname (= der sprachunabhängige Name der System-Rolle in ADOIT [muss vorhanden sein]). mapexistingusers ist eine optionale Eigenschaft, um festzulegen, welche Benutzer betroffen sind. Wenn der Wert auf "true" gesetzt ist, wird der authentifizierte Benutzer immer durch den Alias-Benutzer repräsentiert, wenn das Mapping zutrifft. Wenn der Wert auf "falsch" gesetzt ist, geschieht das nur, wenn der authentifizierte Benutzer noch nicht in der ADOIT-Datenbank existiert und auch nicht erstellt werden kann.
Um Rollen für den EA-Workflow an Benutzer zuzuweisen, müssen Sie zusätzlich die Eigenschaft mfbID="{63868638-23DC-482A-95E1-CA20A445F306}" definieren.
default_groups [optional]
default_groups ist ein Array von Strings, welche standardmäßige Benutzergruppe definieren, denen die Benutzer zugewiesen werden sollen, falls keine der über das Array groups definierten Mappings zutrifft. Wenn diese Gruppe nicht vorhanden ist, werden die Benutzer der Standardgruppe zugeordnet.
HinweisUm die Sprache der Benutzergruppennamen zu definieren, wählen Sie die gewünschte Sprache über die Schaltfläche Sprache auf der Seite Authentifizierung aus.
default_roles [optional] {properties: name, mfbID}
default_roles ist ein Array von Strings, welche die standardmäßigen System-Rolle definieren, falls keine der über das Array roles definierten Mappings zutrifft. Definieren Sie eine beliebige Anzahl von Objekten.
name repräsentiert die Eigenschaft aus dem Verzeichnisdienst.
Um Rollen für den EA-Workflow an Benutzer zuzuweisen, müssen Sie zusätzlich die Eigenschaft mfbID="{63868638-23DC-482A-95E1-CA20A445F306}" definieren.
repositories [{Eigenschaften: name, type, match, targettype, targetName, additionalConfig {object-group} [optional]}]
repositories ist ein Array von Objekten, mit dem Sie Benutzer einem spezifischen Repository zuweisen können. Definieren Sie eine beliebige Anzahl von Objekten, um einen Benutzer verschiedenen Repositorys zuzuweisen. Wenn kein Repository konfiguriert ist, werden die Nutzer allen Repositorys zugewiesen. Außerdem können Sie eine Objektgruppe pro Repository festlegen, in der sich die zugewiesenen Benutzerobjekte befinden sollen.
Für eine statische Zuweisung muss targettype auf repository eingestellt sein und die Eigenschaft targetName (= die ID eines Repositorys) definiert sein. Benutzer werden einem spezifischen Repository zugewiesen, ohne dass eine Vorbedingung erfüllt sein muss.
Eine dynamische Zuweisung ist möglich, indem LDAP-Eigenschaften auf Repositorys gemappt werden. Eine solches Mapping besteht aus folgenden Attributen: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs), targettype muss auf repository eingestellt sein, und targetName ist die ID eines Repositorys.
HinweisUm die ID eines Repositorys herauszufinden, nutzen Sie die Funktionalität ID in die Zwischenablage kopieren im Administrations-Toolkit. Wenn Sie pro Repository eine Objektgruppe für die Benutzerobjekte festlegen wollen, wenden Sie sich bitte an Ihren ADOIT-Kundenbetreuer.
Constraints
Sie können die Anwendbarkeit und die Verfügbarkeit eines Konnektors beschränken und z.B. nur bestimmte Konnektoren für Anfragen von bestimmten IP-Adressen zulassen.
constraint [{properties: type, mode, logic [optional], values}]
Alle Constraints müssen vom Typ client-ip sein. Wenn eine Client-IP dem angegebenen Muster entspricht, wird der Konnektor entweder angewendet oder nicht (abhängig von der verwendeten Logik). Für den Typ client-ip können zwei verschiedene Modi definiert werden: match oder subnet. values ist ein Array von Strings, die bestimmte IP-Adressen darstellen.
Authentifizierung von Benutzern starten
Sobald die Änderungen auf der Administratorseite gespeichert werden, werden sie sofort wirksam. Ein Neustart ist nicht erforderlich.
Alle Benutzer, die sich an der oder den konfigurierten Domäne(n) anmelden können, sollten sich jetzt auch am ADOIT Web-Client anmelden können. Wenn Benutzer noch nicht in ADOIT vorhanden sind, werden sie dort erzeugt. Anhand des Mappings in der Konfiguration werden sie entsprechenden System-Rollen/Benutzergruppen zugewiesen.
(Optional) Fehlersuche
Fehler werden in den Dateien ”<Tomcat Installation>/logs/ADOIT12_0.log” und ”<ADOIT Installation/*_aworker.log>” geloggt.