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 um die Nextcloud mit seinem Azure AD zu verbinden
Um die Anleitung umzusetzen braucht man eine Nextcloud auf der man Nextcloud-Admin ist sowie Zugriff auf den App-Store hat und ein Azure AD. Azure AD ist mittlerweile in jedem Microsoft 365 Plan enthalten und eine Nextcloud mit Adminrechten kann man sich schnell bei uns für 14 Tage kostenfrei zum testen bestellen. Zugriff auf den App-Store hat man bei uns bei allen Varianten außer der Nextcloud Files.
Vorbereitung auf Seiten der Nextcloud
Nachdem man sich als Nextcloud-Admin 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“
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.
- Name 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.
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.
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.
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“.
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)
- Hier wird das Attribut eingetragen auf das die UID gemapped werden soll.
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
- 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.
- URL-Adresse des Autorisierungsdienstes an den der Dienstanbieter die SLO-Anfrage senden soll.
- Die folgenden Felder werden erst eingeblendet, nachdem man auf „Einstellungen der Attribute-Zuordnung anzeigen“ geklickt hat.
- Attribut dem der Anzeigename zugeordnet werden soll
- Attribut dem die E-Mail-Adresse zugeordnet werden soll
- Identifikationsmerkmal des Autorisierungsdienstes (muss URI sein)
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.
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.