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-Variable umc/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.

 

Screenshot: UCS users self service Registrierung

 

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.

 

Screenshot von User Self Service Email zur Verification in UCS

 

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 Mailservers
  • umc/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.txtDie 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.


Film-Tutorial: Wie stellen Sie Self Services in UCS bereit und wie nutzen Sie diese?

Wenn ein UCS-Benutzer sein Passwort vergessen hat oder zum Beispiel einfach sein Profilbild ändern möchte, muss dieser seit UCS 4.1 keinen Administratoren mehr darum bitten und kann das kinderleicht einfach selbst übernehmen. Voraussetzung: die App UCS Self Service ist installiert. Wie die App in Betrieb genommen und benutzt wird, zeigen wir Ihnen in unseren Film-Tutorial.


Das Konto verifizieren

Wenn Benutzer*innen dem Link aus der Verifizierungs-E-Mail folgen, gelangen sie zu einem Dialog, in den sie den Benutzernamen und den Token eintragen. Ein Klick auf Konto verifizieren schließt den Vorgang ab.

 

Screenshot: UCS users self service verification

 

Damit das gelingt, aktivieren Admins das Dialogfenster über die UCR-Variable umc/self-service/account-verification/frontend/enabled auf den jeweiligen Rechnern.
Auf dem Backend aktiviert die Variable umc/self-service/account-verification/backend/enabled die Konto-Verifizierung und die Funktion zum Anfordern neuer Tokens. Es handelt sich um das Backend, das über die Variable self-service/backend-server definiert ist.
Nachdem Benutzer*innen erfolgreich ihr Konto verifiziert haben, erhalten sie eine Nachricht, die die nächsten Schritte erklärt. Auch diese Nachricht können Admins anpassen (Variable
umc/self-service/account-verification/next-steps). Eine Lokalisierung gelingt, wenn die entsprechende Locale an die Variable angehängt wird, z.B.:
umc/self-service/account-verification/next-steps/de

 

Screenhot der Verification-Nachticht in UCS - Users self service

 

Und was ist mit Single Sign-on?

Dank Single Sign-on (SSO) melden sich Benutzer*innen einmal an und erhalten dann automatisch Zugriff auf alle Programme und Dienste der UCS-Umgebung. Wer nicht möchte, dass unverifizierte Konten SSO nutzen können, kann dies mit Hilfe der UCR-Variable saml/idp/selfservice/check_email_verification auf dem Domänencontroller Master und auf allen Domänencontrollern Backup konfigurieren. Accounts, die ein Administrator oder eine Administratorin angelegt hat, sind von der Einstellung nicht betroffen.
Um Benutzer*innen darüber zu informieren, dass sie mit den selbst registrierten Accounts keinen Zugriff auf den SSO-Login haben, können Admins eine eigene Fehlermeldung gestalten. Dazu setzen sie die beiden UCR-Variablen saml/idp/selfservice/accountverification/error-title und saml/idp/selfservice/accountverification/error-descr. Auch in diesem Fall geschieht die Lokalisierung der Nachricht durch Anhängen der passenden Locale: saml/idp/selfservice/accountverification/error-title/de

Selbst registrierte Konten löschen

Der neue Self Service bietet ebenfalls die Möglichkeit, dass Benutzer*innen das Löschen ihres Kontos beantragen können. UCS-Admins aktivieren das Feature über die UCR-Variable
umc/self-service/account-deregistration/enabled. Anschließend erscheint ein neuer Button Meinen Account löschen auf der Seite Ihr Profil, über den Anwender*innen das Löschen beantragen.
Das Konto wird nicht direkt gelöscht, sondern deaktiviert und als solches im LDAP-Verzeichnisdienst gekennzeichnet. Zusätzlich wird der Eintrag mit dem aktuellen Zeitstempel versehen. Das Skript /usr/share/univention-self-service/delete_deregistere- d_accounts.py dient zum Löschen der als deaktiviert gekennzeichneten Objekte. Es nimmt als Argumente Zeitangaben entgegen und entfernt Konten, die älter als eine angegebene Zeit sind. In einen Cronjob integriert räumt das Skript regelmäßig auf.
Falls die Benutzerin oder der Benutzer eine Mailadresse zur Passwort-Wiederherstellung angegeben hat, verschickt das System eine Nachricht über die Deaktivierung des Kontos an diese Adresse. Admins können die Mails mit den folgenden UCS-Variablen konfigurieren:

  • umc/self-service/account-deregistration/email/sender_address:
    Definiert die Absenderadresse der Benachrichtigung; Voreinstellung: „Password Reset Service <noreply@FQDN>“
  • umc/self-service/account-deregistration/email/server:
    der Servername oder die IP-Adresse des Mailservers
  • umc/self-service/account-deregistration/email/text_file:
    Der Inhalt der Benachrichtigungs-Mail; die Standard-Nachricht befindet sich unter
    /usr/lib/python2.7/dist-packages/univention/management/console/modules/passwordreset/sending/deregistration_notification_e- mail_body.txt und kann als Vorlage für eigene Anpassungen dienen. Zusätzlich kann der Platzhalter {username} verwendet werden.

In Eigenregie

Das neue Feature steht ab sofort zur Verfügung und landet automatisch in der UCS-Umgebung, wenn Admins die für UCS angebotenen Aktualisierungen einspielen. Das Handbuch haben wir entsprechend angepasst und einen neuen Abschnitt zum Self Service hinzugefügt. Sollten Sie Fragen oder Verbesserungsvorschläge zur Selbstregistrierung haben, freuen wir uns über Ihren Beitrag in unserem Forum oder einen Kommentar zu diesem Blogartikel.

UCS Core Edition jetzt kostenfrei einsetzen!

Zum Downloadbereich
Marc Schwarz

Open Source Software Consultant im Professional Service Team bei Univention.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert