Identität mit SAML verbinden

Vorsicht

Die Verfügbarkeit dieser Funktion hängt von der Lizenz der Opendatasoft-Domain ab.

Einige Unternehmen haben bereits einen Benutzer-Verzeichnisdienst zur Verwaltung der Authentifizierung und Berechtigung ihrer Benutzer, weshalb sie die Benutzerverwaltungsfunktionen von Opendatasoft nicht zwingend benötigen.

Um diesem Anwendungsfall gerecht zu werden, unterstützt die Opendatasoft-Plattform externe Identity Provider (IdP) über den SAMLv2-Standard. Dies ermöglicht die Einrichtung eines Identitätsverbunds zwischen einer Domain (die als Service Provider fungiert) und dem IdP. Mit einer solchen Föderation können sich die Benutzer einer Domain über einen Identity Provider bei der Plattform anmelden. Außerdem können sie in diesem Fall ihren aktiven Sicherheitskontext wiederverwenden, um einen SSO-Mechanismus zu erstellen.

Wird ein SAML-Identity-Provider auf einer Domain konfiguriert, kann ein Benutzer in 3 Kategorien eingeteilt werden.

  • Ein standardmäßiger Opendatasoft-Nutzer, der per E-Mail eingeladen wurde oder sich auf einer Domain registriert hat: Dieser Benutzer meldet sich über die Standard-Anmeldeoberfläche mit seinem üblichen Opendatasoft-Benutzernamen und Passwort an. Das Konto ist im gesamten Opendatasoft-Netzwerk verfügbar. Opendatasoft-Nutzer sind auf der gesamten Plattform mit dem Piktogramm icon-world gekennzeichnet.

  • Ein lokaler Nutzer, der sich über den IdP des Unternehmens authentifiziert: dieser Benutzer meldet sich ausschließlich über den IdP des Unternehmens an. Da dies auf eine bestimmte Domain beschränkt ist, kann die Nutzung der Funktionen des Opendatasoft-Netzwerks eingeschränkt sein. Lokale Nutzer sind auf der gesamten Plattform mit dem Piktogramm icon-id-card gekennzeichnet.

  • Ein verknüpfter Benutzer, der ein standardmäßiges Opendatasoft-Konto hat, aber auf dieser spezifischen Domain mit einer Identität vom IdP des Unternehmens verknüpft ist. Dieser Benutzer ist ein standardmäßiger Opendatasoft-Nutzer, der sich sowohl über die Opendatasoft-Anmeldeoberfläche als auch über den IdP des Unternehmens authentifizieren kann. Da es sich bei den verknüpften Benutzern um Opendatasoft-Benutzer mit SAML-Authentifizierungsfähigkeiten handelt, sind sie auf der gesamten Plattform mit den Piktogrammen icon-world und icon-id-card gekennzeichnet.

Lokaler Nutzer

Jeder Benutzer, der ein Benutzerkonto bei dem von einer Domain vertrauten IdP und kein Opendatasoft-Benutzerkonto hat, kann sich über SAML verbinden. Bei erstmaliger Anmeldung wird für den Benutzer ein lokaler Nutzer basierend auf den SAML-Einstellungen der Domain erstellt.

Dabei handelt es sich um folgende Einstellungen:

  • Account Mapper: ein Paramtersatz, der vom IdP gesendet wurde und den Benutzer eindeutig identifiziert,

  • Attribute Mapper: die Parameter, die dem Vornamen, Nachnamen und der E-Mail-Adresse des Benutzers entsprechen.

Diese lokalen Nutzer haben die Berechtigung, die öffentlichen Datensätze der Domain standardmäßig zu durchsuchen. Diesen Benutzern können zusätzliche Berechtigungen auf Domainebene, für einzelne Datensätze oder über Gruppen erteilt werden (mit Ausnahme der Gruppe SAML-Benutzer zu der sie automatisch gehören).

Das Erstellen neuer lokaler Benutzer über eine IdP-Authentifizierung kann über das Kontrollkästchen "Disable local user provisioning" (lokale Benutzerbereitstellung deaktivieren) in der SAML-Konfiguration deaktiviert werden. Das Deaktivieren der lokalen Benutzerbereitstellung verhindert nicht, dass sich bestehende lokale Benutzer mit SAML anmelden.

Verknüpfter Benutzer

Benutzer mit einem Opendatasoft-Benutzerkonto können dieses Konto mit bestimmten Werten des Parametersatzes verknüpfen, der in der Account-Mapper-Einstellung festgelegt wurde.

Sobald diese Verknüpfung hergestellt wurde, werden Benutzer, die sich über SAML anmelden, bei ihrem Opendatasoft-Benutzerkonto angemeldet. Verknüpften Nutzern können beliebige Berechtigungen zugewiesen werden und sie können wie alle anderen Benutzer zu Gruppen hinzugefügt werden. Sie werden wie Opendatasoft-Benutzer betrachtet und sind zugleich automatisch Mitglieder der Gruppe SAML-Benutzer.

In diesem Modus kann jeder Benutzer ein Opendatasoft-Konto haben, sich aber trotzdem über SAML bei einer bestimmten Domain anmelden.

Es gibt zwei Möglichkeiten, um ein Opendatasoft-Benutzerkonto zu verknüpfen:

  • eine Möglichkeit besteht darin, in der Registerkarte Identität der Benutzerkontoeinstellungen auf "Verknüpfen Sie Ihr Konto mit einem SAML-Konto auf dieser Domain" zu klicken:

"Link your account to a SAML account on this domain" link in the identity tab of the user account settings
  • die zweite Methode ist das Erstellen der Verknüpfung während des Kontoerstellungsprozesses durch Klicken auf den Link zum Abschließen der Registrierung über SAML. Dies beschleunigt den Kontoerstellungsprozess und die Kontoverknüpfung.

Account registration in SAML enabled domains

Auswahl der standardmäßigen Anmeldeseite

Die Opendatasoft-Plattform ermöglicht die Auswahl der Anmeldeseite, die den Benutzern angezeigt wird, wenn sie auf einen Anmelde-Link klicken oder versuchen, auf eine eingeschränkte Seite zuzugreifen.

Wird die IdP-Anmeldeseite als Standard ausgewählt, wird der SAML-Authentifizierungsprozess automatisch eingeleitet, wenn ein anonymer Nutzer auf den Anmelde-Link klickt oder versucht, auf eine eingeschränkte Seite wie das Backoffice zuzugreifen. Wird die IdP-Anmeldeseite ausgewählt, können Benutzer, die sich mit ihren Opendatasoft-Anmeldeinformationen bei der Plattform anmelden möchten, dies tun, indem sie die Login-Seite der Domain unter https://<platform-url>/login/ aufrufen.

Single Log-out

Die Opendatasoft-Plattform unterstützt das standardmäßigen SAML Single Log-out-Verfahren unter Einsatz der HTTP-Redirect-Bindung. Wird dies vom IDP unterstützt, hat die Abmeldung eines über SAML verbundenen Benutzers eine Abmeldung beim IDP zur Folge und die Abmeldeanfrage des IDP führt zur Abmeldung des Benutzers auf der Plattform.

Registrieren und Konfigurieren eines Identity Providers

  1. Navigieren Sie zur Anmeldeseite in der Domain-Konfigurationsschnittstelle.

  2. Klicken Sie auf "Zugriff für SAML-Benutzer erlauben"

SAML IDP configuration interface
  1. Kopieren Sie Ihr Identity Provider Metadatendokument in das Feld "IDP Metadatendokument".

  2. Falls Sie Microsoft Azure Active Directory als IDP verwenden, klicken Sie das entsprechende Kontrollkästchen an.

  3. Wenn Sie die Erstellung lokaler Benutzer deaktivieren und damit sicherstellen möchten, dass nur bereits vorhandene Benutzer über SAML eine Verbindung zur Plattform herstellen können, so markieren Sie das Kontrollkästchen "Lokale Benutzerbereitstellung deaktivieren".

  4. Geben Sie den vom IDP gesandten Attributsatz ein, der nur den Benutzer definiert.

    Falls die Benutzer durch ihre NameID definiert werden und das NameID-Format nicht transient ist, muss nichts ausgefüllt werden.

    Wenn Ihre Benutzer beispielsweise durch das von Ihrem IdP übermittelte Attribut "FirstName" und "LastName" definiert sind, geben Sie zunächst "FirstName" in die Box ein, drücken Sie auf Enter, geben Sie danach "LastName" ein und drücken Sie erneut auf Enter.

  5. Geben Sie die Attribut-Mappings für den Benutzernamen ein: Nachname, Vorname und E-Mail-Adresse.

    Hier müssen Sie die Feldnamen angeben, wie sie vom Identity Provider gesandt wurden.

    Wenn Ihr Identity Provider beispielsweise den Vornamen des verbundenen Benutzers in einem Attribut namens "GivenName" übermittelt, ist es dieser Name, den Sie in das Feld "FirstName" eingeben müssen.

    Falls Ihr Identity Provider Ihnen aus irgendeinem Grund nicht alle diese Elemente übermittelt, lassen Sie die entsprechenden Felder bitte frei. Die Plattform generiert sie automatisch auf Grundlage anderer verfügbarer Attribute.

  6. Optionale Eingabe einer Zugangsbedingung.

    Die erste Box ist der Name des Attributs, das geprüft werden soll, und die zweite der Wert dieses Attributs. Wenn Sie nur das Vorhandensein eines Attributs prüfen möchten, ohne Wertbegrenzung, können Sie die zweite Box einfach leer lassen.

    Falls Ihnen beispielsweise Ihr Identity Provider eine Liste mit "Rollen" für die Benutzer zuschickt und Sie sicherstellen wollen, dass nur diejenigen Benutzer Zugang erhalten, die eine Rolle haben, dann geben Sie "Rollen" in die erste Box unter "Bedingter Zugang" ein. Wenn Sie nur Benutzern mit der Rolle "DataAccess" eine Verbindung zur Domain erlauben wollen, geben Sie bitte "DataAccess" in die zweite Box ein.

  7. Optionale Konfiguration der Standard-Anmeldeseite

    Die Konfiguration der standardmäßigen Anmeldeseite ist auf der Sicherheitsseite der Domain-Konfiguration zu finden.

Default login page selection interface in the security configuration page

Konfigurieren Ihres Identity Providers

Die Konfiguration des Identity Providers hängt von der Implementierung ab. Sie umfasst jedoch in jedem Fall den Import des Metadatendokuments des Service Providers, um einen Identitätsverbund zu ermöglichen.

Sie können das Metadatendokument für Ihre Opendatasoft -Domain auf https://<YOUR DOMAIN>.opendatasoft.com/saml2/metadata.xml herunterladen.

Benutzerattribute zum Filtern von Daten vewenden

Über die Funktion #attr können Sie Datensatzeinträge so filtern, dass nur Einträge zurückgegeben werden, die einem Wert entsprechen, der in den vom IdP gesendeten Benutzerattributen festgelegt wurde. Bei den folgenden Beispielen nehmen wir an, dass wir die 3 Benutzer mit den entsprechenden Benutzernamen und SAML-Attributen user-country (Benutzerland) und user-language (Benutzersprache) laut folgender Tabelle haben.

Benutzer

Benutzerland

Benutzersprache

Benutzer1

Frankreich

Französisch

Benutzer2

Kanada

Französisch

Benutzer3

Vereinigte Staaten

Englisch

Und einen Datensatz mit Einträgen laut folgender Tabelle.

Land

Sprache

Nachricht

Weltweit

Englisch

Hallo allerseits

Frankreich

Französisch

Bonjour à tous les Français

Kanada

Französisch

Bonjour à tous les Canadiens

Kanada

Englisch

Hello to all Canadians

Vereinigte Staaten

Englisch

Hello to all Americans

Mit der Anfrage #attr(country, user-country) können wir Beschränkungen für diese Benutzer festlegen, damit sie nur für ihr jeweiliges Land geltende Nachrichten sehen.

Benutzer1 sieht

Land

Sprache

Nachricht

Frankreich

Französisch

Bonjour à tous les Français

Benutzer2 sieht

Land

Sprache

Nachricht

Kanada

Französisch

Bonjour à tous les Canadiens

Kanada

Englisch

Hello to all Canadians

Benutzer3 sieht

Land

Sprache

Nachricht

Vereinigte Staaten

Englisch

Hello to all Americans

Mit der Anfrage #attr(language, user-language) können wir auch Beschränkungen für diese Benutzer festlegen, damit sie nur Nachrichten in ihrer jeweiligen Sprache sehen.

Benutzer1 sieht

Land

Sprache

Nachricht

Frankreich

Französisch

Bonjour à tous les Français

Kanada

Französisch

Bonjour à tous les Canadiens

Benutzer2 sieht

Land

Sprache

Nachricht

Frankreich

Französisch

Bonjour à tous les Français

Kanada

Französisch

Bonjour à tous les Canadiens

Benutzer3 sieht

Land

Sprache

Nachricht

Weltweit

Englisch

Hallo allerseits

Vereinigte Staaten

Englisch

Hello to all Americans

Da dies eine Funktion der Anfragensprache ist, kann sie auch mit den üblichen Operatoren gruppiert werden. Zum Beispiel können wir mit der Anfrage #attr(language, user-language) AND #attr(country, user-country) Beschränkungen für Benutzer festlegen, damit sie nur Nachrichten sehen, die ihrem Land und ihrer Sprache entsprechen.

Benutzer1 sieht

Land

Sprache

Nachricht

Frankreich

Französisch

Bonjour à tous les Français

Benutzer2 sieht

Land

Sprache

Nachricht

Kanada

Französisch

Bonjour à tous les Canadiens

Benutzer3 sieht

Land

Sprache

Nachricht

Vereinigte Staaten

Englisch

Hello to all Americans