Logo Logo
GitHub Designed by Logto

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:

Zie ook