Identiteit samenvoegen met SAML

Opgelet

De beschikbaarheid van deze functionaliteit hangt af van de licentie van het Opendatasoft-domein.

Sommige organisaties hebben reeds een user directory service die de authentificatie en toelating van hun gebruikers beheert en zien weinig waarde in het gebruik van de ingebouwde gebruikersbeheerfuncties van Opendatasoft.

Om deze gebruikerscase aan te pakken, ondersteunt het Opendatasoft-portaal externe Identity Providers (IdP) via de SAMLv2-norm. Zo kan een identiteitssamenvoeging worden opgezet tussen een domein, dat zal optreden als service provider, en deze IdP. Deze samenvoeging laat gebruikers van een domein toe in te loggen op het platform met de identity provider en wanneer ze er een hebben, kunnen ze hun actieve veiligheidscontext hergebruiken om een SSO-mechanisme aan te maken.

Wanneer een SAML identity provider is geconfigureerd op een domein, kan een gebruiker tot 3 categorieën behoren.

  • Een standaard Opendatasoft user die via e-mail werd uitgenodigd of zich heeft geabonneerd op een domein: deze gebruiker logt in op het domein met behulp van de standaard sign-in interface met zijn gebruikelijke gebruikersnaam en wachtwoord van Opendatasoft en dit account is toegankelijk op het volledige Opendatasoft-netwerk. Opendatasoft-gebruikers worden op het volledige platform vertegenwoordigd met het icon-world pictogram.

  • Een local user die wordt geauthentificeerd via de IdP van de organisatie: deze gebruiker logt uitsluitend via de IdP van de organisatie in op het domein en aangezien dit enkel beschikbaar is op een specifiek domein, kan het worden beperkt in het gebruik van de functies die vertrouwen op het Opendatasoft-netwerk. Plaatselijke gebruikers worden op het volledige platform vertegenwoordigd met het icon-id-card pictogram.

  • Een linked user die een standaard Opendatasoft-account heeft maar gekoppeld is aan dit specifieke domein met een identiteit van de IdP van de organisatie. Deze gebruiker is een standaard Opendatasoft-gebruiker die zich kan authentificeren met behulp van zowel de sign-in interface van Opendatasoft en de IdP van de organisatie. Aangezien linked users gebruikers van Opendatasoft met SAML authentificatiemogelijkheden zijn, worden ze op het volledige platform vertegenwoordigd met zowel het icon-world als het icon-id-card pictogram.

Plaatselijke gebruiker

Elke gebruiker die een gebruikersaccount op de IdP heeft die toevertrouwd is door een domein en geen gebruikersaccount van Opendatasoft heeft, kan inloggen via SAML. Wanneer voor het eerst wordt ingelogd, zal een plaatselijke gebruiker worden aangemaakt voor de gebruiker op basis van de SAML-instelling van het domein.

Deze instellingen zijn:

  • de account mapper: een reeks door IdP gestuurde parameters die een gebruiker op een unieke manier identificeren,

  • de attribute mapper: de parameters die overeenstemmen met de voornaam, familienaam en e-mailadres van de gebruiker.

Deze plaatselijke gebruikers hebben de toelating om de publieke datasets van het standaard domein te exploreren. Er kunnen extra toelatingen worden gegeven aan deze gebruikers op domeinniveau, op individuele datasets of via groepen (andere dan de "SAML users" groep, waarvan ze automatisch lid zijn).

Het aanmaken van nieuwe plaatselijke gebruikers via een IdP authentificatie kan worden gedeactiveerd met behulp van het "Disable local user provisioning" aanvinkvakje in de SAML configuratie. Het deactiveren van het aanmaken van plaatselijke gebruikers zal niet verhinderen dat bestaande plaatselijke gebruikers intekenen met behulp van SAML.

Gekoppelde gebruikers

Gebruikers die een Opendatasoft gebruikersaccount hebben kunnen dit account koppelen aan specifieke waarden van de reeks parameters die gedefinieerd staan in de account mapper setting.

Nadat de link werd aangemaakt, zullen gebruikers die inloggen via SAML, ingelogd worden op hun Opendatasoft-gebruikersaccount. Aan gekoppelde gebruikers kunnen toelatingen worden toegekend en ze kunnen worden toegevoegd aan groepen, net zoals alle gebruikers en worden beschouwd als Opendatasoft-gebruikers. Ze zijn ook automatisch lid van de "SAML users" groep.

Met deze modus kunnen gebruikers een Opendatasoft-account hebben maar nog steeds via SAML inloggen op een specifiek domein.

Er zijn twee manieren om een Opendatasoft-gebruikersaccount te koppelen:

  • de eerste is om te klikken op "Link your account to a SAML account on this domein" in de identiteitstab van de instellingen van het gebruikersaccount:

"Link your account to a SAML account on this domain" link in the identity tab of the user account settings
  • de andere methode is om de koppeling aan te maken tijdens het aanmaakproces van het gebruikersaccount door te klikken op de koppeling om de registratie via SAML te voltooien. Hierdoor wordt het aanmaakproces van het gebruikersaccount versneld en wordt een snelle koppeling van het account mogelijk gemaakt:

Account registration in SAML enabled domains

Selectie standaard inlogpagina

Het Opendatasoft-platform laat toe de inlogpagina te kiezen die weergegeven wordt aan gebruikers wanneer ze op een inloglink klikken of toegang proberen te krijgen tot een pagina waarvan de toegang beperkt is.

Wanneer de IdP inlogpagina wordt geselecteerd als standaard, zal de SAML-authentificatiestroom automatisch worden opgestart wanneer een anonieme gebruiker op de inloglink klikt of toegang probeert te krijgen tot een pagina waarvan de toegang beperkt is, zoals de back office. Wanneer de IdP inlogpagina wordt geselecteerd, hebben gebruikers, die met hun Opendatasoft-gegevens willen inloggen op het platform, de mogelijkheid om dit te doen door de inlogpagina van het domein handmatig te bezoeken via https://<platform-url>/login/.

Eenmalig Uitloggen

Het Opendatasoft-platform ondersteunt de standaard SAML Eenmalig Uitloggen-stroom door gebruik te maken van de HTTP-Redirect binding. Dit betekent dat, wanneer de IdP het ondersteunt, een log out uit een SAML-verbonden gebruiker aanleiding zal geven tot een log out uit de IdP en log out-verzoeken vanuit de IdP zullen aanleiding geven tot een log out van de gebruiker op het platform.

Een identiteitsprovider registreren en configureren

  1. Ga naar de intekenpagina in de configuratie-interface van het domein.

  2. Vink het vakje "Toegang verlenen voor SAML-gebruikers"

SAML IDP configuration interface
  1. Plak het metadatadocument van uw identiteitsprovider in het veld "IDP metadatadocument".

  2. Wanneer u Microsoft Azure Active Directory gebruikt als een IDP, vink dan het overeenkomstige vakje aan.

  3. Indien u het aanmaken van een plaatselijke gebruiker wil deactiveren, zorg er dan voor dat enkel bestaande gebruikers via SAML kunnen inloggen op het platform. Vink hiervoor het vakje "Disable local user provisioning" aan.

  4. Voer de reeks attributen in die door de IDP zijn doorgestuurd en waarmee een gebruiker op unieke wijze kan worden geïdentificeerd.

    Wanneer de gebruikers geïdentificeerd worden op basis van hun NameID en indien het NameID-formaat dat door uw IDP gebruikt wordt, niet overgankelijk is, hoeft u niets in te vullen.

    Bijvoorbeeld, wanneer uw gebruikers worden geïdentificeerd worden door het attribuut "FirstName" en "LastName" dat wordt doorgestuurd door uw IdP, voer dan eerst "FirstName" in het vakje en druk op Enter, en vervolgens "LastName" en druk opnieuw op Enter.

  5. Voer de mappings van attributen voor de gebruikersnaam, familienaam, voornaam en e-mailadres in.

    Hier moet u de namen van de velden aangeven aangezien deze door de identiteitsprovider zijn opgestuurd.

    Bijvoorbeeld, wanneer uw identiteitsprovider de aan de gebruiker verbonden voornaam overmaakt in een attribuut met de naam "GivenName", is het dit wat u moet invullen in het veld "FirstName".

    Wanneer uw identiteitsprovider om een of andere reden niet al deze elementen opstuurt, dient u de overeenkomstige velden leeg te laten. Het platform zal deze automatisch genereren op basis van andere beschikbare attributen.

  6. Een toegangsvoorwaarde invoeren.

    Het eerste vakje is de naam van het attribuut dat gecontroleerd moet worden en het tweede is de waarde van dat attribuut. Indien je enkel de aanwezigheid van een attribuut wilt controleren zonder waardebeperking, kunt u het tweede vakje gewoon blanco laten. Wanneer beide velden blanco worden gelaten, wordt er geen voorwaarde ingesteld en zal elke succesvolle login op de IdP-zijde aanleiding geven tot een login op uw Opendatasoft-domein.

    Bijvoorbeeld, wanneer uw identiteitsprovider een lijst met "Rollen" voor de gebruikers opstuurt en u er zeker van wil zijn dat enkele gebruikers die een rol hebben, toegang kunnen krijgen, voer dan "Rollen" in in het eerste vakje onder "Voorwaardelijke toegang". Indien u enkel wil dat gebruikers met de rol "DataAccess" kunnen inloggen op het domein, voer dan "DataAccess" in het tweede vakje in.

  7. Voer de URL in op basis waarvan de gebruiker zijn gebruikersprofiel kan controleren op de IdP. Bij het instellen zal er een link naar deze URL aan de gebruiker worden getoond in zijn gebruikersaccountpagina. Wanneer deze blanco wordt gelaten, zal geen URL aan de gebruiker worden getoond in zijn gebruikersaccountpagina.

  8. Een gepersonaliseerd EntityID voor de Service Provider invoeren. Wanneer deze blanco wordt gelaten, zal de URL van het metadatadocument van de Service Provider gebruikt worden als het EntityID. Wanneer uw IdP EntityID's in URL-formaat niet ondersteunt, kunt u hier om het even welk EntityID instellen.

  9. De SAML login link tekst personaliseren. Wanneer deze blanco wordt gelaten, zal een gelokaliseerd standaardbericht worden weergegeven.

  10. De standaard inlogpagina optioneel configureren

De standaard inlogpaginaconfiguratie kan worden teruggevonden door te surfen naar de veiligheidspagina in de configuratie-interface van het domein.

Default login page selection interface in the security configuration page

Configureer uw identiteitsprovicder

De configuratie van de identiteitsprovider staat los van de implementatie maar bestaat altijd uit het importeren van het metadatadocument van de dienstverlener om een identiteitsfederatie mogelijk te maken.

U kan het metadatadocument voor uw Opendatasoft-domein downloaden op https://<YOUR DOMAIN>.opendatasoft.com/saml2/metadata.xml

Gebruikersattributen gebruiken om data te filteren

Via de #attr-functie is het mogelijk om records van een dataset zodanig te filteren dat de enige records die worden opgeleverd diegene zijn die overeenstemmen met een waarde die ingesteld is in de gebruikersattributen die door de IdP is opgestuurd. Voor de volgende voorbeelden gaan we ervan uit dat we de 3 gebruikers hebben met de respectieve gebruikersnamen en SAML-attributen gebruiker-land en gebruiker-taal zoals die vermeld staan in de volgende tabel.

Gebruiker

gebruiker-land

gebruiker-taal

Gebruiker1

Frankrijk

Frans

Gebruiker2

Canada

Frans

Gebruiker3

Verenigde Staten

Engels

En een dataset met records zoals die vermeld staan in de volgende tabel.

land

taal

bericht

Wereldwijd

Engels

Hallo wereld

Frankrijk

Frans

Bonjour à tous les Français
Canada

Frans

Bonjour à tous les Canadiens
Canada

Engels

Hallo aan alle Canadezen

Verenigde Staten

Engels

Hallo aan alle Amerikanen

We kunnen deze gebruikers zodanig beperken dat ze enkel die berichten zien die van toepassing zijn op hun respectieve landen, met de zoekopdracht #attr(country, user-country).

Gebruiker1 ziet

land

taal

bericht

Frankrijk

Frans

Bonjour à tous les Français

Gebruiker2 ziet

land

taal

bericht

Canada

Frans

Bonjour à tous les Canadiens
Canada

Engels

Hallo aan alle Canadezen

Gebruiker3 ziet

land

taal

bericht

Verenigde Staten

Engels

Hallo aan alle Amerikanen

We kunnen deze gebruikers ook zodanig beperken dat ze enkel berichten zien die in hun respectieve taal zijn weergegeven, met de zoekopdracht #attr(language, user-language).

Gebruiker1 ziet

land

taal

bericht

Frankrijk

Frans

Bonjour à tous les Français
Canada

Frans

Bonjour à tous les Canadiens

Gebruiker2 ziet

land

taal

bericht

Frankrijk

Frans

Bonjour à tous les Français
Canada

Frans

Bonjour à tous les Canadiens

Gebruiker3 ziet

land

taal

bericht

Wereldwijd

Engels

Hallo wereld

Verenigde Staten

Engels

Hallo aan alle Amerikanen

Aangezien het een functie is van de taal van de zoekopdracht, kan ze ook gegroepeerd worden met de gebruikelijke operatoren. Zo kunnen we bijvoorbeeld gebruikers beperken tot diegene die enkel berichten zien die passen bij hun land en hun talen, en dit met de zoekopdracht #attr(language, user-language) AND #attr(country, user-country).

Gebruiker1 ziet

land

taal

bericht

Frankrijk

Frans

Bonjour à tous les Français

Gebruiker2 ziet

land

taal

bericht

Canada

Frans

Bonjour à tous les Canadiens

Gebruiker3 ziet

land

taal

bericht

Verenigde Staten

Engels

Hallo aan alle Amerikanen