4.2. Anmelden#

UCS stellt eine zentrale Anmeldeseite zur Verfügung. Sie können sich an der UCS Web-Oberfläche mit den Anmeldedaten des jeweiligen Domänenkontos anmelden. Auf dem Portal unter https://FQDN/univention/portal/ können Sie sich auf folgende Weise anmelden:

  • Klicken Sie auf die Kachel Login auf der Portalseite.

  • Gehen Sie zu Menu ‣ Login.

Das öffnet die Anmeldeseite wie in Abb. 4.2 gezeigt.

UCS Anmeldeseite

Abb. 4.2 UCS Anmeldeseite#

Wenn eine Seite im UCS Managementsystem, z. B. ein UMC-Modul, eine Anmeldung erfordert, leitet Ihr Browser Sie zur zentralen Anmeldeseite weiter.

Wenn Sie sich am lokalen UCS-System anmelden, wird die Sitzung im Browser standardmäßig nach 8 Stunden Inaktivität geschlossen. Sie können den Timeout über die UCR-Variable umc/http/session/timeout ändern. Um eine neue Sitzung zu erhalten, muss sich der Benutzer erneut anmelden.

Um sich aus vom UCS Managementsystem abzumelden, klicken Sie im Benutzermenü auf Abmelden.

Durch die Installation einer Anwendung von Drittanbietern, wie z. B. privacyIDEA, ist es möglich, die UCS Web-Oberfläche-Authentifizierung um eine Zwei-Faktor-Authentifizierung (2FA) zu erweitern.

4.2.1. Portal Tabs bei Abmeldung aktualisieren#

Alle Browser Tabs, in denen der Benutzer im Portal eingeloggt ist, werden automatisch aktualisiert, wenn eine Abmeldung erkannt wird. Diese Funktion ist standardmäßig deaktiviert und kann über die UCR-Variable portal/reload-tabs-on-logout umgeschaltet werden.

4.2.2. Wählen Sie das richtige Benutzerkonto#

Um sich anzumelden, geben Sie in der Anmeldemaske den Benutzernamen und das Passwort des entsprechenden Domänenkontos ein.

Administrator

Wenn Sie sich mit dem Konto Administrator auf einem Primary Directory Node oder Backup Directory Node anmelden, zeigt das UCS-Managementsystem die UMC-Module für die Verwaltung und Konfiguration des lokalen Systems, sowie die UMC-Module für die Verwaltung der Daten in der Domäne an.

Sie haben das initiale Passwort für das Administrator Konto während der Installation im Setup-Assistenten festgelegt. Das Passwort entspricht dem initialen Passwort des lokalen root Kontos. Verwenden Sie das Administrator Konto für die Erstanmeldung an einem neu installierten Primary Directory Node.

root

In einigen Fällen kann es notwendig sein, sich mit dem lokalen root Konto des Systems anzumelden. Weitere Informationen hierzu finden Sie unter Administrativer Zugriff mit dem Root-Konto. Das root Konto ermöglicht nur den Zugriff auf UMC-Module für die Verwaltung und Konfiguration des lokalen Systems.

Andere Benutzerkonten

Wenn Sie sich mit einem anderen Benutzerkonto anmelden, zeigt das UCS Managementsystem die für den Benutzer zugelassenen UMC-Module an. Weitere Informationen zur Zulassung weiterer Module finden Sie unter Delegierte Administration für UMC-Module.

4.2.3. Single Sign-On#

Standardmäßig ist Single Sign-On auf der Anmeldeseite für das Portal deaktiviert. Die folgenden Abschnitte beschreiben, wie Sie Single Sign-On aktivieren können. Nach erfolgreicher Anmeldung ist die Sitzung für alle UCS-Systeme der Domäne sowie für Applikationen von Drittanbietern gültig, wenn diese webbasiertes Single Sign-On unterstützen.

Bei der einmaligen Anmeldung wird die Browser-Sitzung nach 8 Stunden Inaktivität geschlossen. Um eine frische Sitzung zu erhalten, muss sich der Benutzer erneut anmelden.

Es ist möglich, die Anmeldung auf dem lokalen System zu erzwingen, indem Sie auf den Link Anmeldung ohne Single Sign On auf der Anmeldeseite klicken, wie Abb. 4.3 zu sehen.

UCS Anmeldeseite für Single Sign-On

Abb. 4.3 UCS Anmeldeseite für Single Sign-On#

4.2.3.1. SAML für Single Sign-On#

Bei UCS ist SAML standardmäßig aktiviert. Dieser Abschnitt beschreibt, wie man es für die Anmeldung Schaltflächen im Portal aktiviert. Weitere Informationen zu SAML finden Sie unter SAML Identity Provider.

Aktivieren#

Um Single Sign-On über SAML zu aktivieren, gehen Sie wie folgt vor:

  1. Stellen Sie sicher, dass alle Benutzer in Ihrer Domäne, die das Portal und das UCS-Managementsystem mit Single Sign-On nutzen wollen, ucs-sso.[Domänenname] erreichen können.

  2. Ändern Sie den Univention Configuration Registry Variable portal/auth-mode auf saml mit ucr set. Der Standardwert war ucs.

  3. Damit die Änderung wirksam wird, starten Sie den Portal Server mit dem folgenden Befehl neu:

    $ systemctl restart univention-portal-server.service
    

4.2.3.2. OpenID Connect für Single Sign-On#

Neu in Version 5.0-8-erratum-1118: Mit UCS 5.0 erratum 1118 haben das Portal und das UCS Management System die Möglichkeit, Single Sign-On mit OpenID Connect durchzuführen. Die Fähigkeit ist standardmäßig deaktiviert.

OpenID Connect (OIDC) ist ein Protokoll, das Single Sign-On ermöglicht. OIDC ist ein einfacheres Protokoll als SAML. Es ist eine Variante für die Verwendung von Single Sign-On im Portal und im UCS-Managementsystem. Dieser Abschnitt beschreibt, wie Sie es mit UCS verwenden.

Anforderungen#

Bevor Sie OIDC für Single Sign-On verwenden können, müssen Sie die folgenden Voraussetzungen erfüllen:

  1. Sie müssen mindestens UCS 5.0 erratum 1118 überall in Ihrer UCS-Domäne installiert haben.

    Informationen zum Upgrade finden Sie unter Aktualisierung von UCS-Systemen.

  2. Sie müssen die App Keycloak in Ihrer UCS-Domäne installiert haben.

    Informationen über die Installation von Keycloak finden Sie in Installation in Univention Keycloak app documentation [4].

Aktivierung#

Zunächst müssen Sie entscheiden, auf welchen UCS-Systemen Sie Single Sign-On mit OpenID Connect aktivieren möchten. Zweitens müssen Sie die folgenden Schritte auf jedem dieser UCS-Systeme anwenden.

  1. Deaktivieren Sie SAML für die Anmeldung am Portal über die UCR-Variable umc/web/sso/enabled, damit die automatische Neuanmeldung nicht zuerst SAML ausprobiert, sondern direkt OIDC verwendet.

    Ändern Sie die Univention Configuration Registry Variable umc/web/oidc/enabled auf true mit ucr set.

    $ ucr set \
       umc/web/sso/enabled=false \
       umc/web/oidc/enabled=true
    
  2. Führen Sie das Join-Skript für den UMC Webserver aus:

    $ univention-run-join-scripts \
       --force \
       --run-scripts \
       92univention-management-console-web-server.inst
    
  3. Ändern Sie den Univention Configuration Registry Variable portal/auth-mode auf oidc mit ucr set. Der Standardwert war ucs.

  4. Damit die Änderung wirksam wird, starten Sie den Portal Server mit dem folgenden Befehl neu:

    $ systemctl restart univention-portal-server.service
    

Verifizierung und Logdateien#

Um zu überprüfen, ob die Einrichtung funktioniert, öffnen Sie die URL https://FQDN/univention/oidc in einem Webbrowser, z. B. Mozilla Firefox, und melden Sie sich an. Öffnen Sie ein UMC-Modul, z. B. Users, und führen Sie eine Suche durch.

Entsprechende Informationen zur Protokollierung finden Sie an den folgenden Stellen:

  • Logdatei: /var/log/univention/management-console.server.log

  • journald: journalctl -u slapd.service

Um die Änderungen für die Anmeldemethode im Portal zu übernehmen, müssen Sie die Kachel Anmelden manuell bearbeiten, ähnlich wie bei der Einrichtung mit SAML für Single Sign-On. Der Link muss auf /univention/oidc/ zeigen.

Deaktivieren#

Zunächst müssen Sie entscheiden, für welche UCS-Systeme Sie Single Sign-On über OpenID Connect deaktivieren möchten. Zweitens müssen Sie die folgenden Schritte auf jedem dieser UCS-Systeme anwenden.

  1. Deaktivieren Sie die Univention Configuration Registry Variable umc/web/oidc/enabled mit ucr unset:

    $ ucr unset umc/web/oidc/enabled
    
  2. Entfernen Sie das OIDC RP aus Keycloak mit dem folgenden Befehl:

    $ univention-keycloak oidc/rp remove \
       "$(ucr get umc/oidc/$(hostname -f)/client-id)"
    
  3. Setzen Sie alle Univention Configuration Registry Variablen zurück, die Sie mit den folgenden Suchen finden können:

    $ ucr search --brief --key ^umc/oidc
    $ ucr search --brief --key ^ldap/server/sasl/oauthbearer
    
  4. Entfernen Sie das OIDC-Geheimnis aus dem System und starten Sie die betroffenen Dienste neu:

    $ rm -f \
       /etc/umc-oidc.secret \
       /usr/share/univention-management-console/oidc/http*
    $ systemctl restart slapd univention-manangement-console
    
  5. Aktualisieren Sie manuell die Anmelden Kachel im Portal, so dass der Link auf /univention/login/ zeigt.

  6. Ändern Sie den Univention Configuration Registry Variable portal/auth-mode auf ucs mit ucr set und starten Sie den Portal Server neu.

Identity Provider mit nicht standardmäßigem FQDN#

Standardmäßig ist der FQDN des Keycloak Identity Provider ucs-sso-ng.$domainname. Jedoch ist es möglich einen anderen FQDN für den Identity Provider zu konfigurieren. Für weitere Informationen, siehe Configuration of the identity provider in Univention Keycloak app documentation [4].

Wenn Sie ein solches Setup haben, müssen Sie den Identity Provider für die OpenID-Connect Authentifizierung in UMC auf jedem UCS-System konfigurieren. Ändern Sie die Univention Configuration Registry Variable umc/oidc/issuer in den FQDN Ihres Keycloak Identity Provider und führen Sie das Join-Skript des UMC Webservers erneut aus, wie in Quellcode 4.2 gezeigt.

Quellcode 4.2 Nicht standardmäßiger FQDN des Keycloak Identity Provider#
$ IDP="auth.extern.test"
$ ucr set umc/oidc/issuer="https://$IDP/realms/ucs"
$ univention-run-join-scripts --force \
   --run-scripts 92univention-management-console-web-server

Univention Portal und UMC mit nicht standardmäßigem FQDN#

Standardmäßig ist die UMC über den FQDN $hostname.$domainname erreichbar. Falls Sie ein Setup haben, in dem die UMC über einen anderen FQDN erreichbar ist, müssen Sie die Univention Configuration Registry Variable umc/oidc/rp/server auf diesen Wert setzen und das Join-Skript des UMC Webservers nochmals ausführen, siehe Quellcode 4.3.

Quellcode 4.3 Nicht standardmäßigem FQDN für das Portal und die UMC konfigurieren#
$ ucr set umc/oidc/rp/server="portal.extern.test"
$ univention-run-join-scripts --force \
   --run-scripts 92univention-management-console-web-server
$ systemctl restart slapd

Wichtig

Wenn Sie mehrere Portal/UMC-Server hinter einem Load Balancer betreiben möchten, müssen Sie diese Befehle auf allen UCS-Systemen ausführen.

Da alle Systeme in diesem Setup denselben OIDC-Client verwenden, stellen Sie sicher, dass die Datei /etc/umc-oidc.secret auf jedem System denselben Inhalt hat und mit dem Passwort dieses Clients in Keycloak übereinstimmt.

Back-Channel Abmeldung#

Wenn Sie die OIDC Back-Channel Abmeldung zusammen mit Multiprocessing der UMC verwenden, benötigt UMC eine Datenbank für die Sitzungsspeicherung, um die Abmeldung korrekt abzuwickeln. Sie haben Multiprocessing in UMC aktiviert, wenn die Univention Configuration Registry Variable umc/http/processes einen Wert größer als eins (> 1) hat.

Wenn Sie nur einen UMC-Server ohne UMC Multiprocessing haben, können Sie die Konfiguration unverändert belassen.

Damit die UMC die Sitzungen in der Datenbank verwalten kann, müssen Sie die Datenbankverbindung mit dem Skript univention-mangement-console-settings konfigurieren, wie in Quellcode 4.5 gezeigt.

Wenn das Univention Portal oder die UMC jedoch mehrere UCS-Server zum Lastenausgleich verwenden oder wenn Multiprocessing für UMC konfiguriert sind, ist es notwendig, eine PostgreSQL Datenbank zu verwenden, auf die alle UCS-Systeme zugreifen können. In diesen Fällen müssen Sie die folgenden Aspekte berücksichtigen:

  1. PostgreSQL Datenbankserver:

    Sie müssen entweder selbst eine PostgreSQL Datenbank bereitstellen, auf die alle UMC-Server Zugriff haben.

    Oder Sie installieren und konfigurieren PostgreSQL auf einem der UCS-Systeme wie im Beispiel in Quellcode 4.4 gezeigt. Die Werte für db_user, db_name und db_password können Sie frei wählen. db_host ist das UCS-System, auf dem PostgreSQL läuft.

    Quellcode 4.4 Beispiel für die Installation von PostgreSQL#
    $ univention-install univention-postgresql
    $ su postgres -c "createdb db_name"
    $ su postgres -c "/usr/bin/createuser db_user"
    $ su postgres -c "psql db_name -c \"ALTER ROLE db_user WITH ENCRYPTED PASSWORD 'db_password'\""
    $ ucr set postgres11/pg_hba/config/host="db_name db_user 0.0.0.0/0 md5"
    $ systemctl restart postgresql
    
  2. Konfiguration der URI für die SQL-Verbindung auf dem Primary Directory Node:

    Quellcode 4.5 Konfiguration der URI für die SQL-Verbindung#
    $ univention-management-console-settings set \
       -u 'postgresql+psycopg2://db_user:db_password@db_host:5432/db_name'
    
  3. Optionale Einstellungen für den Datenbankverbindungspool:

    • Pool Size: Die maximal Anzahl der Datenbank-Verbindungen im Pool. Der Standardwert ist 5.

    • Max Overflow: Die Maximal Anzahl der temporären Verbindungen. Der Standardwert ist 10.

    • Pool Timeout: Die Anzahl der Sekunden, die gewartet werden soll, bis eine Verbindung verfügbar ist. Der Standardwert ist 30.

    • Pool Recycle: Die Anzahl der Sekunden, nach denen Verbindungen im Pool recycelt werden. Der Standardwert ist -1.

    Mit diesen Standardwerten kann jeder UMC Prozess bis zu 15 Verbindungen zur Datenbank haben. Die Gesamtzahl der Verbindungen beträgt: <Anzahl der Server> * <Anzahl der Prozesse> * (<Pool Size> + <Max Overflow>). Stellen Sie sicher, dass die Datenbank die Anzahl der Verbindungen verarbeiten kann.

    Quellcode 4.6 Konfiguration der optionalen Parameter für den Datenbankverbindungspool#
    $ univention-management-console-settings set \
         -s 5 \
         -o 10 \
         -t 30 \
         -r 3600
    
  4. Neustart der UMC auf allen UCS-Servern:

    $ systemctl restart univention-management-console-server
    

Wichtig

Das automatische Aktualisieren der Portal Tabs bei der Abmeldung oder dem Timeout der Sitzung erfordert PostgreSQL.

Sie können auch eine lokale SQLite Datenbank für einen UMC-Server mit Multiprocessing verwenden, oder Sie können MariaDB als zentrale Datenbank für mehrere UMC-Server mit Lastausgleich verwenden. In beiden Fällen wird das Aktualisieren der Portal Tabs nicht unterstützt und funktioniert nicht, da hierfür eine PostgreSQL Datenbank erforderlich ist.