Introduction a Keycloak et l'IAM 20 min de lecture

IAM, SSO et protocoles d'authentification

Qu'est-ce que l'IAM ?

L'Identity and Access Management (IAM) regroupe les processus et technologies permettant de gerer les identites numeriques et de controler l'acces aux ressources.

  • Authentification : Verifier l'identite d'un utilisateur (qui etes-vous ?)
  • Autorisation : Determiner ce qu'un utilisateur a le droit de faire (quels droits ?)
  • Federation : Partager les identites entre plusieurs systemes

Le Single Sign-On (SSO)

Le SSO permet a un utilisateur de se connecter une seule fois et d'acceder a toutes les applications autorisees sans se re-authentifier.

Exemple concret : Vous vous connectez a Google et accedez automatiquement a Gmail, YouTube, Google Drive sans re-saisir votre mot de passe.

OAuth 2.0

OAuth 2.0 est un protocole d'autorisation (pas d'authentification). Il permet a une application d'acceder a des ressources au nom d'un utilisateur sans connaitre son mot de passe.

# Flux Authorization Code simplifie :
# 1. L'utilisateur clique "Se connecter"
# 2. Redirection vers le serveur d'autorisation (Keycloak)
# 3. L'utilisateur s'authentifie
# 4. Keycloak redirige avec un code d'autorisation
# 5. L'application echange le code contre un token

OpenID Connect (OIDC)

OIDC est une couche d'identite au-dessus d'OAuth 2.0. Il ajoute un ID Token (JWT) contenant les informations de l'utilisateur.

  • OAuth 2.0 = Autorisation (acces aux ressources)
  • OIDC = Authentification + Autorisation (identite + acces)