SCIM (System for Cross-domain Identity Management)
In dit artikel
Wat is SCIM?
SCIM (System for Cross-domain Identity Management) is een open standaard voor automatisch beheer van gebruikersaccounts in cloud applicaties en -diensten. Met behulp van een SCIM interface kunnen systemen onderling accountgegevens zoals iemands naam, e-mailadres, telefoonnummers en andere gebruikersgegevens uitwisselen, synchroniseren en beheren.
Aanleiding SCIM
De behoefte aan deze SCIM standaard ontstond met het steeds complexere accountbeheer in cloud-omgevingen. Organisaties hebben vaak honderden of zelfs duizenden gebruikers en die gebruiken hebben bovendien steeds meer verschillende applicaties en datashares. Dat maakt het beheer steeds ingewikkelder. Je hebt een geavanceerd Identity en Access Management systeem (IAM) nodig dat voor iedere gebruiker bijhoudt welk account en toegangsrechten iemand nodig heeft om zijn of haar werk te kunnen doen.
Voorbeeld: Begint Karen als salesmanager op de verkoopafdeling? Dan wil je dat het IAM systeem er automatisch voor zorgt dat ze bij onboarding behalve een basis Microsoft 365 account ook een account krijgt op het CRM, de offerte-applicaties en de planningssoftware. Ook wil je haar toegang geven tot de data van haar specifieke klanten. En krijgt ze na verloop van tijd andere klanten of een andere rol in het bedrijf dan wil je haar accountinstellingen en toegangsrechten automatisch aanpassen. Een IAM platform zorgt daarvoor.
Dat betekent wel dat zo’n IAM platform koppelingen moet hebben met alle zogeheten doelsystemen om daarin accounts aan te maken, toegangsrechten in te stellen en deze gegevens ook zo nodig weer aan te passen. Om niet voor ieder doelsysteem een aparte koppeling te hoeven ontwikkelen, is er de SCIM standaard. Met de SCIM standaard beschik je over een provisioning-API voor je accountgegevens. Je kunt hiermee doelsystemen eenvoudig aansluiten op een IAM platform en alle relevante identiteitsgegevens automatisch uitwisselen.
De eerste versies van de SCIM standaard is ontwikkeld rond 2010-2011 en dat resulteerde in SCIM versie 1.0. Vanuit die versie is SCIM verder ontwikkeld tot SCIM 2.0 in 2015. Dit is de SCIM versie die vandaag de dag wordt gebruikt.
Voordelen SCIM
Dankzij die SCIM standaard beschik je over tal van voordelen bij het implementeren van je Identity management:
- Automatisering: Je kunt IT-systemen via een SCIM interface eenvoudig aansluiten op een centraal IAM platform en van daaruit de provisioning en synchronisatie van accounts automatiseren. Je hebt minder handmatige acties nodig en de kans op fouten beperken.
- Consistent beheer: Dankzij het geautomatiseerde beheer weet je zeker dat de gebruikersgegevens op een consistente manier worden verstrekt en beheerd.
- Informatiebeveiliging: Door vanuit één platform gebruikersaccounts en toegangsrechten te verstrekken, wordt het beheer transparanter. Zo voorkom je dat er onnodig accounts en rechten worden uitgegeven en verbeter je de informatiebeveiliging.
- Efficiëntie: In het verlengde hiervan voorkom je ook dat er te veel licenties worden verstrekt. Met automatisering bespaar je dus niet alleen op handmatige werkzaamheden maar ook op licentiekosten.
- Schaalbaarheid: Dankzij automatisering kun je vanaf één platform probleemloos steeds meer gebruikersaccounts beheren en ook steeds meer doelsystemen aansluiten. Je Identity beheer is niet langer een bottleneck voor het opschalen van je organisatie.
Maar let hierbij op, de genoemde voordelen zitten feitelijk vooral in het centraliseren van je account- en rechtenbeheer via een geavanceerd IAM platform; het specifieke voordeel van een SCIM API is dat je niet voor ieder aan te sluiten doelsysteem een eigen koppeling hoeft te ontwikkelen en te onderhouden. Tegelijkertijd heeft die standaard SCIM interface ook een paar nadelen en die noemen we in de laatste paragraaf.
Hoe werkt SCIM technisch?
Het SCIM protocol ondersteunt het beheer van identiteiten in SaaS toepassingen en andere cloud applicaties. Gebruikers van SCIM software beschikken over RESTful API’s voor het aanmaken, updaten en verwijderen van gebruikersaccounts en -groepen; dat maakt de integratie van IAM systemen en doelsystemen eenvoudiger. Er zijn vooraf gedefinieerde Schema’s en Resource Types voor het versturen van identiteitsgegevens zoals iemands naam, e-mailadres, telefoonnummer en andere gebruikersgegevens. De gegevens worden uitgewisseld in JSON-formaat, wat SCIM technisch gezien een licht en gemakkelijk te verwerken protocol maakt.
Pas SCIM toe met HelloID
HelloID is een moderne cloud-gebaseerde IAM oplossing. Met de Provisioning en Service Automation module kunnen klanten ervoor zorgen dat gebruikers op ieder moment exact díe accounts en toegangsrechten krijgen die ze nodig hebben voor hun rol en werkzaamheden. Tegelijkertijd voorkom je onnodige stapeling van toegangsrechten en zorg je dat overbodige rechten en accounts op tijd weer worden opgeruimd. Hiervoor moet HelloID worden gekoppeld aan bronsystemen – veelal HR systemen – en doelsystemen zoals Microsoft 365, een CRM systeem of een Elektronisch Patiënten Dossier.
HelloID biedt daarvoor een uitgebreide connectorencatalogus waarmee eenvoudig honderden veelvoorkomende applicaties kunnen worden gekoppeld. Wanneer een connector nog niet beschikbaar kan deze bovendien eenvoudig worden ontwikkeld door Tools4ever. Maar ook heeft iedere klant de mogelijkheid om zelf connectoren te ontwikkelen. Dit kan op basis van een grote verscheidenheid aan technologieën. HelloID ondersteunt daarvoor de SCIM standaard maar er zijn ook veel applicatiekoppelingen ontwikkeld met behulp van andere technologieën zoals REST/JSON, SOAP/XML, ODBC, SQL, CSV, XML, etc.
Sowieso zijn er veel applicatieleveranciers die een eigen API aanbieden die (nog) niet is gebaseerd op de SCIM standaard. In dat geval maken we voor de HelloID connector uiteraard gebruik van die API. Maar ook geldt dat voor veel toepassingen en applicatieleveranciers de SCIM standaard eigenlijk te beperkt is. Zo biedt de HelloID provisioning functionaliteit feitelijk een superset van de bestaande SCIM mogelijkheden. Het SCIM gegevensmodel maakt het bijvoorbeeld mogelijk om per gebruiker één afdeling en één functie in te stellen. Bij eenvoudige organisaties voldoet dat wellicht, maar soms wil je voor één gebruiker meerdere dienstverbanden registreren, inclusief de bijbehorende accounts en toegangsrechten. Bij HelloID kun je zulke uitgebreidere formatiemodellen eenvoudig via business rules ondersteunen maar daarvoor is SCIM provisioning te beperkt.
Daarom kiest Tools4ever in die gevallen voor een andersoortige koppeling naar de bron- en doelsystemen. Intern in het platform gebruiken we dus niet de SCIM definitie, maar we ondersteunen wel de SCIM connector voor toepassingen waar dat relevant en gewenst is. Je vindt hier meer over onze provisioning functionaliteit.
De SCIM 1.0 was de eerste versie, in 2011 ontwikkeld onder de vlag van de Open Web Foundation. Het IETF heft het beheer overgenomen en in 2015 publiceerde men SCIM 2.0. Dat is de actuele versie.
De IETF publiceert en onderhoudt de SCIM standaard. Informatie over SCIM v2.0 vind je in IETF RFC 7643 (Core Scheme) en RFC 7644 (het protocol). In RFC 7642 vind je een use-case document.
SCIM (System for Cross-domain Identity Management) en SAML (Security Assertion Markup Language) kunnen allebei worden toegepast bij Identity en Access Management. Hun rol verschilt echter. SAML richt zich op de uitwisseling van authenticatie- en autorisatiegegevens, bijvoorbeeld bij het inloggen en Single Sign-On. SCIM is een protocol voor het uitwisselen van accountgegevens bij het account- en toegangsbeheer.