Wat is een identiteitsprovider (IdP)?
In het domein van Identiteit en toegangsbeheer (Identity and access management, IAM) , is een identiteitsprovider (IdP) de centrale dienst voor het beheren van identiteiten. Het is verantwoordelijk voor het authenticeren van gebruikers, het uitgeven van identity tokens, en het verstrekken van gebruikersinformatie aan service providers (bijv. applicaties, diensten, API’s).
Naast Authenticatie (Authentication) zijn moderne identiteitsproviders ook verantwoordelijk voor Autorisatie (Authorization) (het handhaven van Toegangsbeheer (Access control) beleidsregels) en het ondersteunen van geavanceerde functies zoals Single sign-on (SSO) en Multi-tenancy .
Standaarden voor identiteitsproviders
Vanwege de aard van identiteitsbeheer en de behoefte aan interoperabiliteit, zal het onpraktisch en inefficiënt zijn om identiteitsproviders te bouwen zonder standaarden. Hier zijn enkele typische scenario’s:
- Twee identiteitsproviders moeten met elkaar communiceren om gebruikersinformatie uit te wisselen (bijv. sociale login).
- Een applicatie moet gebruikers authenticeren met behulp van meerdere identiteitsproviders (bijv. federatieve identiteit).
- Een identiteitsprovider moet meerdere typen clients ondersteunen (bijv. web, mobiel, IoT).
Om deze scenario’s aan te pakken, heeft de industrie verschillende populaire standaarden voor identiteitsproviders ontwikkeld:
- OAuth 2.0 : Een veelgebruikt autorisatieframework waarmee applicaties toegang kunnen verkrijgen namens gebruikers of diensten.
- OpenID Connect (OIDC) : Een identiteitslaag bovenop OAuth 2.0 die authenticatie en gebruikersinformatie biedt.
- Security Assertion Markup Language (SAML) : Een standaard voor het uitwisselen van authenticatie- en autorisatiegegevens tussen beveiligingsdomeinen.
Voor nieuwe applicaties wordt OpenID Connect (OIDC) aanbevolen als standaard om te gebruiken voor het bouwen van een identiteitsprovider of voor integratie met bestaande identiteitsproviders.
Architectuur van identiteitsproviders
De term “identiteitsprovider” specificeert geen bepaalde architectuur of implementatie. Dat wil zeggen dat een identiteitsprovider ook een monolithische applicatie, een microdienst of een clouddienst kan zijn.
Vanwege de complexiteit en het cruciale karakter van identiteitsbeheer, neigen moderne applicaties naar het gebruik van gespecialiseerde identiteitsproviders die standalone diensten of leveranciersoplossingen zijn.
Kenmerken van identiteitsproviders
Moderne identiteitsproviders bieden een breed scala aan functies om verschillende gebruikssituaties en vereisten te ondersteunen. Hier zijn enkele veelvoorkomende functies:
- Authenticatie (Authentication) : Verifieer de identiteit van gebruikers met behulp van verschillende methoden (bijv. gebruikersnaam/wachtwoord, sociale login, Multifactor authenticatie (Multi-factor authentication, MFA) ).
- Autorisatie (Authorization) : Handhaaf access control beleid en beheer gebruikersrechten (bijv. Role-gebaseerde toegangscontrole (Role-based access control, RBAC) , Attribuut-gebaseerde toegangscontrole (Attribute-based access control, ABAC) ).
- Gebruikersbeheer: Maak, werk bij en verwijder gebruikersaccounts en profielen; verstrek gebruikersgegevens aan service providers .
- Tokenbeheer: Uitgeven en beheren van identity tokens (bijv. ID token, access token, refresh token).
- Single sign-on (SSO) : Sta gebruikers toe om eenmalig te authenticeren en toegang te krijgen tot meerdere applicaties.
- Multi-tenancy : Ondersteuning van meerdere organisaties of tenants met gescheiden gebruikersgegevens en configuraties.