L’IAM est un framework de politiques et de technologies qui garantit aux bons utilisateurs le bon accès aux bonnes ressources, au bon moment. La gestion des identités et des accès est la discipline derrière chaque formulaire de connexion et chaque vérification de permission — avec une précision d’emblée : les grands fournisseurs cloud vendent aussi des produits baptisés “IAM” pour contrôler l’accès à leur propre infrastructure ; ce sont des implémentations de la discipline, pas sa définition. Cet article traite de la discipline — y compris de la version que tout développeur d’app construit ou dont il hérite, le plus souvent sans l’appeler IAM.
Points clés
| Question | Réponse |
|---|---|
| Les quatre piliers | Authentification · autorisation · cycle de vie · audit |
| Le slogan | Les bonnes personnes, le bon accès, les bonnes ressources, au bon moment |
| Les deux mondes | IAM des collaborateurs (employés, conformité) · CIAM (les utilisateurs de votre app, UX) |
| Les standards | OIDC et OAuth pour les tokens · SAML pour le SSO d’entreprise · SCIM pour le cycle de vie · WebAuthn pour les identifiants |
| La version du développeur | Référentiel d’utilisateurs + sessions + rôles + ACL + récupération — à construire ou à hériter |
Le cycle de vie des identités : arrivée, mobilité, départ
Le quotidien de l’IAM est une boucle que parcourt chaque compte, et elle se traduit en opérations concrètes :
ARRIVÉE créer l'identité → vérifier l'e-mail → émettre identifiants/session
(provisionnement — automatisé via SCIM côté collaborateurs)
MOBILITÉ changements de rôle · changements d'équipe · octrois et révocations
(l'autorisation suit les rôles : une mobilité = une mise à jour de données)
DÉPART révoquer les sessions IMMÉDIATEMENT → désactiver le compte → supprimer ou anonymiser
(déprovisionnement — les étapes sautées deviennent des "comptes orphelins",
le constat d'audit qui revient sans cesse dans les rapports de brèches)
La même boucle sous forme d’appels d’API :
// JavaScript / Node.js — Back4app JS SDK
// The identity lifecycle as API calls: join → move → leave
// Join: create the identity (email verification configurable server-side)
const user = new Parse.User();
await user.signUp({ username: 'ada', password: secret, email: '[email protected]' });
// Move: authorization follows roles, not people
editors.getUsers().add(user);
await editors.save();
// Leave: deprovision — revoke sessions server-side, then delete or anonymize
// (admin / Cloud Code territory: no orphaned accounts, audit trail kept) // Flutter / Dart — Back4app Flutter SDK
// The identity lifecycle as API calls: join → move → leave
// Join: create the identity (email verification configurable server-side)
final user = ParseUser('ada', secret, '[email protected]');
await user.signUp();
// Move: authorization follows roles, not people
editors.addRelation('users', [user]);
await editors.save();
// Leave: deprovision — revoke sessions server-side, then delete or anonymize
// (admin / Cloud Code territory: no orphaned accounts, audit trail kept) // iOS / Swift — Back4app Swift SDK
// The identity lifecycle as API calls: join → move → leave
// Join: create the identity (email verification configurable server-side)
var user = User()
user.username = "ada"
user.password = secret
user.email = "[email protected]"
let signedUp = try await user.signup()
// Move: authorization follows roles, not people
try await editors.users.add([signedUp]).save()
// Leave: deprovision — revoke sessions server-side, then delete or anonymize
// (admin / Cloud Code territory: no orphaned accounts, audit trail kept) // Android / Kotlin — Back4app Android SDK
// The identity lifecycle as API calls: join → move → leave
// Join: create the identity (email verification configurable server-side)
val user = ParseUser()
user.username = "ada"
user.setPassword(secret)
user.email = "[email protected]"
user.signUp()
// Move: authorization follows roles, not people
editors.users.add(user)
editors.save()
// Leave: deprovision — revoke sessions server-side, then delete or anonymize
// (admin / Cloud Code territory: no orphaned accounts, audit trail kept) Authentification vs. autorisation
La distinction sur laquelle repose toute la discipline :
| Authentification (AuthN) | Autorisation (AuthZ) | |
|---|---|---|
| Question | Qui êtes-vous ? | Qu’avez-vous le droit de faire ? |
| Preuves | Identifiants, codes MFA, biométrie, passkeys | Rôles, permissions, ACL, politiques |
| Moment | Une fois par session | À chaque action |
| Produit | Une session ou un token | Un autoriser/refuser par requête |
| Défaillance type | Prise de contrôle de compte | Élévation de privilèges, exposition de données |
La version aéroport, une seule fois : le contrôle des passeports face à la carte d’embarquement. Puis la version ingénieur, qui compte davantage : l’authentification produit l’identité que porte une session ; l’autorisation la consomme à chaque requête qui suit — c’est pourquoi les deux échouent différemment et se durcissent séparément.
Les quatre piliers — et les trois sigles du marché
L’anatomie fonctionnelle : l’authentification (prouver l’identité — mots de passe, MFA, SSO, sans mot de passe), l’autorisation (décider des actions — rôles, permissions, règles par objet), le cycle de vie (la boucle arrivée/mobilité/départ) et l’audit (le quatrième pilier, chroniquement sous-estimé : journaux, revues d’accès et capacité à répondre à “qui pouvait lire ceci, et qui l’a lu ?”). Le marché des éditeurs découpe le même territoire en segments que vous croiserez lors des achats : AM (access management — connexion, SSO, MFA), IGA (gouvernance — certifications, séparation des tâches, la couche du “devraient-ils avoir ceci ?” au-dessus du “peuvent-ils ?” opérationnel) et PAM (accès à privilèges — coffres-forts de secrets et élévation just-in-time pour les comptes dont la compromission signe la fin de la partie). Une même discipline, deux cartes.
Le stack des standards
La soupe de sigles, ramenée à des rôles — le tableau que les pages du classement ne fournissent jamais :
| Standard | Ce qu’il fait | Où vous le croisez |
|---|---|---|
| OAuth 2.0 | Autorisation déléguée — des tokens à portée limitée au lieu de mots de passe partagés | Accès aux API, la tuyauterie sous la connexion sociale |
| OpenID Connect | Authentification au-dessus d’OAuth — des ID tokens signés attestent de qui s’est connecté | Chaque bouton “Se connecter avec…”, le SSO moderne |
| SAML 2.0 | Assertions de fédération en XML — l’aîné d’entreprise d’OIDC | Intégrations SSO d’entreprise |
| SCIM | API standard pour provisionner/déprovisionner des comptes | Automatisation du cycle de vie des collaborateurs |
| WebAuthn / FIDO2 | Identifiants à clé publique résistants à l’hameçonnage | Passkeys, clés de sécurité matérielles |
| JWT | Le format de token dans lequel voyagent les assertions | ID tokens, access tokens |
| LDAP | Protocole d’interrogation d’annuaire | Référentiels d’identités legacy |
Workforce IAM vs. CIAM
| IAM des collaborateurs | IAM client (CIAM) | |
|---|---|---|
| Utilisateurs | Employés, prestataires — des milliers | Les utilisateurs de votre app — jusqu’à des millions |
| Onboarding | La DSI vous provisionne | Inscription en libre-service — la friction tue la conversion |
| Authentification | SSO d’entreprise, MFA obligatoire | Connexion sociale, sans mot de passe, MFA optionnelle |
| Priorités | Moindre privilège, conformité | UX, conversion, consentement en matière de vie privée |
| Cycle de vie | Arrivée/mobilité/départ piloté par les RH | Inscription/usage/abandon/suppression piloté par l’utilisateur |
| Acheteur | DSI et sécurité | L’équipe produit — souvent construit, pas acheté |
La distinction mérite son tableau parce que le contenu du classement porte presque entièrement sur la colonne de gauche, alors que la plupart des développeurs qui lisent un glossaire construisent celle de droite : les parcours d’inscription, la gestion des sessions et la récupération de compte pour les utilisateurs d’une app, c’est du CIAM — la discipline s’applique même quand personne dans la pièce n’emploie le sigle.
Cas d’usage courants
- Gestion des utilisateurs d’une app — inscription, vérification, sessions, rôles, suppression : le CIAM comme travail backend du quotidien.
- SSO d’entreprise — un IdP, de nombreuses apps ; MFA et départs appliqués en un point unique.
- Identité des API et des services — identifiants machine, tokens à portée limitée et rotation pour les appelants non humains.
- Programmes de conformité — revues d’accès, pistes d’audit et preuves de moindre privilège pour le RGPD, HIPAA, SOC 2.
- Architectures zero trust — des vérifications d’identité à chaque requête remplacent l’emplacement réseau comme signal de confiance.
Faut-il construire ou acheter votre IAM ? Matrice de décision
| Situation | Penchez pour |
|---|---|
| Authentification applicative pour un produit | Hériter d’un BaaS — du référentiel d’utilisateurs à la MFA, tout est prêt |
| SSO des collaborateurs sur des outils SaaS | Acheter un service d’IdP |
| Contrôle total, auto-hébergé, protocoles standard | IdP open-source (Keycloak, Ory) |
| Une app, des besoins simples, les sessions du framework | Construire le minimum — mais prévoir récupération et audit |
| Vérification d’identité réglementée | Acheter — les niveaux d’assurance relèvent de la certification |
| Coder votre propre stockage de mots de passe “pour l’instant” | Non — c’est la seule roue à ne pas réinventer |
Limites et trade-offs
- L’IAM est un processus habillé en logiciel. Les outils automatisent la politique ; ils ne peuvent pas l’inventer — la conception des rôles, la cadence des revues et la rigueur des départs restent un travail humain.
- Centraliser concentre le risque. Un IdP, c’est un seul endroit à sécuriser et une seule panne qui déconnecte tout le monde ; la planification de la disponibilité et de la reprise vient avec le confort.
- La fédération hérite de la confiance. Chaque app qui fait confiance à un IdP hérite de ses compromissions ; la validation des tokens et des durées de vie courtes assurent le confinement.
- L’automatisation du cycle de vie a besoin de vérité. Le provisionnement ne vaut que la source de référence qui l’alimente ; des données RH périmées deviennent des accès périmés.
- Un audit sans revue relève du théâtre. Des journaux que personne ne lit et des certifications suivies d’aucune action satisfont les checklists, pas les attaquants.
L’IAM sur Back4app
Back4app est une plateforme open-source de Backend as a Service (BaaS) qui combine une base de données gérée, des API REST et GraphQL générées automatiquement, l’authentification, le stockage de fichiers et des fonctions serverless avec Cloud Code. La vision de l’IAM côté développeur correspond exactement à ce qu’elle fournit : la classe User est le référentiel d’identités ; l’inscription, la vérification d’e-mail, la réinitialisation du mot de passe et la connexion sociale couvrent l’authentification (avec un adaptateur MFA pour l’authentification renforcée) ; des tokens de session révocables portent l’identité ; les rôles et les ACL par objet forment le pilier de l’autorisation, appliqués à chaque requête REST, GraphQL et Live Query ; et le cycle de vie des onglets de code — arrivée, mobilité, départ — est un travail de données ordinaire, les triggers Cloud Code étant l’endroit où appliquer la politique (bloquer les e-mails jetables, journaliser les événements d’audit, déprovisionner en cascade). C’est du CIAM en tant que couche de plateforme : les piliers arrivent assemblés, et votre travail passe de la construction de la machinerie d’identité à la définition de la politique.
Questions fréquentes
Qu'est-ce que l'IAM en termes simples ?
La discipline qui gère qui peut accéder à quoi : prouver que les utilisateurs sont bien ceux qu'ils prétendent être (authentification), décider de ce qu'ils peuvent faire (autorisation), gérer les comptes de leur création à leur suppression (cycle de vie) et garder la trace de tout cela (audit). Elle répond à "qui êtes-vous ?" et "qu'avez-vous le droit de faire ?" pour chaque requête.
Quelle est la différence entre authentification et autorisation ?
L'authentification vérifie qui vous êtes — identifiants, codes, biométrie. L'autorisation décide de ce que vous pouvez faire — rôles, permissions, politiques. Version aéroport : le contrôle des passeports face à la carte d'embarquement. L'authentification passe toujours en premier ; l'autorisation s'exécute ensuite à chaque action.
Quels sont les composants d'un système IAM ?
Un référentiel d'identités (l'annuaire des utilisateurs), des services d'authentification (mots de passe, MFA, single sign-on), la machinerie d'autorisation (rôles, permissions, ACL), l'outillage du cycle de vie (provisionnement et déprovisionnement) et la journalisation d'audit. Tout système réel possède les cinq, qu'ils soient assemblés à la main ou hérités d'une plateforme.
Qu'est-ce qu'un fournisseur d'identité (IdP) ?
Le système qui détient les identités et s'en porte garant : il authentifie l'utilisateur et émet des tokens ou des assertions signés — via OpenID Connect ou SAML — auxquels les autres applications font confiance. Chaque bouton "Se connecter avec…" est un IdP à l'œuvre ; les entreprises exploitent le leur pour le single sign-on de leurs collaborateurs.
Qu'est-ce que le single sign-on (SSO) ?
Vous vous authentifiez une fois auprès du fournisseur d'identité, puis accédez à de nombreuses applications sans nouvelle connexion — chaque app fait confiance à l'assertion de l'IdP au lieu de conserver ses propres identifiants. Moins de mots de passe, un seul endroit pour imposer la MFA, un seul interrupteur pour couper l'accès partout.
Que sont le provisionnement et le déprovisionnement ?
Les verbes du cycle de vie : le provisionnement crée le compte et accorde les droits quand quelqu'un arrive ou change de rôle ; le déprovisionnement les révoque à son départ. Automatisés via des standards comme SCIM. Un déprovisionnement raté laisse des comptes orphelins — éternellement en tête des constats d'audit et point d'appui favori des attaquants.
Quelle est la différence entre l'IAM des collaborateurs (workforce) et le CIAM ?
Le public et les priorités. L'IAM des collaborateurs gère les employés — des milliers d'utilisateurs, des contrôles imposés par la DSI, le moindre privilège et la conformité d'abord. L'IAM client (CIAM) gère les utilisateurs de votre app — potentiellement des millions, inscription en libre-service, connexion sociale, avec l'UX, la conversion et le consentement en matière de vie privée aux commandes. La plupart des développeurs d'apps construisent du CIAM, qu'ils emploient le mot ou non.
Quel est le lien entre l'IAM et le zero trust ?
Le zero trust — ne jamais faire confiance, toujours vérifier — remplace le périmètre réseau par l'identité : chaque requête est authentifiée et autorisée, d'où qu'elle vienne. L'IAM est la machinerie qui rend cela possible, d'où le slogan devenu celui de la discipline : "l'identité est le nouveau périmètre".