Wie funktioniert die Nextcloud Authentifizierung gegen Azure AD

In vielen Firmen, Schulen, Universitäten und anderen Organisationen wird gerne Active Directory genutzt um Benutzer zu verwalten. Natürlich ist auch eine möglich seine Nextcloud gegen sein Active Directory zu authentifizieren.

In diesem Artikel erklären wir, wie man seinen Nextcloud mit eine Azure AD nutzt.

Vorbereitung auf Seiten der Nextcloud

Nachdem man sich mit einem administrativen Account in der Nextcloud Instanz angemeldet hat, geht man in die Einstellungen und dann in der linken Navigation auf den Punkt “SSO & SAML-Autorisierung”. Sollte der Punkt nicht ersichtlich sein, muss erst die App SSO & SAML-Autorisierung installiert werden. Nachdem man integrierte SAML-Autorisierung gewählt hat, erscheint eine Maske wie im Screenshot zu sehen.

Dieser Schritt dient nur als Vorbereitung für die folgenden Schritte, weil hier im weiteren Verlauf Daten aus dem AzureAD eingetragen werden müssen. Zunächst wird die Maske aber so wie sie ist gelassen. Das Fenster bleibt offen für später.

Erstellen der AzureAD Enterprise Application 

Nun öffnet man das Azure Portal um zur Verwaltung des AzureAD zu kommen. Das Azure Portal ist unter https://portal.azure.com erreichbar. Die Anmeldung dort muss mit einem Account erfolgen der Globaladmin ist, um die entsprechenden Rechte zu haben.

Im AzureAD angekommen navigiert man zum Punkt “Enterprise Applications” AD ENterprise Applikation

Anschließend klickt man auf den Punkt “New Application”, oben, oberhalb der nun zu sehenden Tabelle. 

Da es Nextcloud nicht als Vorlage in der nun zu sehenden App Gallery gibt, klickt man anschließend auf “Create your own application”.Nun folgt man den Schritten zur Konfiguration der neuen AzureAD Enterprise Application. 

  1. Name der ApplikationName der Applikation 
    Dieser Name hat keine technische Bewandtnis und ist frei wählbar. Als Auswahl bei den drei Radiobutton unter dem Namen wählt man den Button aus, der beschreibt das man eine Applikation anbinden möchte, die nicht in der Gallery vorhanden ist. Anschließend klickt man auf “Create” um die Erstellung zu starten. 

Name der Applikation

Als ersten Schritt nach der Erstellung muss man nun seinen ersten Testuser aus dem AzureAD auswählen, der die Anwendung später verwenden soll. Ohne einen ausgewählten User, schlägt die Einrichtung fehl. 

Azure App Overview

Daher klickt man in der linken Navigation auf “Users and groups” und dann auf “+ Add user/group”. Später ist es evtl. sinnvoll hier eine AzureAD Gruppe mit aufzunehmen, in der alle User enthalten sind, die sich in der Nextcloud anmelden können sollen. 

Users and Groups

Add Asigment

Nun geht es mit der Konfiguration der Verbindung zwischen der AzureAD Enterprise Application und der Nextcloud weiter.

Dazu klickt man in der linken Navigation auf den Punkt “Single Sign-On” und dann auf die Kachel “SAML”.

AD SSO

Wie die erscheinende Maske vermuten lässt, muss man nun mit der Konfiguration des ersten Blocks beginnen, indem man auf “Edit” klickt. 

Die Werte die bereitgestellt werden müssen sind die beiden Felder “Identifier (Entity ID)” und “Reply URL (Assertion Consumer Service URL)”. 

Die Werte lauten hierbei wie folgt:

Identifiert: https://domaindernextcloud.tld/apps/user_saml/saml/metadata

Diese URL kann sich durch Versionsunterschiede oder Nextcloud Einstellungen wie URL Shortener ändern!

Reply URL: https://domaindernextcloud.tld

Nachdem die Werte gespeichert wurden kann man im Block 3 der SAML Konfiguration das Federation Metadata XML File herunterladen. Das wird später noch benötigt.

Bereitstellen der AzureAD Parameter in der Nextcloud Konfiguration

Nun geht man wieder zurück in die Maske der Nextcloud Konfiguration, die zu Beginn geöffnet wurde.

Die auszufüllenden Felder sind die folgenden:

  • Allgemein (Attribut dem die UID zugeordnet werden soll)
  • Daten des Autorisierungsdienstes
    • Identifikationsmerkmal des Autorisierungsdienstes (muss URI sein)
      • Hier wird der AzureAD Identifier aus der AzureAD Konfiguration eingefügt.
    • URL-Ziel des Autorisierungsdienstes an den der Dienstanbieter die Anmeldungsanfrage senden soll
      • Hier wird die Login URL aus der AzureAD Konfiguration eingefügt.
    • Das folgende Feld wird erst eingeblendet, nachdem man auf “Zeige optionale Autorisierungsdienst-Einstellungen” geklickt hat.
      • URL-Adresse des Autorisierungsdienstes an den der Dienstanbieter die SLO-Anfrage senden soll.
        • Hier wird die Logout URL aus der AzureAD Konfiguration eingefügt.
    • Die folgenden Felder werden erst eingeblendet, nachdem man auf “Einstellungen der Attribute-Zuordnung anzeigen” geklickt hat.

Die folgenden beiden Screenshots zeigen zum einen die ausgefüllte Maske in der Nextcloud Konfiguration und zum anderen nochmal die Stelle, wo die Werte der AzureAD Konfiguration hergenommen werden.

sso und saml 2

Hinterlegen des AzureAD Signing Certificate in der Nextcloud Konfiguration

Als letzter Wert fehlt nun noch das AzureAD Siging Zertifikat in der Nextcloud Konfiguartion. Dieses muss als Zeichenfolge in das Feld “Öffentlichesdes Autorisierungsdienstes” eingetragen werden. Zu finden ist das Zertifikat in die zuvor im AzureAD heruntergeladene Federation XML Datei. Dies öffnet man und sucht nach dem String “<X509Certificate>” Der zu kopierende Wert ist die Zeichenfolge, die zwischen den beiden Stellen <X509Certificate> und </X509Certificate> steht.

Letzter Schritt vor dem Test

Um die Einstellungen nun in der Nextcloud zu speichern muss man schlicht den Punkt “SSO & SAML-Autorisierung” durch ein klick auf den gleichnamigen Punkt in der Navigation neu laden.

Anschließend muss man dringend die Fallback URL aus der orangen Box notieren (wenn nicht schon passiert), diese verschafft einem wieder Zugriff zur Nextcloud Instanz, sollte man sich nun durch einen Konfigurationsfehler ausgesperrt haben.

Test der Anmeldung

Um den Test noch einfach zu gestalten, sollte man nun den Browser mit der Nextcloud Admin Sitzung offen lassen und einfach eine neuen InPrivate Session in einem Browser starten.

Dort geht man nun auf die Startadresse der Nextcloud Instanz und wird sehen, das man sofort zum typischen Microsoft 365 Login umgeleitet wird.

Hier meldet man sich mit den Logindaten des zuvor ausgewählten Testusers an und führt z. B. auch seine MFA aus. Hat man hier alles richtig eingeben, landet man im Dashboard der Nextcloud.