6.5. Benutzer Selbstverwaltung#

Informationen zum Festlegen einer Benutzer-Passwortrichtlinie finden Sie unter Verwaltung der Benutzerpasswörter.

6.5.1. Passwortwechsel über UCS Portal#

Jeder angemeldete Benutzer kann sein eigenes Passwort ändern, indem er das Menü in der oberen rechten Ecke öffnet und Benutzereinstellungen ‣ Passwort ändern auswählt. Die Änderung wird dann direkt über den PAM-Stack (siehe Authentifizierung / PAM) durchgeführt und ist danach zentral für alle Dienste verfügbar.

6.5.2. Passwort-Verwaltung über Self Service App#

Durch die Installation der UCS-Komponenten Self Service Backend auf dem UCS Primary Directory Node und Self Service in der Domäne über das App Center werden Benutzer dazu befähigt, ihr Passwort ohne die Interaktion mit einem Administrator zu verwalten.

Die Self Service App erzeugt ein eigenes Portal, das unter /univention/selfservice/ aufgerufen werden kann und alle Funktionen über entsprechende Einträge zur Verfügung stellt. Es werden aber auch im eigentlichen Portal verschiedene Menüeinträge im Benutzermenü registriert. Sie erlauben es Benutzern, unter Angabe ihres alten Passworts ein neues Passwort zu setzen, oder aber ihr vergessenes Passwort zurückzusetzen. Für das Zurücksetzen des Passworts wird ein Token an eine vorher dafür registrierte Kontakt-E-Mail-Adresse gesendet, das dann auf der Webseite vom Benutzer einzugeben ist.

Mit den folgenden Univention Configuration Registry Variablen können einzelne Funktionen der Passwort-Verwaltung aktiviert oder deaktiviert werden.

umc/self-service/passwordreset/backend/enabled#

Aktiviert oder deaktiviert die Backend-Funktionalität der Passwort vergessen-Seite. Diese Univention Configuration Registry muss auf dem Self Service Backend gesetzt werden, das über die Univention Configuration Registry Variable self-service/backend-server definiert ist, da Anfragen bezüglich dieser Variablen an das Self Service Backend weitergeleitet werden.

umc/self-service/protect-account/backend/enabled#

Aktiviert oder deaktiviert die Backend-Funktionalität der Kontozugang schützen-Seite. Diese Univention Configuration Registry muss auf dem Self Service Backend gesetzt werden, das über die Univention Configuration Registry Variable self-service/backend-server definiert ist, da Anfragen bezüglich dieser Variablen an das Self Service Backend weitergeleitet werden.

umc/self-service/service-specific-passwords/backend/enabled#

Aktiviert oder deaktiviert die Backend-Funktionalität für dienst-spezifische Passwörter. Momentan wird nur RADIUS als Dienst unterstützt. Weitere Informationen finden sich in Dienst-spezifisches Passwort.

Die entsprechenden Einträge im Portal werden damit auch aktiviert oder deaktiviert. Sie können die Einträge aber auch manuell anpassen. Sie verhalten sich wie normale Einträge im Portal.

6.5.3. Profilverwaltung#

Am Benutzerkonto im LDAP-Verzeichnisdienst können weitere personenbezogene Daten gespeichert werden. Dies beinhaltet u.a. ein Bild, private Adressen und weitere Kontaktinformationen. Standardmäßig können diese nur von Administratoren aktualisiert werden. Alternativ können aber auch ausgewählte Felder für den Benutzer selber freigeschaltet werden. Der kann diese Daten über die Self Service App selber pflegen.

Benutzerprofilselbstverwaltung

Abb. 6.8 Benutzerprofilselbstverwaltung#

Dafür müssen folgende Univention Configuration Registry Variablen konfiguriert werden:

self-service/ldap_attributes#

Über diese Variable werden die LDAP Attribute konfiguriert, die ein Benutzer selber an seinem Benutzerkonto modifizieren kann. Die Namen der Attribute sind durch Komma zu trennen. Diese Variable ist auf dem Primary Directory Node (und Backup Directory Nodes) zu setzen.

self-service/udm_attributes#

Über diese Variable werden die UDM Attribute konfiguriert, die ein Benutzer modifizieren kann. Die Namen der Attribute sind durch Komma zu trennen. Diese Variable ist auf allen beteiligten Server-Systemen zu setzen, auf denen die Self Service App installiert ist (ebenso auf dem Primary Directory Node).

self-service/udm_attributes/read-only#

Diese Variable setzt UDM Attribute, welche in Univention Configuration Registry Variable self-service/udm_attributes gesetzt sind, auf schreibgeschützt. Trennen Sie mehrere Werte durch Kommata. Setzen Sie diese Variable auf allen Hosts, auf denen die Self Service App installiert ist, einschließlich Primary Directory Node.

Entfernen Sie die LDAP Attribute, welche in Univention Configuration Registry Variable self-service/ldap_attributes gesetzt sind und schreibgeschützt werden sollen, damit diese Variable wie vorgesehen funktioniert. Andernfalls werden diese LDAP Attribute verhindern, dass die in dieser Variable angegebenen UDM Attribute schreibgeschützt werden.

umc/self-service/profiledata/enabled#

Diese Variable muss auf allen beteiligten Server-Systemen auf true gesetzt werden, um den Mechanismus zu aktivieren.

umc/self-service/allow-authenticated-use#

Diese Variable definiert, ob beim Öffnen und Modifizieren des eigenen Benutzerprofils die Angabe von Benutzername und Passwort notwendig ist, wenn man bereits am Univention Portal angemeldet ist.

Ab UCS 4.4-7 wird diese Univention Configuration Registry Variable bei Erstinstallationen des Self Service automatisch auf true gesetzt, was die Verwendung einer vorhandenen Portalsitzung aktiviert. Die Felder Benutzername und Passwort werden dann automatisch ausgefüllt oder nicht mehr angezeigt.

Systeme, die auf UCS 4.4-7 aktualisiert werden, behalten die alte Verhaltensweise bei, indem automatisch der Wert auf false gesetzt wird. Es ist zu beachten, dass diese Variable auf allen beteiligen Systemen inklusive Primary Directory Node auf den gleichen Wert gesetzt sein muss.

Beide *attributes Variablen müssen zueinander passen. Die Namen der Attribute und deren Zuordnung kann man über folgenden Aufruf erhalten:

$ python3 -c 'from univention.admin.handlers.users.user import mapping;\
  print("\n".join( \
  map("{0[0]:>30s} {0[1][0]:<30s}".format, sorted(mapping._map.items()))) \
  )'

6.5.4. Selbstregistrierung#

Der Self Service ermöglicht es Benutzern, sich selbst zu registrieren, wodurch ein Benutzerkonto erstellt wird, das per E-Mail verifiziert werden muss.

Bei Benutzerkonten, die über den Self Service erstellt werden, wird das RegisteredThroughSelfService Attribut des Benutzers auf TRUE und das PasswordRecoveryEmailVerified Attribut auf FALSE gesetzt. Nachdem der Benutzer sein Konto über die Verifizierungsmail verifiziert hat, wird das PasswordRecoveryEmailVerified Attribut auf TRUE gesetzt.

6.5.4.1. Kontoerstellung#

Selbstregistrierung

Abb. 6.9 Selbstregistrierung#

Aspekte der Konto erstellen Seite und der Kontoerstellung selbst können mit den folgenden Univention Configuration Registry Variablen konfiguriert werden. Diese Variablen müssen auf dem Self Service Backend gesetzt werden, das über die Univention Configuration Registry Variable self-service/backend-server definiert ist, da Anfragen bezüglich dieser Variablen an das Self Service Backend weitergeleitet werden.

umc/self-service/account-registration/backend/enabled#

Mit dieser Variable kann die Selbstregistrierung deaktiviert/aktiviert werden.

umc/self-service/account-registration/usertemplate#

Mit dieser Variable kann eine Benutzervorlage angegeben werden, die für die Erstellung von selbst registrierten Konten verwendet wird.

umc/self-service/account-registration/usercontainer#

Mit dieser Variable kann ein Container angegeben werden, unter dem die selbst registrierten Benutzer angelegt werden.

umc/self-service/account-registration/udm_attributes#

Diese Variable konfiguriert, welche UDM-Attribute eines Benutzerkontos auf der Seite Konto erstellen des Self Service angezeigt werden. Die Namen der UDM-Attribute müssen als kommaseparierte Liste angegeben werden.

umc/self-service/account-registration/udm_attributes/required#

Diese Variable konfiguriert, welche der über die Univention Configuration Registry Variable umc/self-service/account-registration/udm_attributes definierten UDM-Attribute vom Benutzer angegeben werden müssen. Die Namen der UDM-Attribute müssen als kommaseparierte Liste angegeben werden.

6.5.4.2. Verifizierungsmail#

Nachdem ein Benutzer auf Konto erstellen geklickt hat, sieht er eine Nachricht, dass eine E-Mail für die Kontoverifizierung versendet wurde.

Senden der Verifizierungsmail

Abb. 6.10 Senden der Verifizierungsmail#

Aspekte der Verifizierungsmail und des Verifizierungstokens können über die folgenden Univention Configuration Registry Variablen konfiguriert werden. Diese Variablen müssen auf dem Self Service Backend gesetzt werden, der über die Univention Configuration Registry Variable self-service/backend-server definiert ist, da Anfragen bezüglich dieser Variablen an den Self Service Backend weitergeleitet werden.

umc/self-service/account-verification/email/webserver_address#

Definiert den host Teil, der in dem Verifizierungslink verwendet werden soll. Standardmäßig wird der FQDN des über die Univention Configuration Registry Variable self-service/backend-server definierten Self Service Backend verwendet, da diese Univention Configuration Registry Variable dort ausgewertet wird.

umc/self-service/account-verification/email/sender_address#

Definiert die Absenderadresse der Verifizierungsmail. Die Voreinstellung ist Account Verification Service <noreply@FQDN>.

umc/self-service/account-verification/email/server#

Servername oder IP-Adresse des zu verwendenden Mail-Servers.

umc/self-service/account-verification/email/text_file#

Ein Pfad zu einer Textdatei, deren Inhalt für den Körper der Verifizierungsmail verwendet wird. Der Text kann die folgenden Zeichenfolgen enthalten, die entsprechend ersetzt werden: {link}, {token}, {tokenlink} und {username}. Als Standard wird die Datei /usr/share/univention-self-service/email_bodies/verification_email_body.txt verwendet.

umc/self-service/account-verification/email/token_length#

Definiert die Anzahl der Zeichen, die für den Verifizierungstoken verwendet wird. Als Standard werden 64 Zeichen verwendet.

6.5.4.3. Kontoverifizierung#

Wenn der Benutzer dem Verifizierungslink aus der E-Mail folgt, gelangt er auf die Seite Kontoverifizierung des Self Service.

Kontoverifizierung

Abb. 6.11 Kontoverifizierung#

Die Kontoverifizierung und die Anforderung neuer Verifizierungstoken kann mit der Univention Configuration Registry Variable umc/self-service/account-verification/backend/enabled deaktiviert/aktiviert werden. Diese Variablen muss auf dem Self Service Backend gesetzt werden, das über die Univention Configuration Registry Variable self-service/backend-server definiert ist.

Kontoverifizierung

Abb. 6.12 Kontoverifizierung#

Der SSO Login kann konfiguriert werden, die Anmeldung für unverifizierte, selbst registrierte Konten zu verbieten. Dies wird über die Univention Configuration Registry Variable saml/idp/selfservice/check_email_verification konfiguriert. Diese Einstellung muss auf dem Primary Directory Node und allen Backup Directory Nodes vorgenommen werden. Für Konten, die durch einen Administrator angelegt wurden, hat diese Einstellung keine Auswirkung.

Die Nachricht, welche auf der SSO Login Seite für unverifizierte, selbst registrierte Konten angezeigt wird, kann mit den Univention Configuration Registry Variablen saml/idp/selfservice/account-verification/error-title und saml/idp/selfservice/account-verification/error-descr konfiguriert werden. Eine lokalisierte Nachricht kann konfiguriert werden, indem eine Locale wie z.B. de an die Variable angehängt wird. Z.B. saml/idp/selfservice/account-verification/error-title/de.

Falls die Keycloak App als Identity Provider eingesetzt wird,schauen Sie bitte in der Univention Keycloak app documentation [4] unter Settings für die entsprechenden Einstellungen.

6.5.5. Selbst-Deregistrierung#

Der Self Service ermöglicht es Benutzern, die Löschung ihres eigenen Kontos zu beantragen. Diese Funktion kann mit der Univention Configuration Registry Variable umc/self-service/account-deregistration/enabled aktiviert werden, wodurch der Button Meinen Account löschen auf der Seite Ihr Profil des Self Service angezeigt wird (Benutzervorlagen).

Wenn ein Benutzer beantragt hat, sein Konto zu löschen, wird es nicht direkt gelöscht sondern deaktiviert. Zusätzlich wird das DeregistredThroughSelfService Attribut des Benutzers auf TRUE gesetzt und das DeregistrationTimestamp Attribut des Benutzers wird in der GeneralizedTime-LDAP-Syntax auf die aktuelle Zeit gesetzt. Wenn der Benutzer eine PasswordRecoveryEmail angegeben hat, wird er eine E-Mail-Benachrichtigung erhalten, die mit den folgenden Univention Configuration Registry Variablen konfiguriert werden kann.

umc/self-service/account-deregistration/email/sender_address#

Definiert die E-Mail-Adresse des Absenders für Benachrichtigung. Die Voreinstellung ist Password Reset Service <noreply@FQDN>.

umc/self-service/account-deregistration/email/server#

Servername oder IP-Adresse des zu verwendenden Mail-Servers.

umc/self-service/account-deregistration/email/text_file#

Ein Pfad zu einer Textdatei, deren Inhalt für den Körper der E-Mail verwendet wird. Der Text kann die folgenden Zeichenfolgen enthalten, die entsprechend ersetzt werden: {username}. Als Standard wird die Datei /usr/share/univention-self-service/email_bodies/deregistration_notification_email_body.txt verwendet.

Der Self Service stellt unter /usr/share/univention-self-service/delete_deregistered_accounts.py ein Skript zur Verfügung, das zum Löschen aller users/user Objekte verwendet werden kann, bei denen DeregistredThroughSelfService auf TRUE gesetzt ist und deren DeregistrationTimestamp älter ist als eine angegebene Zeit.

Der folgende Befehl würde Benutzer löschen, deren DeregistrationTimestamp älter als 5 Tage und 2 Stunden ist:

$ /usr/share/univention-self-service/delete_deregistered_accounts.py \
  --timedelta-days 5 \
  --timedelta-hours 2

Für alle möglichen Argumente zum Skript siehe:

$ /usr/share/univention-self-service/delete_deregistered_accounts.py --help

Das Skript kann regelmäßig ausgeführt werden, indem ein Cron-Job über Univention Configuration Registry erstellt wird.

$ ucr set cron/delete_deregistered_accounts/command=\
/usr/share/univention-self-service/delete_deregistered_accounts.py\
' --timedelta-days 30'\
  cron/delete_deregistered_accounts/time='00 06 * * *'  # daily at 06:00

Weitere Informationen über die Einstellung von Cron-Jobs über UCR können in Definition eigener Cron-Jobs in Univention Configuration Registry gefunden werden.