4.1. Authentifizierung#
Diese Seite behandelt Konfigurationsaspekte der Authentifizierung in Nubus für UCS für technische Administratoren. Eine allgemeine Beschreibung finden Sie unter Authentifizierung im Nubus Handbuch 1.x [4].
4.1.1. Anmelden#
Eine allgemeine Beschreibung der Anmeldung finden Sie unter Anmeldung im Nubus Handbuch 1.x [4]. Dieser Abschnitt behandelt Einstellungen und Besonderheiten für Nubus für UCS.
4.1.1.1. Wählen Sie das richtige Benutzerkonto#
Um sich anzumelden, geben Sie den Benutzernamen und das Passwort des entsprechenden Domänenkontos in die Anmeldemaske ein.
AdministratorEine allgemeine Beschreibung finden Sie unter Administrator im Nubus Handbuch 1.x [4]. Für eine spezifische Beschreibung für Nubus für UCS lesen Sie weiter.
Wenn Sie sich auf einem UCS Primary Directory Node oder UCS Backup Directory Node anmelden, zeigt die Management UI die Verwaltungsmodule zur Administration und Konfiguration des lokalen Systems sowie die Module zur Administration von Daten in der Domäne an.
Sie haben das anfängliche Passwort für das
AdministratorKonto während der Installation im Einrichtungsassistenten festgelegt. Das Passwort entspricht dem anfänglichen Passwort des lokalenrootKontos. Verwenden Sie dasAdministratorKonto für die anfängliche Anmeldung an einem neu installierten UCS Primary Directory Node.
rootIn einigen Fällen kann es erforderlich sein, sich mit dem lokalen
rootKonto des Systems anzumelden. Weitere Informationen finden Sie unter Administrativer Zugriff mit dem Root-Konto. DasrootKonto ermöglicht nur den Zugriff auf Verwaltungsmodule zur Administration und Konfiguration des lokalen Systems.
- Andere Benutzerkonten
Eine allgemeine Beschreibung finden Sie unter Andere Benutzerkonten im Nubus Handbuch 1.x [4].
4.1.1.2. Zeitüberschreitung für Nubus Web Sitzung ändern#
Sie können die Zeitüberschreitung der Nubus Web-Sitzung über die UCR-Variable umc/http/session/timeout ändern.
4.1.2. Browser-Reiter bei Abmeldung aktualisieren#
Eine allgemeine Beschreibung der Abmeldung finden Sie unter Abmeldung im Nubus Handbuch 1.x [4].
Nachdem eine Abmeldung erkannt wurde, aktualisiert Nubus automatisch alle Browser-Reiter mit einer aktiven Portal Sitzung.
Sie können verhindern, dass Nubus die Browser-Reiter bei der Abmeldung neu lädt. Setzen Sie die UCR-Variable portal/reload-tabs-on-logout auf den Wert true. Der Standardwert ist false.
4.1.3. Single Sign-On#
Eine allgemeine Beschreibung von Single Sign-On finden Sie unter Single Sign-On im Nubus Handbuch 1.x [4].
Die Standardkonfiguration in Nubus für UCS hat Single Sign-On deaktiviert. Nach der Installation der Keycloak App verwendet Nubus für UCS SAML.
4.1.3.1. SAML-Konfiguration für Single Sign-On#
Nubus für UCS unterstützt Single Sign-On über SAML unter Verwendung der Keycloak App. Siehe Use Keycloak for login to Univention Portal in Univention Keycloak app documentation [6].
4.1.3.1.1. SAML für Single Sign-On aktivieren#
Nachdem Sie die Konfiguration für Keycloak abgeschlossen haben, verwenden Sie die folgenden Schritte für eine bessere Benutzererfahrung:
Stellen Sie sicher, dass alle Benutzer in Ihrer Domäne, die das Portal und die Management UI mit Single Sign-On nutzen möchten,
ucs-sso-ng.[Domain Name]erreichen können.Ändern Sie die UCR-Variable
portal/auth-modemit dem Befehl in Listing 4.1 aufsaml.$ ucr set portal/auth-mode="saml"
Um die Konfiguration anzuwenden, starten Sie den Portal Server auf jedem UCS Knoten mit dem Befehl in Listing 4.2 neu.
$ systemctl restart univention-portal-server.service
4.1.3.1.2. Standard-Kachel zum Anmelden im Portal aktualisieren#
Durch den Neustart des Portal-Servers wird automatisch der Link zum Anmelden im Benutzermenü aktualisiert. Sie müssen jedoch die Portal-Kachel zum Anmelden manuell aktualisieren, um SAML zu verwenden. Das Standardportal verfügt über eine vorkonfigurierte, aber deaktivierte Single Sign-On Kachel zum Anmelden. Verwenden Sie den Portal-Bearbeitungsmodus, um diese zu aktivieren.
Um die Kachel zum Anmelden durch die Single Sign-On Kachel zu ersetzen, folgen Sie diesen Schritten:
Öffnen Sie im Management UI das Portal Verwaltungsmodul über .
Um die vorkonfigurierte Kachel zum Anmelden für SAML zu aktivieren, bearbeiten Sie den Eintrag
login-saml, scrollen Sie zum Abschnitt Erweitert und aktivieren Sie das Kontrollkästchen Aktiviert.Um die Standard-Kachel zum Anmelden zu deaktivieren, bearbeiten Sie den Eintrag
login-ucs, scrollen Sie zum Abschnitt Erweitert und deaktivieren Sie das Kontrollkästchen Aktiviert.
Siehe auch
- Univention Portal
im Nubus Handbuch 1.x [4] für Informationen zum Konzept und zur Verwaltung des Portal in Nubus.
4.1.3.1.3. Anmelden ohne Single Sign-On wiederherstellen#
Um zum Standard-Anmeldung in Nubus für UCS ohne Single Sign-On zurückzukehren, verwenden Sie die folgenden Schritte:
Kehren Sie die Schritte in Standard-Kachel zum Anmelden im Portal aktualisieren um.
Setzen Sie die UCR-Variable
portal/auth-modeauf den Wertucsin SAML für Single Sign-On aktivieren.
4.1.3.2. OpenID Connect für Single Sign-On#
OpenID Connect (OIDC) ist ein Protokoll, das Single Sign-On ermöglicht. OIDC ist ein leichteres Protokoll als SAML. Es ist eine Variante für die Verwendung von Single Sign-On im Portal und in der Management UI. Dieser Abschnitt beschreibt die Verwendung mit Nubus für UCS.
Bevor Sie OIDC für Single Sign-On verwenden können, müssen Sie die folgenden Anforderungen erfüllen:
Sie müssen mindestens UCS 5.0 erratum 1118 in Ihrer gesamten Nubus für UCS Domäne installiert haben.
Weitere Informationen zum Aktualisieren finden Sie unter Aktualisierung von UCS-Systemen im UCS Handbuch [3].
Sie müssen die Keycloak App in Ihrer Nubus für UCS Domäne installiert haben.
Weitere Informationen zur Installation von Keycloak finden Sie unter Installation in Univention Keycloak app documentation [6].
4.1.3.2.1. OpenID Connect für Single Sign-On aktivieren#
Zuerst 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 Portal Anmeldung über die UCR-Variable
umc/web/sso/enabled, damit sich die automatische Anmeldung nicht zuerst an SAML versucht, sondern direkt OIDC verwendet.Ändern Sie die UCR-Variable
umc/web/oidc/enabledauftruemit dem Befehl in Listing 4.3.$ ucr set \ umc/web/sso/enabled=false \ umc/web/oidc/enabled=true
Führen Sie das Join-Skript für den UMC Webserver mit dem Befehl in Listing 4.4 aus.
$ univention-run-join-scripts \ --force \ --run-scripts \ 92univention-management-console-web-server.inst
Ändern Sie die UCR-Variable
portal/auth-modeaufoidcmit dem Befehl in Listing 4.5. Der Standardwert istucs.$ ucr set portal/auth-mode="oidc"
Um die Konfiguration anzuwenden, starten Sie den Portal Server auf jedem UCS Knoten mit dem Befehl in Listing 4.2 neu.
4.1.3.2.2. Anmeldelinks erstellen#
Durch den Neustart des Portal Servers wird automatisch der Anmelden Link im Benutzermenü aktualisiert. Optional können Sie auf dem UCS Primary Directory Node eine Portal-Kachel für die Anmeldung mit OpenID Connect mit den Befehlen in Listing 4.6 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)"
Siehe auch
- Univention Portal
im Nubus Handbuch 1.x [4] für Informationen zum Konzept und zur Verwaltung des Portal in Nubus.
4.1.3.2.3. Überprüfung und Protokolldateien#
Um die Funktionalität der Einrichtung zu überprüfen, öffnen Sie die URL https://FQDN/univention/oidc/ in einem Webbrowser, wie Mozilla Firefox, und melden Sie sich an. Öffnen Sie ein Verwaltungsmodul, wie das Benutzer Modul, und führen Sie eine Suche durch.
Relevante Protokollinformationen finden Sie an den folgenden Stellen auf dem UCS-System:
Protokolldatei:
/var/log/univention/management-console.server.logjournald: journalctl -u slapd.service
Um die Änderungen für die Anmeldemethode im Portal widerzuspiegeln, müssen Sie die Anmelden Kachel manuell bearbeiten, ähnlich wie in der in SAML-Konfiguration für Single Sign-On beschriebenen Einrichtung. Der Link muss auf /univention/oidc/ zeigen.
4.1.3.2.4. OpenID Connect für Single Sign-On deaktivieren#
Zuerst müssen Sie entscheiden, auf welchem UMC Knoten Sie Single Sign-On mit OpenID Connect deaktivieren möchten. Zweitens müssen Sie die folgenden Schritte auf jedem dieser Knoten anwenden.
Setzen Sie die UCR-Variable
umc/web/oidc/enabledmit dem Befehl in Listing 4.7 zurück.$ ucr unset umc/web/oidc/enabled
Entfernen Sie das OIDC RP von Keycloak mit dem Befehl in Listing 4.8.
$ univention-keycloak oidc/rp remove \ "$(ucr get umc/oidc/$(hostname -f)/client-id)"
Setzen Sie alle UCR-Variablen zurück, die Sie mit den Befehlen in Listing 4.9 finden.
$ ucr search --brief --key ^umc/oidc $ ucr search --brief --key ^ldap/server/sasl/oauthbearer
Entfernen Sie das OIDC Secret vom System und starten Sie betroffene Dienste mit den Befehlen in Listing 4.10 neu.
$ rm -f \ /etc/umc-oidc.secret \ /usr/share/univention-management-console/oidc/http* $ systemctl restart slapd univention-management-console-server
Aktualisieren Sie manuell die Portal-Kachel für Anmelden, sodass der Link auf
/univention/login/zeigt.Ändern Sie die UCR-Variable
portal/auth-modeaufucsund starten Sie den Portal Server neu. Einzelheiten finden Sie unter Anmelden ohne Single Sign-On wiederherstellen.
4.1.3.2.5. Identitätsanbieter mit nicht standardmäßigem FQDN#
Standardmäßig lautet der FQDN für den Identitätsanbieter Keycloak ucs-sso-ng.$domainname. Sie können jedoch einen anderen FQDN für den Identitätsanbieter konfigurieren. Weitere Informationen finden Sie unter Configuration of the identity provider in Univention Keycloak app documentation [6].
Wenn Sie ein solches Setup haben, müssen Sie den Identitätsanbieter für die OpenID Connect Authentifizierung in UMC auf jedem UCS-System konfigurieren. Ändern Sie die UCR-Variable umc/oidc/issuer auf den FQDN Ihres Keycloak Identitätsanbieters und führen Sie das Join-Skript des UMC Webservers erneut aus, wie in Listing 4.11 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
4.1.3.2.6. Nicht standardmäßiger FQDN für das Univention Portal und die Management UI#
Standardmäßig ist die Management UI unter dem FQDN $hostname.$domainname verfügbar. Wenn Sie ein Setup mit einem anderen FQDN für die Management UI haben, müssen Sie die UCR-Variable umc/oidc/rp/server auf den FQDN der Management UI ändern und das Join-Skript des UMC Webservers erneut ausführen, wie in Listing 4.12 gezeigt.
$ 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 Server oder UMC Server hinter einem Lastverteiler betreiben möchten, müssen Sie diese Befehle auf allen Nubus für UCS Knoten ausführen.
Da alle Knoten in diesem Setup denselben OIDC-Client verwenden, stellen Sie sicher, dass die Datei /etc/umc-oidc.secret auf jedem Knoten denselben Inhalt hat und mit dem Client Secrect in Keycloak für diesen Client übereinstimmt.
4.1.3.2.7. Back-Channel Abmeldung#
Wenn Sie OIDC Back-Channel Abmeldung zusammen mit Multiprocessing der Management UI verwenden, benötigt die Management UI eine Datenbank für die Speicherung der Sitzung, um die Abmeldung der Sitzung korrekt zu verarbeiten. Sie haben Multiprocessing in der Management UI aktiviert, wenn die UCR-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 beibehalten.
Um die Sitzungen in der Datenbank für die Management UI zu verfolgen, müssen Sie die Zeichenfolge für die Datenbankverbindung mit dem Skript univention-management-console-settings konfigurieren, wie in Listing 4.15 gezeigt.
Wenn jedoch das Portal oder die Management UI mehrere Nubus für UCS Knoten für die Lastverteilung verwenden oder die Management UI eine Konfiguration für Multiprocessing hat, ist es erforderlich, eine PostgreSQL-Datenbank zu verwenden, auf die alle Nubus für UCS Knoten zugreifen können. In diesen Fällen müssen Sie folgende Aspekte berücksichtigen:
PostgreSQL-Datenbankserver:
Sie stellen selbst eine PostgreSQL Datenbank bereit, auf die alle UMC Server zugreifen können.
Alternativ können Sie PostgreSQL auf einem der Nubus für UCS Knoten installieren und konfigurieren. Wie im Beispiel in Listing 4.13 gezeigt, können Sie die Werte für
db_user,db_nameunddb_passwordfrei wählen.db_hostist ein Nubus für UCS Knoten, auf dem PostgreSQL ausgeführt wird.$ 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'\"" $ su postgres -c "psql umc -c \"GRANT ALL ON SCHEMA public TO umc;\"" $ ucr set postgres15/pg_hba/config/host="umc umc 1x.2xx.0.0/16 md5" $ systemctl restart postgresql
Legen Sie die URI für die SQL-Verbindung auf dem UCS Primary Directory Node fest, wie in Listing 4.14 gezeigt.
$ univention-management-console-settings set \ -u 'postgresql+psycopg2://db_user:db_password@db_host:5432/db_name'
Optionale Parameter für den Datenbankverbindungspool:
Pool Size:Die Anzahl der Verbindungen zur Datenbank. Standardwert:
5.Max Overflow:Die maximale Anzahl temporärer Verbindungen. Standardwert:
10.Pool Timeout:Die Anzahl der Sekunden, die auf eine verfügbare Verbindung gewartet werden soll. Standardwert:
30.Pool Recycle:Die Anzahl der Sekunden, nach denen eine Verbindung recycelt wird. Standardwert:
-1.
Mit diesen Standardwerten kann jeder UMC Prozess bis zu 15 Verbindungen zur Datenbank haben. Die Gesamtanzahl der Verbindungen ist: \(NumberOfServers \cdot NumberOfProcesses \cdot (PoolSize + MaxOverflow)\).
Stellen Sie sicher, dass die Datenbank die Anzahl der Verbindungen bewältigen kann. Sie können diese Parameter anpassen, wie in Listing 4.15 gezeigt.
$ univention-management-console-settings set \ -s 5 \ -o 10 \ -t 30 \ -r 3600
Starten Sie den UMC Server auf allen Nubus für UCS Knoten mit dem Befehl in Listing 4.16 neu.
$ systemctl restart univention-management-console-server
Wichtig
Wenn Nubus für UCS mehr als eine UMC Server-Instanz umfasst, erfordert die Funktion zum Aktualisieren der Portal-Registerkarten bei Abmeldung oder Sitzungszeitüberschreitung PostgreSQL. Sie können auch eine lokale SQLite-Datenbank für einen UMC Server mit Multiprocessing verwenden.