Single-Sign On
Grundidee: alle Nutzer identifizieren sich zentral über das ZAM Single-Sign On (SSO), damit nur dieser Dienst (und die dahinterliegende Datenbank) Kennwörter unverschlüsselt sieht.
Zum Einsatz kommt OpenLDAP als Datenbank für Benutzerinformationen und Keycloak als Authentifizierungsdienst.
Anmeldungen erfolgen ausschließlich über https://login.zam.haus/auth/realms/ZAM, via SAML oder OpenID. Nutzer können sich:
- Selbst registrieren (es muss ein eindeutiger und nicht-änderbarer Nutzername gewählt und die Email-Adresse verifiziert werden).
- Kennwort via E-Mail zurücksetzen.
- Ihren zentralen Account und zugehörige Daten via https://login.zam.haus/auth/realms/ZAM/account/ bzw. https://login.zam.haus/ verwalten.
Nutzer werden manuel folgenden Gruppen zugeordnet, aus denen sich Berechtigungen für die Clients (z.B. Wordpress, Cloud oder Wiki) ableiten:
- Vorstand
- Beirat
- Crew
- PR
- Mitglied
Nach einer Selbstregistrierung ist ein Benutzer erstmal in keiner Gruppen.
Keycloak (SAML und OpenID Service Provider)
Läuft im keycloak
Docker Container auf sphinx , erreichbar via nginx
reverse Proxy:
https://sso.erlangen.ccc.de (Zugangsdaten bei Julian)
Das ZAM/der BV nutzt die ZAM realm. Neue Clients (d.h. Dienste die auf die Anmeldung via ZAM SSO aufbauen) werden darüber eingepflegt. Beim einrichten neuer Clients ist zu beachten, dass die Email-Adresse vom Nutzer selbst geändert werden kann und somit nicht für die Account-Zuordnung geeignet ist.
Der Keycloak ist so konfiguriert, dass Nutzerdaten und Gruppenzugehörigkeiten mit dem LDAP bidirektional synchronisiert werden. Keycloak nutzt den cn=admin,dc=betreiberverein,dc=de Benutzer.
LDAP Backend und Administration
Das Backend läuft im openldap_bv
und das Admin-Interface im phpldapadmin_bv
Docker Container, letzterer ist erreichbar via nginx
reverse Proxy:
https://ldapadmin.betreiberverein.de/ (Zugangsdaten bei Julian)
Für den LDAP gibt es im docker-compose ein eigenes Netzwerk um diesen nur einigen wenigen Containern zugänglich zu machen.
Clients
Angebunden sind:
- Wordpress betreiberverein.de
- Bookstack wiki.betreiberverein.de
- Nextcloud cloud.betreiberverein.de