SAML authenticatie, wat is het en wat kan je ermee doen?
Qlik Sense biedt vanaf versie 2.0 standaard ondersteuning voor SAML authenticatie. Naast standaard Windows authenticatie heb je met SAML een extra optie om gebruikers toegang te geven tot Qlik Sense. Wat is SAML eigenlijk, hoe werkt het precies en in welke situaties kun je het gebruiken? De antwoorden op deze vragen lees je in dit blog.
Wat is SAML?
SAML staat voor Security Assertion Markup Language en is een open XML-gebaseerd communicatieprotocol om berichten met beveiligingsinformatie uit te wisselen. De belangrijkste reden voor de ontwikkeling van SAML was de behoefte aan een uniforme manier om single sign-on tot webapplicaties mogelijk te maken. Met SAML authenticatie is het mogelijk om via het internet (buiten het bedrijfsnetwerk), op een veilige manier toegang te krijgen tot verschillende bedrijfsapplicaties, zonder dat je iedere keer opnieuw hoeft in te loggen.
Hoe werkt SAML?
Bij SAML authenticatie spelen drie partijen een rol, namelijk de ‘User’, de ‘Identity Provider’ en de ‘Service Provider’. De Identity Provider (IdP) is de partij die de identiteiten van de gebruikers bevat. IdP’s zijn er in verschillende verschijningsvormen. Dit kan een bijvoorbeeld een clouddienst zijn, zoals Salesforce.com of Microsoft’s Azure AD. Andere voorbeelden van IdP’s zijn Access Management Solutions, zoals Okta en OneLogin.
De Service Provider (SP) is de partij die toegang biedt tot beveiligde content. Qlik Sense is de SP in dit geval. De uitwisseling van authenticatiegegevens tussen de IdP en SP vindt plaats door middel van uitwisseling van SAML berichten. Een gebruiker die de SP aanroept via de browser, zal door de SP doorgestuurd worden naar de IdP met de vraag om de gebruikersidentiteit aan te tonen. Deze vraag wordt gesteld in de vorm van een SAML request. Zodra de gebruiker succesvol is ingelogd bij de IdP, zal de gebruiker door de IdP teruggestuurd worden naar de SP met de benodigde gebruikersinformatie. Dit wordt de SAML response genoemd.
Het authenticatieproces met SAML in Qlik Sense bestaat uit de volgende stappen:
- Gebruiker navigeert naar de startpagina (Hub) van Qlik Sense
- Qlik Sense genereert een SAML request
- Qlik Sense redirect de browser naar de URL van de IdP en stuurt het SAML request mee als HTTP header
- De IdP verwerkt het SAML request en toont de gebruiker een aanmeldscherm
- De IdP genereert een SAML response
- De IdP redirect de browser terug naar Qlik Sense en stuur de SAML response mee als HTTP header
- Qlik Sense verifieert de SAML response
- Qlik Sense accepteert het verzoek en de gebruiker komt binnen in de Hub
In onderstaande figuur is de workflow afgebeeld van het authenticatieproces met SAML in Qlik Sense.
Hoe zit het met de beveiliging?
Aangezien bij de uitwisseling van SAML berichten gevoelige informatie over het internet wordt verstuurd, is beveiliging een belangrijk punt. De beveiliging van de informatie komt op een aantal manieren tot stand:
- De communicatie tussen de IdP en Qlik Sense verloopt via beveiligde websites (HTTPS). De websites van Qlik Sense en de IdP zijn beveiligd met SSL, waardoor alle informatie automatisch wordt gecodeerd via sterke encryptie algoritmes.
- Veel IdP’s bieden de mogelijkheid tot multi-factor authenticatie. Dat betekent dat gebruikers naast het invullen van een geldige gebruikersnaam en wachtwoord een tweede of zelfs derde stap moeten doorlopen om toegang te krijgen tot het systeem. Een veel gebruikte methode is het invullen van een tijdelijke toegangscode die via SMS wordt verstuurd naar de telefoon van de gebruiker, of die via een app op de telefoon wordt gegenereerd.
- De SAML response van de IdP heeft een zeer beperkte geldigheid, meestal maar enkele minuten.
- De echtheid van de SAML response wordt gecontroleerd door Qlik Sense aan de hand van de inhoud van bepaalde attributen in het bericht. Hiervoor worden certificaten gebruikt. Het certificaat van de IdP moet op voorhand geregistreerd worden in Qlik Sense om SAML authenticatie mogelijk te maken.
SAML configureren in Qlik Sense
De configuratie van SAML authenticatie in Qlik Sense bestaat uit een aantal stappen.
- Eerst moet een virtuele proxy in de Management Console aangemaakt worden. In de virtuele proxy kun je SAML kiezen als een van de mogelijke authenticatie opties.
- In de configuratie van de virtuele proxy moet je een XML bestand met de metadata van de IdP uploaden. De metadata bevat o.a. de URL, het ID het beveiligingscertificaat van de IdP.
- Verder configureer je in de virtuele proxy de URL en het ID van SP en stel je in welk attribuut uit de SAML response van IdP moet worden gebruikt voor identificatie van de gebruiker.
- Optioneel kun je in de configuratie van de virtuele proxy mappings aanmaken waarmee attributen uit de SAML response worden gekoppeld aan attributen in Qlik Sense. Dit kan gebruikt worden om bijvoorbeeld groepsinformatie uit het SAML bericht te gebruiken in Qlik Sense.
- Soms is het nodig om de metadata van de SP (Qlik Sense) te uploaden naar de IdP, zodat de IdP weet naar welke URL een gebruiker moet worden gestuurd nadat er succesvol is ingelogd. Het downloaden van de metadata van de SP doe je ook in de Management Console.
- Vervolgens moet je de virtuele proxy linken aan een proxy service van Qlik Sense.
- Een gebruiker moet Qlik Sense opstarten door te navigeren naar de URL van de virtuele proxy.
Welke voordelen biedt SAML authenticatie?
Een voorwaarde om met SAML authenticatie te werken is de beschikbaarheid van een IdP die SAML ondersteunt. Veel organisaties werken al met bepaalde clouddiensten (denk aan Office 365, Salesforce of Google) en hebben daardoor al een IdP tot hun beschikking.
Er zijn meerdere redenen te noemen waarom SAML authenticatie een interessante oplossing is;
- Ten eerste kun je interne gebruikers (eigen medewerkers) op een veilige manier via het internet toegang geven tot de apps in Qlik Sense.
- Een VPN verbinding is niet nodig bij SAML authenticatie, waardoor gebruikers met tablets en smartphones veel gemakkelijker toegang kunnen krijgen tot Qlik Sense.
- Daarnaast kun je externe gebruikers (bijvoorbeeld klanten of leveranciers) toegang geven tot Qlik Sense. Dit is zonder SAML vaak problematisch, omdat deze gebruikers niet bekend zijn in Active Directory.
Wil je meer weten over de mogelijkheden van SAML en hoe dit precies kan worden ingesteld in Qlik Sense? Vul dan onderstaand formulier in zodat wij verschillende authenticatiemethodes voor jouw organisatie kunnen toelichten.
Geschreven door Steven Samuels Brusse,
Senior Qlik consultant