In diesem Artikel möchte ich Ihnen über unser Projekt Selbstregistrierung von Nutzern über UCS Self Services berichten, das wir aktuell für die SUSE Software Solutions Germany GmbH und u. a. deren Bugzilla und openSUSE Build Service (OBS) implementiert haben. Auf letzterer Webplattform wird die openSUSE-Distribution entwickelt. Gleichzeitig wird diese auch genutzt, um unter anderem Pakete für die Linux-Distributionen Fedora, Debian GNU/Linux, Ubuntu und natürlich SUSE Linux Enterprise zu bauen. Der OBS beherbergt rund 26.000 Projekte, ca. 190.000 Pakete in 36.000 Repositorys. Etwa 33.000 Entwickler nutzen den Dienst und haben dort einen Account.
Da SUSE seine Bugzilla-Plattform im Mai 2020 auf einen neuen Server umzieht, haben die Betreiber Ende 2019 nach einer Lösung gesucht, um die große Zahl der Benutzerkonten in einem Identitäts-Management zu verwalten und daran in diesem Atemzug auch den OBS und eine Reihe weiterer Dienste, anzuschließen. Nach Prüfung einiger Systeme fiel die Wahl schließlich auf UCS. SUSE als Plattform-Anbieter vermisste allerdings etwas: eine Funktion, über die Benutzer*innen selbst ein Konto erstellen (und auch wieder löschen) können, um Interessierten und potenziellen Usern komfortabel einen Zugang zu ihrem Bugzilla, OBS u. a. gewährleisten zu können, ohne einen großen Administrations-Aufwand auf Seiten von SUSE zu erzeugen.
Unsere Entwickler fanden die Idee so gut, dass sie das neue Feature, welches im Rahmen dieses Projekts mit SUSE entwickelt wurde, kurzerhand in die offizielle Version von Univention Corporate Server implementierten. Es steht ab sofort für alle aktuellen UCS-Versionen ab Version 4.4-4 zur Verfügung. Ich möchte Ihnen die neue Funktion Selbstregistrierung nun vorstellen und Ihnen Schritt für Schritt zeigen, wie Administratoren die Rechner in der von ihnen betreuten UCS-Umgebung so anpassen, dass Benutzer*innen fortan selber über das Univention-Portal einen Account beantragen und wieder entfernen können.
Seite Konto erstellen freischalten und einrichten
Um die neue Seite Konto erstellen für ein Univention-Portal freizuschalten, aktivieren Administratoren auf den entsprechenden Rechnern zunächst die UCR-Variable: umc/self-service/account-registration/frontend/enabled=true
. Die Univention Configuration Registry befindet sich in der Abteilung System auf der gleichnamigen Karte:
Diese und alle weiteren UCR-Variablen lassen sich natürlich auch über die Kommandozeile einstellen und verändern.
Anschließend konfigurieren Sie die Eigenschaften der Seite Konto erstellen über weitere UCR-Variablen. Die Variablen müssen auf dem Self Service Backend gesetzt werden, das über die Variable
self-service/backend-server
definiert ist:
umc/self-service/account-registration/backend/enabled
:
Diese Variable aktiviert das Self-Service-Feature für eine UCS-Instanz.umc/self-service/account-registration/usertemplate
:
Die Variable gibt eine Benutzervorlage (Abschnitt 6.7) an, die das Portal zum Anlegen neuer Konten verwendet.umc/self-service/account-registration/usercontainer
:
Definiert einen Container, 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 angezeigt werden. Mehrere UDM-Attribute stehen hintereinander und durch Kommata voneinander getrennt.umc/self-service/account-registration/udm_attributes/required
:
Bestimmt, welche der über die UCR-Variableumc/self-service/account-registration/udm_attributes
definierten UDM-Attribute vom Benutzer angegeben werden müssen. Mehrere UDM-Attribute stehen hintereinander und werden durch Kommata voneinander getrennt.
Verifizierungs-E-Mail an die Benutzer einrichten
Sobald Anwender*innen auf Konto erstellen geklickt haben, erhalten sie eine Bestätigung, dass eine E-Mail verschickt wurde.
Wie diese E-Mail genau aussieht, welchen Absendernamen sie enthält, wie der Inhalt lautet usw. richten Administratoren ebenfalls über verschiedene UCS-Variablen ein:
umc/self-service/account-verification/email/webserver_address
:
Definiert den Hostnamen, der in der URL mit dem Verifizierungs-Link steht. In der Voreinstellung ist das der FQDN des Self Service Backend, das über die UCS-Variable
self-service/backendserver
gesetzt ist.umc/self-service/account-verification/email/sender_address
:
die Absenderadresse der Verifizierungs-E-Mail; die Voreinstellung lautet: „Account Verification Service <noreply@FQDN>“umc/self-service/account-verification/email/server
:
der Servername oder die IP-Adresse des Mailserversumc/self-service/account-verification/email/text_file
:
Hier steht der volle Pfad zu einer Textdatei, die später im E-Mail-Body steht. Die Standard-Nachricht befindet sich unter:/usr/lib/python2.7/dist-packages/univention/management/console/modules/passwordreset/sending/verification_email_body.txt
Die Datei kann als Vorlage für eigene Anpassungen dienen. In der Datei werden die folgenden Platzhalter verwendet:{link}
,{token}
,{tokenlink}
und{username}
.umc/self-service/account-verification/email/token_length
:
Die Variable definiert die Anzahl der Zeichen, die der Verifizierungs-Token verwendet (Voreinstellung: 64).
Als Letztes geht es ans Einrichten des Dialogs, den die Benutzer zur Konto-Verifizierung sehen.