Okta ist derzeit eines der beliebtesten Cloud-Identitätsmanagementsysteme. Deshalb bieten wir Ihnen die Möglichkeit, die Funktionen von Okta mit der Nuxeo Content Services Platform zu integrieren. Die Konfiguration der Nuxeo Platform für die Verwendung von Okta zur Authentifizierung und Benutzerbereitstellung ist extrem einfach!
Die Nuxeo Platform unterstützt die Integration mit beliebigen SAML-2.0-Identitätsprovidern und wurde bisher erfolgreich mit Okta, OneLogin, Ping One, SSOCircle, Google, OIF und ADFS getestet. In diesem Blogbeitrag möchte ich mich auf Okta konzentrieren und zeigen, wie schnell und einfach sich die Integration mit Nuxeo Studio konfigurieren und einrichten lässt.
Der Anwendungsfall
Stellen wir uns vor, Ihr Unternehmen verwendet Okta bereits als Identitätsprovider und Sie haben sich entschieden, die Nuxeo Platform als Lösung für das globale digitale Asset-Management (DAM) Ihrer Organisation zu nutzen. Die Nuxeo Platform muss nun mit Okta konfiguriert werden.
Voraussetzungen
Sie kennen die Grundlagen der Nuxeo Platform und haben mit Nuxeo Studio DAM-Projekten bereits tolle neue Funktionen hinzugefügt.
Die Lösung
Ich fange am besten von vorne an. Da ich den Prozess so schnell wie möglich abschließen möchte, stelle ich lediglich einen Nuxeo LTS 2016 Docker-Container (8.10) in meinem bereits vorhandenen OpenShift-Cluster bereit und ermögliche unter http://example-nuxeo-test-okta-integration.apps.io.nuxeo.com/ Zugriff darauf (es handelt sich hierbei nur um eine Demo-URL, die später nicht mehr verfügbar ist). Es ist natürlich irrelevant, wo und wie Sie die Nuxeo Platform bereitstellen (ich bin einfach Fan von Containern). Die Nuxeo-Implementierungsschritte und die Konfigurierung von Okta sind unabhängig von der Bereitstellungsart immer die gleichen. Sie können diese Anleitung auch verwenden, um die Nuxeo Platform mit beliebigen SAML-2.0-Identitätsprovidern zu integrieren.
Sollten Sie nicht über einen laufenden Nuxeo Server verfügen, können Sie wie folgt lokal einen Container starten:
$ docker run -p 8080:8080 nuxeo:8.10
Konfiguration von Okta
Zunächst muss die Nuxeo Platform so konfiguriert werden, dass sie SAML-basierten Single Sign-On über Okta akzeptiert. Hierzu müssen Sie in Okta eine neue Anwendung einrichten. In unserer Okta-Dokumentation finden Sie auch ein Tutorial mit detaillierten Anweisungen, die Sie hierbei unterstützen. Hier eine kurze Zusammenfassung:
1. Sie sollten bereits über eine Okta-Organisation verfügen. Falls nicht, erstellen Sie zunächst eine neue Organisation. 2. Erstellen Sie über Admin/Applications (Administration/Anwendung) eine neue Anwendung (ich habe meine Nuxeo Okta Integration genannt) und wählen Sie als Anmeldeverfahren “SAML 2.0” aus.
3. Legen Sie in den SAML-Einstellungen die Parameter “Single sign on URL/IdP” (URL/IdP für Single-sign-on) und “Audience URI (SP Entity ID)” (Zielgruppen-URI (SP-Entitäts-ID)) auf folgende Werte fest:
- http://$NUXEO_URL/nuxeo/nxstartup.faces , wenn Sie mit der JSF-Benutzeroberfläche (oder beiden Benutzeroberflächen) arbeiten - http://$NUXEO_URL/nuxeo/ui , wenn Sie nur die Web-Benutzeroberfläche verwenden
Ich arbeite mit Folgendem:
Außerdem habe ich festgelegt, dass die Eigenschaften “lastName” (Nachname), “firstName” (Vorname) und “email” (E-Mail-Adresse) des Okta-Benutzerprofils bei der Authentifizierung an die Nuxeo Platform weitergeleitet werden sollen.
4. Konfigurieren Sie alle weiteren benötigten Angaben (Okta bittet Sie um Feedback) und schon sind Sie (fast) fertig.
5. Prüfen Sie nach Erstellung der Anwendung, dass die Identitätsprovider-Metadaten für diese Anwendung abgerufen werden, da Sie diese für Nuxeo benötigen. Navigieren Sie in der Okta-Anwendung zur Anmeldeseite und kopieren Sie den Link. (Diesen finden Sie, wie unten dargestellt, in den Anweisungen für die Anzeigeneinrichtung.)
Sollten Sie sich fragen, wie Benutzer in Okta verwaltet werden, folgen Sie den unten beschriebenen Schritten. Falls nicht, springen Sie direkt zur Nuxeo-Konfiguration und fügen Sie später Benutzer hinzu.
6. Konfigurieren Sie die Benutzer in Ihrer Okta-Organisation.
Sollten Sie Okta zuvor schon verwendet haben, sind in Ihrer Organisation möglicherweise bereits Benutzer konfiguriert (unter Umständen sogar durch Verzeichnisintegration). Sollte dies nicht der Fall sein und sind noch keine Benutzer vorhanden, fügen wir einen Platzhalterbenutzer hinzu: Max Mustermann (Englisch: John Doe). Benutzer lassen sich auf vielerlei Art und Weise in Okta importieren, in diesem Beispiel fügen wir jedoch nur einen Benutzer manuell hinzu. Bei Benutzern einer Okta-Domäne/-Organisation handelt es sich um globale Benutzer, die sich beliebigen Okta-Anwendungen in der Organisation zuweisen lassen. Möchten Sie einen neuen Benutzer hinzufügen, navigieren Sie zu “Directory/People” (Verzeichnis/Personen) und “Add Person” (Person hinzufügen):
Vergewissern Sie sich, dass die E-Mail-Adresse (der Einfachheit halber) als Benutzername festgelegt wird und senden Sie eine Aktivierungs-E-Mail, wenn Max seine E-Mails jetzt wahrscheinlich gerade checkt. :) Vergewissern Sie sich ebenfalls, dass die Mehrfaktor-Authentifizierung eingerichtet ist, falls Max Mustermann diese verwendet.
7. Weisen Sie Okta-Benutzer aus Ihrer Organisation der neu erstellen Okta-Anwendung zu.
Max Mustermann befindet sich nun in unserem System, wir müssen ihn jetzt also der neu erstellten Okta-Anwendung zuweisen. Gehen Sie zurück zu den Anwendungen, wählen Sie Ihre neue Anwendung oder die Nuxeo-Okta-Anwendung aus und klicken Sie auf “Assignments/Assign/Assign to People” (Zuweisungen/Zuweisen/Personen zuweisen):
Konfigurieren wir die Nuxeo Platform nun so, dass unsere brandneue Okta-Anwendung für die Authentifizierung eingesetzt werden kann.
Konfiguration von Nuxeo
1. Installieren Sie den SAML2-Authentication-Marketplace. Vergewissern Sie sich, dass Sie die für Ihren Server passende Version auswählen. In meinem Fall ist das die Version 2.3. $NUXEO_HOME/bin/nuxeoctl mp-install saml2-authentication
2. Weisen Sie die Nuxeo Platform an, die Authentifizierung gegen die Okta-Anwendung durchzuführen, indem Sie ein neues “OKTA_AUTH”-Authentifizierungs-Plugin verwenden, und weisen Sie die Attribute ihren entsprechenden Gegenstücken zu, die Sie in der Okta-Anwendung konfiguriert haben.
Fügen Sie hierzu dem Studio-Projekt unseren Beispielbeitrag hinzu und ändern Sie lediglich den Parameter “metadata” (Metadaten), um auf die Metadaten des Identitätsproviders oder auf die Okta-Anwendung (die zuvor in Schritt 5 der Okta-Anwendungskonfiguration abgerufene URL) zu verweisen.
Testen Sie die Integration!
Wurde alles ordnungsgemäß eingerichtet, sollte nun auf der Anmeldeseite der Nuxeo Platform ein neuer Okta-Link zu sehen sein:
Klicken Sie auf den Okta-Link. Sie sollten nun auf die Okta-Anmeldeseite umgeleitet werden:
Nach der Anmeldung in Okta kann Max Mustermann auf die Nuxeo Platform zugreifen:
Nach der ersten Anmeldung ist der Benutzer “Max Mustermann” auch in der Nuxeo Platform zu finden und kann dort wie ein normaler Benutzer behandelt werden (ihm können Rechte, Aufgaben usw. zugewiesen werden). Sollen Ihre Okta-Benutzer vor der ersten Anmeldung in der Nuxeo Platform verfügbar sein, können Sie diese mit SCIM bereitstellen. Genauere Informationen dazu erhalten Sie in einem meiner nächsten Blog-Beiträge.