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
.
Das öffnet die Anmeldeseite wie in Abb. 4.2 gezeigt.
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 lokalenroot
Kontos. Verwenden Sie dasAdministrator
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. Dasroot
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.
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:
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.Ändern Sie den Univention Configuration Registry Variable
portal/auth-mode
aufsaml
mitucr set
. Der Standardwert warucs
.Damit die Änderung wirksam wird, starten Sie den Portal Server mit dem folgenden Befehl neu:
$ systemctl restart univention-portal-server.service
Anmeldelinks aktualisieren#
Der Neustart des Portal Servers aktualisiert automatisch den Link Anmelden im Benutzermenü. Sie müssen die Kachel im Portal manuell aktualisieren. Das Standardportal hat eine vorkonfigurierte Kachel zur Anmeldung mit Single Sign-On. Verwenden Sie den Bearbeitungsmodus des Portals, um sie zu aktivieren. Um die Kachel Anmeldung durch die Kachel für die einmalige Anmeldung zu ersetzen, führen Sie die folgenden Schritte aus:
Öffnen Sie in der Univention Management Console das UMC-Modul Portal:
.Um die vorkonfigurierte Kachel zur Anmeldung für SAML zu aktivieren, bearbeiten Sie den Eintrag
login-saml
, scrollen Sie nach unten zum Abschnitt Erweitert und aktivieren Sie die Checkbox Erweitert.Um die Standard-Kachel zur Anmeldung zu deaktivieren, bearbeiten Sie den Eintrag
login-ucs
, scrollen Sie nach unten zum Abschnitt Advanced und deaktivieren Sie die Checkbox Advanced.
Um zur Standardanmeldung in UCS ohne Single Sign-On zurückzukehren, müssen Sie müssen Sie die Schritte zum Aktualisieren der Kachel im Portal rückgängig machen und die UCR Variable portal/auth-mode
auf ucs
setzen.
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:
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.
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.
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
auftrue
mitucr set
.$ ucr set \ umc/web/sso/enabled=false \ umc/web/oidc/enabled=true
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
Ändern Sie den Univention Configuration Registry Variable
portal/auth-mode
aufoidc
mitucr set
. Der Standardwert warucs
.Damit die Änderung wirksam wird, starten Sie den Portal Server mit dem folgenden Befehl neu:
$ systemctl restart univention-portal-server.service
Anmeldelinks erstellen#
Durch einen Neustart des Portal Servers wird der Login-Link im Benutzermenü automatisch aktualisiert. Optional können Sie mit den Befehlen in Quellcode 4.1 eine Kachel im Portal für die Anmeldung mit OpenID Connect auf dem Primary Directory Node erstellen.
$ udm portals/entry create --ignore_exists \
--position "cn=entry,cn=portals,cn=univention,$(ucr get ldap/base)" \
--set name=login-oidc \
--append displayName="\"en_US\" \"Login (Single sign-on)\"" \
--append displayName="\"de_DE\" \"Anmelden (Single Sign-on)\"" \
--append description="\"en_US\" \"Log in to the portal\"" \
--append description="\"de_DE\" \"Am Portal anmelden\"" \
--append link='"en_US" "/univention/oidc/?location=/univention/portal/"' \
--set anonymous=TRUE \
--set activated=TRUE \
--set linkTarget=samewindow \
--set icon="$(base64 /usr/share/univention-portal/login.svg)"
$ udm portals/category modify --ignore_exists \
--dn "cn=domain-service,cn=category,cn=portals,cn=univention,$(ucr get ldap/base)"\
--append entries="cn=login-oidc,cn=entry,cn=portals,cn=univention,$(ucr get ldap/base)"
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.
Deaktivieren Sie die Univention Configuration Registry Variable
umc/web/oidc/enabled
mitucr unset
:$ ucr unset umc/web/oidc/enabled
Entfernen Sie das OIDC RP aus Keycloak mit dem folgenden Befehl:
$ univention-keycloak oidc/rp remove \ "$(ucr get umc/oidc/$(hostname -f)/client-id)"
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
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
Aktualisieren Sie manuell die Anmelden Kachel im Portal, so dass der Link auf
/univention/login/
zeigt.Ändern Sie den Univention Configuration Registry Variable
portal/auth-mode
aufucs
mitucr 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.
$ 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.
$ 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:
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
unddb_password
können Sie frei wählen.db_host
ist das UCS-System, auf dem PostgreSQL läuft.$ 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
Konfiguration der URI für die SQL-Verbindung auf dem Primary Directory Node:
$ univention-management-console-settings set \ -u 'postgresql+psycopg2://db_user:db_password@db_host:5432/db_name'
Optionale Einstellungen für den Datenbankverbindungspool:
Pool Size
: Die maximal Anzahl der Datenbank-Verbindungen im Pool. Der Standardwert ist5
.Max Overflow
: Die Maximal Anzahl der temporären Verbindungen. Der Standardwert ist10
.Pool Timeout
: Die Anzahl der Sekunden, die gewartet werden soll, bis eine Verbindung verfügbar ist. Der Standardwert ist30
.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.$ univention-management-console-settings set \ -s 5 \ -o 10 \ -t 30 \ -r 3600
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.