2.10. Benutzerauthentifizierung und Administratorpasswort

Informationen über die Einrichtung der Benutzerauthentifizierung, über die Verwaltung von Gruppen und weitere Einstellungen

2.10.1. Grundlagen zur Benutzerauthentifizierung

kivitendo verwaltet die Benutzerinformationen in einer Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt wird. Für jeden Benutzer kann dort eine eigene Datenbank für die eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen aber nicht unterschiedlich sein.

Im einfachsten Fall gibt es für kivitendo nur eine einzige Datenbank, in der sowohl die Benutzerinformationen als auch die Daten abgelegt werden.

Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter gegen die Authentifizierungsdatenbank oder gegen einen oder mehrere LDAP-Server überprüft werden.

Welche Art der Passwortüberprüfung kivitendo benutzt und wie kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der Konfigurationsdatei config/kivitendo.conf festgelegt. Diese muss bei der Installation und bei einem Upgrade von einer Version vor v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei config/kivitendo.conf.default existiert, die als Vorlage benutzt werden kann.

2.10.2. Administratorpasswort

Das Passwort, das zum Zugriff auf das Administrationsinterface von kivitendo benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort und nicht mehr im Administrationsinterface selber geändert werden. Der Parameter dazu heißt admin_password im Abschnitt [authentication].

2.10.3. Authentifizierungsdatenbank

Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern in [authentication/database] konfiguriert. Hier sind die folgenden Parameter anzugeben:

host

Der Rechnername oder die IP-Adresse des Datenbankservers

port

Die Portnummer des Datenbankservers, meist 5432

db

Der Name der Authentifizierungsdatenbank

user

Der Benutzername, mit dem sich kivitendo beim Datenbankserver anmeldet (z.B. "postgres")

password

Das Passwort für den Datenbankbenutzer

Die Datenbank muss noch nicht existieren. kivitendo kann sie automatisch anlegen (mehr dazu siehe unten).

2.10.4. Passwortüberprüfung

kivitendo unterstützt Passwortüberprüfung auf zwei Arten: gegen die Authentifizierungsdatenbank und gegen externe LDAP- oder Active-Directory-Server. Welche davon benutzt wird, regelt der Parameter module im Abschnitt [authentication].

Dieser Parameter listet die zu verwendenden Authentifizierungsmodule auf. Es muss mindestens ein Modul angegeben werden, es können aber auch mehrere angegeben werden. Weiterhin ist es möglich, das LDAP-Modul mehrfach zu verwenden und für jede Verwendung eine unterschiedliche Konfiguration zu nutzen, z.B. um einen Fallback-Server anzugeben, der benutzt wird, sofern der Hauptserver nicht erreichbar ist.

Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank geprüft werden, so muss der Parameter module das Modul DB enthalten. Sofern das Modul in der Liste enthalten ist, egal an welcher Position, können sowohl der Administrator als auch die Benutzer selber ihre Passwörter in kivitendo ändern.

Wenn Passwörter gegen einen oder mehrere externe LDAP- oder Active-Directory-Server geprüft werden, so muss der Parameter module den Wert LDAP enthalten. In diesem Fall müssen zusätzliche Informationen über den LDAP-Server im Abschnitt [authentication/ldap] angegeben werden. Das Modul kann auch mehrfach angegeben werden, wobei jedes Modul eine eigene Konfiguration bekommen sollte. Der Name der Konfiguration wird dabei mit einem Doppelpunkt getrennt an den Modulnamen angehängt (LDAP:Name-der-Konfiguration). Der entsprechende Abschnitt in der Konfigurationsdatei lautet dann [authentication/Name-der-Konfiguration].

Die verfügbaren Parameter für die LDAP-Konfiguration lauten:

host

Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.

port

Die Portnummer des LDAP-Servers; meist 389.

tls

Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf ‘1’ setzen, andernfalls auf ‘0’ belassen

verify

Wenn Verbindungsverschlüsselung gewünscht und der Parameter tls gesetzt ist, so gibt dieser Parameter an, ob das Serverzertifikat auf Gültigkeit geprüft wird. Mögliche Werte sind require (Zertifikat wird überprüft und muss gültig sei; dies ist der Standard) und none (Zertifikat wird nicht überpfüft).

attribute

Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server ist dies meist ‘sAMAccountName’, für andere LDAP-Server hingegen ‘uid’. Diese Angabe ist zwingend erforderlich.

base_dn

Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.

filter

Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort <%login%>, so wird dieses durch den vom Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben angegebene Attribut mit dem Benutzernamen identisch ist.

bind_dn und bind_password

Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei Active-Directory-Servern der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als ‘bind_dn’ entweder eine komplette LDAP-DN wie z.B. ‘cn=Martin Mustermann,cn=Users,dc=firmendomain’ auch nur der volle Name des Benutzers eingegeben werden; in diesem Beispiel also ‘Martin Mustermann’.

timeout

Timeout beim Verbindungsversuch, bevor der Server als nicht erreichbar gilt; Standardwert: 10

2.10.5. Name des Session-Cookies

Sollen auf einem Server mehrere kivitendo-Installationen aufgesetzt werden, so müssen die Namen der Session-Cookies für alle Installationen unterschiedlich sein. Der Name des Cookies wird mit dem Parameter cookie_name im Abschnitt [authentication]gesetzt.

Diese Angabe ist optional, wenn nur eine Installation auf dem Server existiert.

2.10.6. Anlegen der Authentifizierungsdatenbank

Nachdem alle Einstellungen in config/kivitendo.conf vorgenommen wurden, muss kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter der folgenden URL erreichbar sein sollte:

http://localhost/kivitendo-erp/controller.pl?action=Admin/login