Single sign-on (SSO) mit Microsoft

Traditonell muss sich jeder Benutzer für jeden Web-Applikation oder Webseite, die er nutzt, eigene Zugangsdaten aus Benutzernamen und Passwort erstellen und sich merken.

Dies hat zwei grundlegende Nachteile:

  • Die Benutzer vergessen regelmäßig die Zugangsdaten
  • Die Benutzer verwenden aus Bequemlichkeit bei mehreren Applikationen die selben Zugangsdaten

Die Lösung ist Single sign-on. Also die Einmalanmeldung bei einem Web-Dienst, wie Librario, über ein firmeninternes, zentrales System.

Librario unterstützt hierzu Microsoft Office 365, bzw. den enthaltenen Microsoft Azure Active Directory (Azure AD).

Folgende Anleitung erläutert die Voraussetzungen und Schritt für Schritt, wie man den Azure AD sowie Librario konfigurieren muss.

Um Single sign-on über Azure AD zu ermöglichen müssen folgende Voraussetzungen erfüllt sein:

  • Ein Azure AD muss vorhanden sein
  • Die eigene Domain sollte auch bei Azure AD als primäre Domain hinterlegt sein. (Siehe Anleitung Quickstart: Add a custom domain name to Azure Active Directory)
  • Die eigene Azure AD Edition muss noch eine freie App im Kontingent der Apps für das Einmalige Anmelden enthalten. (Siehe Übersicht der Azure AD Editionen)
  • Sie müssen in einem Librario Konzern-Tarif sein um Single sign-on (SSO) nutzen zu können.

Im ersten Schritt muss die ID des Azure AD ermittelt werden.

  1. Besuchen Sie das Azure Portal https://portal.azure.com und melden Sie sich an
  2. Hinweis: Stellen sie sicher, dass Sie das richtige Directory ausgewählt haben. https://azure.microsoft.com/de-de/updates/edit-directory-now-in-new-portal/
  3. Folgen Sie dieser Anleitung um die Azure AD tenant ID zu ermitteln: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#get-tenant-id
    Kurzversion auf StackOverflow: https://stackoverflow.com/a/49959555/745570

Notieren Sie diese Azure AD tenant ID für später.

Erstellen Sie eine App registration.

Folgen Sie dieser Anleitung um die Applikation in Ihrem Active Directory zu registrieren: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#create-an-azure-active-directory-application

Wichtig ist, dass folgende Parameter gesetzt werden:

  • Name: Librario
  • Application type: Web app / API
  • App-ID URL: (beliebiger Wert möglich)
  • Sign-On URL: https://<ihre-firma>.mylibrar.io
  • Multi-tenanted: no (das ist sehr wichtig, denn andernfalls kann jeder(!) auf Ihre Bibliothek zugreifen)
  • Redirect URLs: https://<ihre-firma>.mylibrar.io/users/auth/azure_oauth2/callback
  • Terms of service URL: https://www.librario.de/terms/nutzungsbedingungen/
  • Privacy statement URL: https://www.librario.de/terms/datenschutzerklaerung/

Der Applikation muss im nächsten Schritt noch bestimmte Genehmigungen eingeräumt werden. Die eine Berechtigung erlaubt der Applikation, dass sich Benutzer überhaupt über sie anmelden dürfen. Die zweite Berechtigung erlaubt, dass die Applikation einfache Benutzerdaten lesen kann (z.B. Name und E-Mail Adresse).

Folgende Anleitung beschreibt unter Punkt 3 "So fügen Sie Berechtigungen für den Zugriff auf Ressourcen-APIs von Ihrem Client hinzu" wie grundsätzlich Berechtigungen eingeräumt werden können: https://docs.microsoft.com/de-de/azure/active-directory/develop/active-directory-integrating-applications#to-add-application-credentials-or-permissions-to-access-web-apis

Folgende Delegated Permisions für die API Windows Azure Active Directory sind notwendig:

  • Read all users' basic profiles
  • Sign in and read user profile

Folgen Sie dieser Anleitung um die Applikation ID sowie den Key zu ermitteln: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal#get-application-id-and-authentication-key

Hinweis: der Key hat in der Regel eine begrenzte Gültigkeitsdauer. Tragen Sie sich in Ihren Kalender einen wiederkehrenden Termin ein, damit Sie rechtzeitig den Key aktualisieren.

Notieren Sie die Application ID und den Key für später. Beachten Sie, dass dieser Key sensibel ist und geheim bleiben sollte.

Tragen Sie die Daten in den Account-Einstellungen ein. Gehen Sie hierzu zu den Einstellungen und wählen Sie "Konto verwalten". Sie sollten einen Reiter mit dem Titel "Single Sign-on mit Azure Active Directory" bzw. "Single Sign-on mit Microsoft" sehen. Die Adresse hiervon lautet https://<meine-firma>.mylibrar.io/account/settings/sso_azure_ad

Screenshot der SSO-Konfiguration mit Microsoft Azure AD

Wählen Sie diesen Reiter und tragen Sie folgende Werte ein:

  • Application ID: Siehe Schritt 4
  • Secret Key: Siehe Schritt 4
  • Azure AD tenant ID: Siehe Schritt 1
  • Standard Domain: Tragen Sie hier die Domain Ihrer E-Mail-Adressen ein. Zum Beispiel example.com, wenn alle Ihre E-Mail-Adressen im Active Directory auf @example.com enden würden. Sie sind ein Hinweis für den Login-Mechanismus von Microsoft um den Login-Vorgang zu beschleunigen.

Klicken Sie im Anschluss auf "Konto aktualisieren" um die Daten zu speichern.

Im nächsten Schritt sollten Sie den Login-Mechanismus testen:

Melden Sie sich hierzu von Librario ab und dann über die Funktion "Anmelden mit Microsoft" wieder an. Wenn dies ohne Probleme funktioniert, sind Sie grundsätzlich fertig mit der Konfiguration von Single sign-on.

Bitte planen Sie den Betrieb unter Berücksichtigung Ihrer internen Richtlinien.

Einige Hinweise:

  • Das Azure AD Secret wird nach einer gewissen Zeit ablaufen (Jahre)! Bitte planen Sie rechtzeitig die Rotation des Secrets
  • Klären Sie den 1st und ggf. 2nd-Level-Support für Ihre Bibliothekssoftware, inkl. Urlaubsvertretung

Die SSO-Anmeldung funktioniert grundsätzlich, aber ein neuer Mitarbeier kann sich nicht anmelden

Überprüfen Sie folgendes:

  • Hat der Benutzer die richtigen Zugangsdaten bei Microsoft verwendet und war der Anmelde-Vorgang bei Microsoft erfolgreich?
  • Es können sich maximal so viele Benutzer anmelden, wie durch dem gewählten Tarif vereinbart. Überprüfen Sie die Anzahl der Benutzer über die Statistik-Seite https://<meine-firma>.mylibrar.io/account/statistics.
  • Funktioniert der SSO-Mechanismus überhaupt noch? Testen Sie es mit einem anderen Benutzerkonto.
  • Überprüfen Sie, ob nicht die Azure AD Applikation aus ihrem Active Directory gelöscht wurde.
  • Überpfüfen Sie ob der Secret Key (s.o.) nicht abgelaufen ist.

Librario erhält "komische" E-Mail-Adressen bei der Anmeldung eines Benutzers

Komisch könnte zum Beispiel john.doe@foobar.onmicrosoft.com sein.

Sprechen Sie mit zum zuständigen Administrator um die primäre domain Ihres Azure AD zu aktualisieren.

Ich sehe die Einstellungen zu Single sign-on (SSO) nicht in den Account-Einstellungen

Nicht jeder Tarif bietet das Feature Single sign-on (SSO). Erwägen Sie den Wechsel in einen passenden Tarif.

SSO funktioniert "plötzlich" nicht mehr

SSO hat lange Jahre funktioniert und auf einmal geht es nicht mehr? In diesem Fall kann das Secret (s.o.) von Azure AD abgelaufen sein. Bitte neu generieren und dieses in Librario eintragen.