Een diepe duik in SAML-authenticatie
SAML in single sign-on met Salesforce begrijpen
Op het gebied van authenticatie speelt SAML (Security Assertion Markup Language) een sleutelrol bij naadloze toegang over applicaties heen. Laten we diep in SAML duiken, de betekenis ervan voor single sign-on (SSO) begrijpen, en de implementatie met Salesforce verkennen.
De context schetsen
Stel je een scenario voor met twee Salesforce-orgs: een identiteitsprovider (IDP) en een serviceprovider. De serviceprovider heeft de data die je wilt benaderen, maar in plaats van meerdere inloggegevens te gebruiken, wil je dat met één set inloggegevens doen. Het concept klinkt eenvoudig, maar de mechaniek achter de schermen kan ingewikkeld zijn.

Belangrijke termen in het SAML-landschap
Gebruikerstoegang: Als een gebruiker probeert een beveiligde resource bij de serviceprovider te bereiken voordat hij zich geauthenticeerd heeft.
Doorsturen: Als de gebruiker niet geauthenticeerd is, stuurt de serviceprovider hem met een SAML-request door naar de identiteitsprovider. Zo nodig kan er een relay state (de URL die de gebruiker eerst wilde bezoeken) meegestuurd worden.
Authenticatie door de IDP: De identiteitsprovider verifieert de identiteit van de gebruiker, meestal via gebruikersnaam, wachtwoord of multifactorauthenticatie.
SAML-assertion: Na authenticatie stuurt de IDP een SAML-assertion naar de serviceprovider.
Vertrouwen bij de serviceprovider: De serviceprovider valideert de SAML-assertion, haalt de gebruikersinformatie eruit en verleent toegang. Als er eerder een relay state meegegeven is, navigeert de serviceprovider naar die specifieke URL.

Voordelen van single sign-on
Eenvoudigere toegang: Gebruikers hebben maar één set inloggegevens nodig om meerdere diensten te benaderen.
Beveiliging: SAML gebruikt digitale handtekeningen om de integriteit van de data te waarborgen en manipulatie te voorkomen.
Interoperabiliteit: Omdat het een standaardprotocol is, kan SAML samenwerken met allerlei IDP’s en serviceproviders op verschillende technologiestacks.
Dieper duiken: SAML-stromen onderzoeken
SAML-request: Gestart door de serviceprovider richting de IDP, met het verzoek een gebruiker te authenticeren.

SAML-respons: Een bericht van de IDP na authenticatie, met details over de gebruiker.

Assertions: Dit zijn uitspraken van de IDP over de gebruiker, met attributen zoals de gebruikersnaam of het e-mailadres.
Digitale handtekeningen: Hiermee worden de assertions geverifieerd, zodat zeker is dat ze niet onrechtmatig gewijzigd zijn.
Relay state: Een deeplink-URL die ervoor zorgt dat de gebruiker na authenticatie teruggestuurd wordt naar de oorspronkelijk bedoelde bestemming.
Als een gebruiker toegang aanvraagt, wordt er een SAML-request naar de IDP gestuurd, die na verificatie een SAML-assertion terugstuurt. Als de serviceprovider die assertion valideert, krijgt de gebruiker de bedoelde toegang.

Met tools als de SAML Tracer voor browsers kun je deze stroom zichtbaar maken. Zo krijg je een transparant beeld van het authenticatieproces, van het eerste request tot het laatste doorsturen na authenticatie.
Beveiligingsmaatregelen in SAML-assertions
Om mogelijke beveiligingsdreigingen tegen te gaan:
Tijdstempels worden gebruikt om replay-aanvallen te voorkomen, zodat de SAML-assertion maar een kort venster geldig is.
Digitale handtekeningen garanderen dat er tijdens de uitwisseling niet met de data geknoeid is.
Daarnaast kunnen assertions gebruikersattributen bevatten, zoals e-mailadressen of gebruikerstypes, wat gedetailleerdere toegangscontroles aan de kant van de serviceprovider mogelijk maakt.
Conclusie
SAML is in de kern een op XML gebaseerd protocol met de belangrijkste elementen voor authenticatie. Het lijkt misschien magie, maar het is het resultaat van goed doordachte technologie die ontworpen is om aanvallen als ‘man-in-the-middle’ of replay tegen te houden.
Het vermogen om meerdere serviceproviders met verschillende technologiestacks van IDP’s te integreren, maakt het een hoeksteen in de wereld van digitale authenticatie.
Blijf op de hoogte
Begin met vertrouwen aan je reis door Salesforce Identity! Voor meer inzichten en tips: blijf op de hoogte hier op www.SteveTechArc.com en via het YouTube-kanaal @SteveTechArc (opens in a new tab). Abonneer je en verdiep je begrip van Salesforce Identity.
De wereld helpen veranderen door integratiekennis te delen met collega-architecten en met iedereen die op weg is om architect te worden!
STA 3.6