Benutzerverzeichnis LDAP und SSO 

Grundlagen

Die Verwaltung der Authentifizierungen und Zugriffe auf die in SAFE-X3-Technologie geschriebenen Lösungen basiert auf zwei sich ergänzenden Prinzipien:

1) zentrale Haltung der Authentifizierungsdaten

Um die Authentifizierung der Benutzer in den in SAFE-X3-Technologie geschriebenen Softwarepaketen an zentraler Stelle zu verwalten, können manche Daten in einem Verzeichnis gespeichert werden LDAP ( Lightweight Directory Access Protocol). Diese zentrale Datenhaltung ist unabhängig vom Verbindungstyp möglich.

2) Single Sign-on (SSO)

Benutzer, die sich von ihrem Windows-Arbeitsplatz aus verbinden, können als bereits authentifiziert betrachtet werden (sie haben bereits ihr Passwort erfasst). Bei den nächsten Verbindungen an SAFE X3 ist dann keine weitere Authentifizierung mit Benutzercode und Passwort mehr möglich.

Diese Art der einmaligen Authentifizierung wird als SSO (Single Sign-on) bezeichnet.

Begrenzungen

SSO funktioniert derzeit in zwei Fällen:

Diese Funktionalitäten können mithilfe einer Reihe von Parametern in Sage X3 implementiert werden.

Zusammenfassung Verbindungsprozess

Wenn die entsprechenden, in den folgenden Absätzen beschriebenen Parameter definiert wurden, entspricht der Verbindungsprozess, wie er hier beschrieben ist, dem Verhalten im Client-Server-Modus.
Die verschiedenen Schritten laufen wie folgt ab:

1 - Der Benutzer authentifiziert sich (z. B. unter Windows mit einem Konto wie "john_doe"; im Webmodus, weil die NTLM-Schicht das Konto zurückgibt).

2 - Der Benutzer öffnet per Doppelklick auf das Startsymbol (oder über einen Web-Link) eine SAFE-X3-Sitzung. Im Client-Server-Modus öffnet sich das Verbindungsfenster (mindestens beim ersten Mal: Per Aktivierung des Kontrollkästchens "diese Parameter bei der nächsten Verbindung verwenden" lässt sich die Anzeige der Verbindungsbox in der Folge unterbinden. Diese wird dann nur noch angezeigt, wenn während des Startvorgangs die Umschalt-Taste gedrückt wird.

3 - Im Client-Server-Modus erfasst der Benutzer den Benutzercode, der im Softwarepaket bekannt ist. Dabei kann es sich beispielsweise um JOHN, DOE, ADMIN oder einen sonstigen Code handeln. Bei SSO muss der Code JOHN_DOE lauten.

4 - Vom Softwarepaket wird geprüft, ob JOHN_DOE in der Benutzertabelle vorhanden ist (ausgewertet wird dabei das in der Benutzertabelle definierte Feld Login). Dieser Code kann beispielsweise dem Benutzercode JOHND entsprechen. In denjenigen Tabellen, in denen der Datentyp AUS verwendet wird, wird der (maximal fünfstellige) Code JOHND gespeichert.

5 - Wenn SSO aktiviert ist und der (dem ursprünglichen Benutzername entsprechende) Code JOHN_DOE erfasst wurde, entfällt die Passwortprüfung (wenn der Benutzercode nicht dem System-Benutzernnamen entspricht, kann die Anmeldung nicht durchgeführt werden).

6) Das System greift dann auf das Feld Active-Directory-Referenz des Benutzers zurück, um das zentral gehaltene Verzeichnis abzufragen (LDAP, Active directory... gemäß den übergebenen allgemeinen Verbindungsparametern). Dort werden eine Reihe von Rückgabewerten ermittelt (Feldwerte der Benutzertabelle, Benutzerparameterwerte). Änderungen an diesen Werten im Verzeichnis (welches als Referenz dient) werden im Softwarepaket nachgezogen.

Parametereschreibung

Parameterwerte auf Ordnerebene

Um das Benutzerverzeichnis zu verwenden, müssen auf Ordnerebene folgende Parameterwerte gesetzt werden.

SSO-Verbindung

Mit dem Parameterwert SSOCONNECT wird die X3-Funktion SSO/LDAP aktiviert (d. h. die Verbindung zum zentral gehaltenen Verzeichnis).

Der Parameter kann folgende Werte annehmen:

  • Nein: Die SSO/LDAP-Verbindung ist inaktiv
  • Interaktiv:Die SSO/LDAP-Verbindung ist nur in den interaktiven Modi (C/S und Web) aktiv
  • Interaktiv und Webservice: Die SSO/LDAP-Verbindung ist im interaktiven Modus aktiv, und dies gilt ebenfalls für die Webservices
Verzeichniscode

Wenn der Parameter SSOCONNECT aktiv ist, enthält der Parameter SSODIRECT den Verzeichniscode. Er referenziert die Tabelle, in der die möglichen Verzeichnisse und Verbindungen definiert sind.

Aktualisierung des verbundenen Benutzers

Mit dem Parameter SSOMAJ (Ja / Nein) wird festgelegt, ob bei jeder Verbindung des Benutzers mit X3 die Benutzerdaten und Benutzerparameterwerte aktualisiert werden sollen.

Wenn der Parameterwert Nein lautet und die anderen Parameter aktiv sind, prüft das System, ob der Benutzer im Verzeichnis vorhanden ist, ohne dass bei jeder Verbindung aufs Neue die Parameter und Benutzerwerte aktualisiert werden müssen. Die Aktualisierung kann mit der Aufgabe ASSOMAJ im Batch erfolgen. Diese Aufgabe muss abonniert werden.

Prüfung SSO-Passwort

Mit dem Parameterwert SSOPASSWD (Ja/Nein) kann die Prüfung (und damit die Erfassung) des Passworts im Client-Server-Modus erzwungen werden, auch wenn der in der Verbindungsbox erfasste Benutzercode dem Windows-Benutzernamen des Benutzers entspricht.

Im Webmodus wird die Prüfung systematisch durchgeführt.

Parameterwerte auf Benutzerebene

Ein einziger Parameter kann auf Benutzerebene geändert werden.

Domain

Ist der Parameterwert SSODOMAIN nicht leer, kann so die Verbindungsmöglichkeit eines Benutzers ab der gegebenen Domäne eingeschränkt werden. Ist er leer, erfolgt nur die Prüfung des Benutzercodes und nicht die Prüfung der Domäne.

Referenz für die Benutzeraktualisierung

Die Daten aus einem LDAP-Verzeichnis werden grafisch in einer Baumstruktur dargestellt.
Jeder Knoten steht für ein abstraktes oder ein reales Objekt (Person, Personengruppe, Drucker, Parameter etc.).
Mit dem DN (Distinguished Name) können Objekte eindeutig in der Hierarchie identifiziert werden.
Diese erste Id wird in den Benutzerdaten im Feld AUTILIS.ADDNAM gespeichert.

SEEINFO Bei der zweiten im Verzeichnis parametrierten Id handelt es sich im Prinzip um das Login.

Im Folgenden wird ein Beispiel für eine LDAP-Baumstruktur gegeben. Hinweise: Die Hierarchien können frei definiert werden. Ein solches Verzeichnis kann Benutzer, Gruppen und Ressourcen (wie z. B. Drucker) enthalten. Zum Abfragen einer solchen Baumstruktur wird eine Suchwurzel angegeben. Danach werden der Knoten selbst sowie entweder die ihm direkt untergeordneten Knoten oder der gesamte Baum ab der angegebenen Wurzel durchsucht. Ausgangsknoten und Art der Datensuche werden in den Verzeichnisparametern vorgegeben.

./LDAP_schema.jpg

Verbindungsprinzip

Annahme: SSO ist aktiv, und ein X3-Benutzer verbindet sich zum ersten Mal mit SAFE X3.

Beim Verbindungsaufbau prüft die X3-Anwendung, ob der erfasste Benutzername im Verzeichnis referenziert wird. Ist dies der Fall, wird der im Feld ADDNAM der Benutzertabelle AUTILIS aktualisierte DN (Distinguished Name) übernommen.

Ist der Parameter SSOMAJ auf Ja gesetzt, werden alle gemappten Felder in den Benutzerdaten und den X3-Parameterwerten aktualisiert.

Funktion Benutzerverzeichnis

Zugriff auf den LDAP-Server

Mit der Funktion "Verzeichnis" kann die Konfiguration definiert werden, für die die X3-Anwendung die LDAP-Verzeichnisdaten lesen kann.

Feldmapping

Es wird eine Entsprechung zwischen den Feldern der Benutzertabelle, der Tabelle der Benutzerparameterwerte und den LDAP-Verzeichnisfeldern hergestellt.

Zusatzfunktionen im Batch

Mit der Aufgabe ASSOMAJ können die Benutzer gemäß LDAP-Verzeichnis aktualisiert werden.

SEEWARNING Die Aktualisierung erstreckt sich dabei nur auf die diejenigen Benutzer, die bereits in der AUTILIS-Tabelle vorhanden sind; das Werkzeug legt beim Lesen der LDAP-Verzeichnisdaten in keinem Fall neue Benutzer an.

Die Verbindung wird über den DN (Distinguished Name) hergestellt, sofern dieser bereits in der Benutzertabelle erfasst wurde. Sonst wird der DN mit der zweiten parametrierten Id (in der Regel Benutzername) gesucht.

Verbindungsprozess im Detail

Im nachstehenden Schema werden die verschiedenen Verbindungsmöglichkeiten, Prozeduren und entsprechenden Prüfungen ausführlich beschrieben.

./connection_fra.jpg