Aller au contenu
medium

Les bases de l'IAM : identités, authentification et autorisation

10 min de lecture

L’IAM (Identity and Access Management) répond à trois questions fondamentales : qui êtes-vous, pouvez-vous le prouver, et qu’avez-vous le droit de faire ? Ces trois piliers — identification, authentification, autorisation — structurent tous les systèmes de sécurité modernes. Sans maîtrise de ce vocabulaire, impossible de configurer correctement un IdP, de déboguer un problème SSO, ou de concevoir une architecture sécurisée.

Ce guide pose les fondations de l’IAM (Identity and Access Management). À la fin, vous saurez :

  • Distinguer les différents types d’identités (humain, service, machine)
  • Différencier authentification (AuthN), autorisation (AuthZ) et audit
  • Comprendre le rôle de chaque composant : IdP, SP, RP
  • Choisir entre sessions serveur et tokens selon votre architecture

Prérequis : aucun. Ce guide s’adresse aux débutants complets en IAM.

Chaque application doit répondre à trois questions :

  1. Qui es-tu ? → Authentification
  2. Qu’as-tu le droit de faire ? → Autorisation
  3. Qu’as-tu fait ? → Audit

L’IAM (Identity and Access Management) regroupe les processus, outils et politiques qui répondent à ces questions. Sans IAM structuré, vous accumulez des comptes orphelins, des permissions excessives et des failles de sécurité.

Ces trois termes sont souvent confondus. Clarifions.

Une identité représente une entité du monde réel : une personne, une application, une machine. C’est le “qui” abstrait.

Un compte (ou compte utilisateur) est la représentation technique d’une identité dans un système. Une même personne peut avoir plusieurs comptes (compte entreprise, compte personnel, compte admin…).

Un principal est l’entité qui s’authentifie à un instant T. C’est le “sujet” d’une requête. Le principal peut être :

ConceptCe que c’estExemple
IdentitéEntité du monde réelAlice Martin, développeuse
CompteReprésentation dans un systèmealice.martin@corp.com dans Azure AD
PrincipalSujet authentifié d’une requêteLe token JWT avec sub=alice.martin

L’authentification répond à : “Qui es-tu ?”

Elle vérifie l’identité d’un principal en demandant une preuve :

  • Ce que tu sais (mot de passe, PIN)
  • Ce que tu possèdes (téléphone, clé FIDO2)
  • Ce que tu es (empreinte, visage)

Résultat : un principal authentifié (identité confirmée).

L’autorisation répond à : “Qu’as-tu le droit de faire ?”

Elle détermine les permissions du principal authentifié :

  • Peut-il lire cette ressource ?
  • Peut-il modifier ce paramètre ?
  • Peut-il supprimer cet utilisateur ?

Résultat : une décision (autorisé / refusé).

L’audit répond à : “Qu’as-tu fait ?”

Il trace les actions pour :

  • Détection d’intrusions
  • Conformité réglementaire (RGPD, SOX, PCI-DSS)
  • Investigation post-incident
ÉtapeQuestionRésultat
AuthNQui es-tu ?Principal authentifié
AuthZQu’as-tu le droit de faire ?Décision allow/deny
AuditQu’as-tu fait ?Log d’événement

Le SSO (Single Sign-On) permet à un utilisateur de s’authentifier une seule fois pour accéder à plusieurs applications.

Avantages :

  • Moins de mots de passe à retenir (et à oublier)
  • Expérience utilisateur fluide
  • Point central de révocation des accès

Analogie : c’est comme un bracelet de festival. Vous passez une fois au contrôle d’entrée, et ensuite vous accédez à toutes les scènes sans repasser au guichet.

La fédération étend le SSO au-delà des frontières de l’organisation. Elle permet à des entités distinctes de faire confiance aux identités des autres.

Exemple : “Se connecter avec Google” sur un site tiers. Le site fait confiance à Google pour authentifier l’utilisateur.

ActeurRôleExemple
Identity Provider (IdP)Authentifie les utilisateurs, émet des assertionsKeycloak, Okta, Azure AD
Service Provider (SP)Application qui consomme les assertions (SAML)Salesforce, GitLab
Relying Party (RP)Application qui consomme les tokens (OIDC)Application React, API
Authorization ServerÉmet les tokens d’accès (OAuth)Keycloak, Auth0

Flux SSO : l'utilisateur accède à l'application, est redirigé vers l'IdP pour authentification, puis reçoit un token

Deux approches pour maintenir l’état d’authentification après le login.

Le serveur stocke l’état de la session. Le client ne reçoit qu’un identifiant de session (cookie).

Flux de session : le client envoie ses credentials, le serveur crée une session dans Redis et renvoie un cookie

Avantages :

  • Révocation immédiate (supprimer la session)
  • Pas de données sensibles côté client

Inconvénients :

  • Nécessite un store partagé pour le scaling (Redis, DB)
  • Sticky sessions ou réplication

Le token contient les informations d’identité. Le serveur est stateless.

Flux token : le client reçoit un JWT après login et l'envoie dans le header Authorization pour chaque requête

Avantages :

  • Stateless : pas de store à maintenir
  • Scale naturellement : chaque serveur peut valider le token
  • Adapté aux microservices et APIs

Inconvénients :

  • Révocation difficile (attendre l’expiration ou maintenir une blocklist)
  • Token potentiellement volumineux
CritèreSessionsTokens
Révocation immédiate✅ Oui⚠️ Difficile
Scaling horizontal⚠️ Store partagé✅ Natif
Microservices⚠️ Complexe✅ Adapté
Données sensiblesServeur⚠️ Potentiellement client
Taille des requêtesPetit (cookie ID)Plus grand (token complet)

Le NIST SP 800-63 définit des niveaux d’assurance pour qualifier la confiance dans une identité.

Confiance dans le processus de vérification d’identité (qui est vraiment cette personne ?).

NiveauVérification
IAL1Auto-déclaration (email seul)
IAL2Vérification à distance (pièce d’identité + selfie)
IAL3Vérification en personne

Confiance dans le processus d’authentification (c’est bien cette personne qui se connecte ?).

NiveauFacteurs requis
AAL11 facteur (mot de passe seul)
AAL22 facteurs (mot de passe + OTP)
AAL32 facteurs dont 1 hardware (clé FIDO2)

Confiance dans le protocole de fédération.

NiveauExigences
FAL1Assertion signée
FAL2Assertion chiffrée + signée
FAL3Holder-of-key (preuve de possession cryptographique)
ErreurConséquenceSolution
Confondre AuthN et AuthZPermissions mal géréesSéparer clairement les deux phases
Ignorer les identités machinesComptes de service non gouvernésInclure les service accounts dans l’IGA
SSO sans révocation centraliséeAccès persistants après départDésactiver le compte IdP = tout révoquer
Tokens sans expiration courte24h d’accès post-compromissionAccess tokens courts (15-60 min)

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.