sso_ucs_nextcloud_Blogheader

Einmal anmelden und automatisch Zugriff auf alle Programme und Dienste erhalten – Single Sign-On (SSO) ist ein bewährtes Mittel gegen die Passwort-Müdigkeit, die sich bei immer mehr Anwendern bemerkbar macht. Viele Unternehmen und Bildungseinrichtungen ermöglichen daher die einmalige, zentrale Anmeldung der Benutzerinnen und Benutzer.

Auch mit UCS ist es leicht, Single Sign-On einzurichten (siehe Links am Ende des Artikels). In diesem Artikel möchte ich Ihnen zeigen, wie Sie Nextcloud mit dem SSO-Mechanismus von UCS verknüpfen.

Bevor es an die Konfiguration von Nextcloud und UCS geht, stellen Sie sicher, dass Single Sign-On mit SAML in Ihrer UCS-Umgebung funktioniert. Dazu können Sie z. B. folgende URL im Browser aufrufen:

https://<Hostname des Domaincontroller Master>/univention/saml

Hierdurch gelangen Sie entweder zum SAML-Login oder Ihnen wird eine Fehlermeldung angezeigt. Weitere Informationen zu SAML finden Sie in unserer Dokumentation.

Nextcloud-App: SSO & SAML authentication

Genau wie für UCS gibt es auch für Nextcloud eine Fülle von so genannten Apps, die zusätzliche Funktionen und Features bereitstellen. Die App SSO & SAML authentication bindet Nextcloud in eine vorhandene SSO-Lösung ein. Sie ist in der Nextcloud-Variante aus dem Univention App Center bereits vorinstalliert, und Sie müssen sie lediglich aktivieren.

Dazu melden Sie sich als Administrator in Ihrer Nextcloud-Instanz an und wechseln über das Menü rechts oben in die Abteilung Apps. Wechseln Sie auf der linken Seite zum Punkt Einbindung und aktivieren Sie die App durch einen Klick auf die gleichnamige Schaltfläche.

Wechseln Sie danach über das Menü rechts oben in die Nextcloud-Einstellungen. Blättern Sie auf der linken Seite bis zum neuen Menüpunkt SSO & SAML-Autorisierung. Klicken Sie rechts auf die Schaltfläche Integrierte SAML-Autorisierung benutzen. Es öffnet sich eine Konfigurationsmaske (siehe Screenshot weiter unten), in der Sie die folgenden Einstellungen vornehmen:

  • Aktivieren Sie die Checkbox Anmeldung nur erlauben, wenn ein Konto auf einem anderen Backend vorhanden ist.
  • Als Nächstes entscheiden Sie, ob Sie die Nextcloud-Anmeldung nur über SSO oder auch über LDAP erlauben wollen. Wir empfehlen, die Option Die Verwendung von mehreren Benutzerverwaltungen erlauben zu aktivieren, da Sie so den administrativen Zugriff auf Ihre Nextcloud-Installation nicht verlieren, sollte es zu Problemen mit SSO kommen.
  • Ins Feld Attribut dem die UID zugeordnet werden soll tragen Sie uid ein.
  • Das Feld Optional den Namen des Identitätsanbieters anzeigen können Sie freilassen, um die Voreinstellung SSO & SAML-Anmeldung zu übernehmen. Alternativ tragen Sie einen eigenen Bezeichner wie etwa „Single Sign-On“ ein.
  • Ins Feld Identifikationsmerkmal des Autorisierungsdienstes tragen Sie die Adresse https://ucs-sso.ucs.demo/simplesamlphp/saml2/idp/metadata.php  ein und ersetzen dabei ucs-sso.ucs.demo durch den Hostnamen, unter dem Ihr IdP erreichbar ist. Tipp: Den Hostnamen ermitteln Sie mit dem Befehl ucr, den Sie in ein Terminalfenster auf dem Domaincontroller Master eingeben:
    $ ucr get saml/idp/entityID
    https://ucs-sso.ucs.demo/simplesamlphp/saml2/idp/metadata.php
  • Darunter, ins Feld URL-Ziel des Autorisierungsdienstes an der der Diensteanbieter die Anmeldungsanfrage senden soll tragen Sie die Adresse https://ucs-sso.ucs.demo/simplesamlphp/saml2/idp/SSOService.php ein; ersetzen Sie wiederum ucs-sso.ucs.demo durch den richtigen Hostnamen.

Klicken Sie auf Zeige optionale Autorisierungsdienst-Einstellungen, um zwei weitere Felder auszuklappen.

  • Ins erste Feld (URL-Adresse des Autorisierungsdienstes an den der Diensteanbieter die SLO-Anfrage senden soll) gehört die Adresse https://ucs-sso.ucs.demo/simplesamlphp/saml2/idp/SingleLogoutService.php  (mit dem passenden Hostnamen anstelle von ucs-sso.ucs.demo).
  • Fügen Sie dann im Feld Öffentliches X.509-Zertifikat des Autorisierungsdienstes das Zertifikat des UCS-IdP ein.

Das Zertifikat finden Sie, wenn Sie im Webbrowser die Metadaten des IdP betrachten. Die URL verrät wiederum der Befehl ucr get saml/idp/entityID, den Sie in ein Terminalfenster eingeben. Wenn Sie die Adresse im Browser öffnen, sehen Sie eine XML-Datei. Im Feld ds:X509Certificate steht das Zertifikat, das Sie per Copy & Paste in die Nextcloud-Konfiguration übertragen.

So sehen die Einstellungen der Nextcloud-App auf unserem Testrechner aus:

Service Provider in UCS konfigurieren

Auf UCS-Seite erstellen Sie nun noch einen Service Provider (SP) für Nextcloud, damit das Single Sign-On für die Cloud gelingt. Melden Sie sich als Administrator an und öffnen Sie die Univention Management Console. Wechseln Sie zur Kategorie Domäne (blau hinterlegt) und öffnen Sie dort das Modul SAML identity provider. Per Klick auf Hinzufügen erstellen Sie einen neuen Service-Provider-Eintrag, in dem Sie nun folgende Einstellungen vornehmen:

  • Ins Feld Bezeichner des Service Providers tragen Sie https://master.ucs.demo/nextcloud/apps/user_saml/saml/metadata ein und ersetzen master.ucs.demo durch den richtigen Hostnamen.
  • Darunter geben Sie bei Antwort an diese Service Provider URL nach dem Login Folgendes ein: https://master.ucs.demo/nextcloud/apps/user_saml/saml/acs
  • Ins Feld Format des NameID Attributs gehört dieser Eintrag: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
  • In dieser Maske füllen Sie als Letztes das Feld Name des Attributs, das als NameID verwendet wird aus; hier steht uid.

So sehen die Einstellungen auf unserem Testrechner aus:

Klicken Sie links auf Weitere Einstellungen und aktivieren Sie rechts die Option Erlaube die Übertragung von LDAP Attributen an den Service Provider. Klicken Sie abschließend auf Speichern, um die Einstellungen zu sichern.

Single Sign-On für Benutzer freischalten

Damit die UCS-Benutzer das SSO für Nextcloud verwenden können, schalten Sie Accounts für den Service Provider frei. Dazu wechseln in der Univention Management Console ins Modul Benutzer (gelb). Wählen Sie nun eines oder mehrere Konten aus, die Sie bearbeiten möchten, wechseln auf der linken Seite zum Tab Konto und scrollen bis zum Punkt SAML Einstellungen herunter. Klicken Sie auf Hinzufügen, um Service Provider für die Benutzer freischalten. Wählen Sie den eben erstellten Nextcloud-Service-Provider aus, klicken dann auf Hinzufügen und Speichern im oberen Bereich der Seite.


Single Sign-on in UCS at management consoleEinmalige Anmeldung für alle Dienste und Netzwerke per Single Sign-on
Hier erfahren Sie, wie Single Sign-On (SSO) zu einem effizienteren und sichereren Arbeiten verhilft. SSO heißt für Anwender eine einmalige Anmeldung und die anschließende Nutzung verschiedener Programme, ohne sich wiederholt persönlich anmelden zu müssen.


 

UCS Core Edition jetzt kostenfrei einsetzen!

Zum Downloadbereich

Junior IT Consultant im Professional Service Team bei Univention.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Kommentare

  1. Ist es auch möglich Benutzer über eine LDAP-Gruppe für die Nutzung eines SAML-SP freizuschalten? Heißt, das Nutzungsrecht an die Gruppenzugehörigkeit zu koppeln?

    • Valentin Heidelberger

      Hallo Fabian, die Nutzung eines Service Providers kann aktuell nicht an Gruppen konfiguriert werden. Seit dem UCS 4.4 Erratalevel 216 kann man aber immerhin im Modul „Benutzer“ die User nach ihrer Gruppenmitgliedschaft filtern. Somit erhält man eine Liste aller User einer Gruppe. Diese kann man dann mit einem Klick alle auswählen und in einem Multi-Edit den Service Provider hinzufügen.
      Man kann den Service Provider aber auch über projektspezifische Wege automatisch setzen, z.B. über eine Hook im Benutzer-Import oder ähnliches.

      Es gibt für das Feature auch einen Request in unserem Bugtracker: https://forge.univention.org/bugzilla/show_bug.cgi?id=47567

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