Concevoir l’authentification et les permissions d’un produit
Spécifier connexion, SSO, MFA et passkeys, et une matrice rôles × actions sûre pour un produit multi-clients.
Spécifier qui peut entrer dans votre produit et ce que chacun peut y faire : sessions et jetons, mots de passe et récupération de compte selon les recommandations actuelles, double authentification et passkeys, connexion avec Google ou Microsoft, SSO d'entreprise et provisionnement, rôles et permissions, isolation entre clients, invitations, journal d'audit et suppression de compte. Vous repartez avec la matrice rôles × actions de votre produit et ses parcours de connexion spécifiés, de l'inscription à la suppression de compte.
Ce que vous saurez faire
- Distinguer authentification, autorisation et session, et spécifier durées de session, déconnexion et révocation des accès.
- Spécifier les règles de mot de passe et les parcours de récupération de compte selon les recommandations en vigueur (NIST SP 800-63B-4, CNIL, OWASP).
- Choisir des facteurs d'authentification forte (application TOTP, passkeys), planifier leur déploiement et spécifier les parcours de secours.
- Spécifier la connexion déléguée (OpenID Connect, connexion sociale) et le SSO d'entreprise (SAML, OIDC, provisionnement SCIM) d'un produit B2B.
- Concevoir un modèle de permissions (rôles, attributs, portée) sous forme de matrice rôles × actions, appliqué côté serveur selon le moindre privilège.
- Spécifier l'isolation entre clients, les invitations, le journal d'audit, l'accès du support et la suppression de compte.
- Spécifier les parcours de connexion complets de son produit, avec états et erreurs, et choisir entre construire et utiliser un fournisseur d'authentification.
Prérequis
- Savoir ce que sont un cookie, un code de statut (401, 403), un frontend et un backend, et pourquoi une règle se vérifie côté serveur, au niveau du cours « Expliquer comment fonctionne un produit web, du navigateur au serveur »
- Recommandé : le cours « Concevoir et tester une intégration API en tant que PM », qui traite l'authentification des appels d'API (clés, OAuth 2.0 vers un service tiers, scopes) ; ce cours-ci traite la connexion de vos utilisateurs et les permissions dans votre produit
- Avoir accès à votre produit (ou à un produit que vous connaissez bien) avec au moins deux types d'utilisateurs
- Aucun code ni compte payant : un tableur et un outil de schéma gratuit suffisent ; les tests se font dans votre propre navigateur.
- Expliquer comment fonctionne un produit web, du navigateur au serveur
Programme
Que vais-je savoir spécifier à la fin de ce cours, et dans quel ordre ?
- Présentation du cours2 étapes
Objectif · À la fin de cette présentation, vous saurez ce que vous serez capable de spécifier (l'authentification et les permissions de votre produit), les deux livrables que vous produirez et par quels quatre modules le cours vous y conduit.
Comment vérifier l'identité des utilisateurs, garder leur session et leur rendre l'accès sans ouvrir de faille ?
Objectif · À la fin de cette leçon, vous serez capable de distinguer authentification, autorisation et session, d'expliquer ce que changent un cookie de session et un jeton (JWT, jeton de renouvellement), et de spécifier pour votre produit les durées de session, la déconnexion et la révocation des accès.
Objectif · À la fin de cette leçon, vous serez capable d'écrire des règles de mot de passe conformes aux recommandations actuelles (NIST SP 800-63B-4, CNIL), de spécifier un parcours de mot de passe oublié qui ne révèle pas quels comptes existent, et de repérer les failles des parcours de récupération de compte.
Objectif · À la fin de cette leçon, vous serez capable de comparer les facteurs d'authentification (SMS, application TOTP, passkeys), de choisir ceux que votre produit propose ou impose selon les rôles, et de spécifier l'activation, les codes de secours, la récupération et le plan de déploiement.
Quand laisser Google, Microsoft ou l'annuaire d'une entreprise authentifier vos utilisateurs, et que faut-il spécifier ?
Objectif · À la fin de cette leçon, vous serez capable d'expliquer ce qu'OpenID Connect ajoute à OAuth 2.0, de décider si votre produit propose une connexion sociale et avec quels fournisseurs, et de spécifier les règles de rattachement de comptes qui évitent les prises de contrôle.
Objectif · À la fin de cette leçon, vous serez capable de spécifier le SSO d'un client entreprise (protocole, vérification du domaine, connexion imposée, correspondance des rôles), de choisir entre création à la première connexion et provisionnement SCIM, et de prévoir le départ d'un salarié, les comptes de secours et les pannes du fournisseur d'identité.
Comment concevoir des rôles et des permissions clairs, et garantir qu'aucun client ne voit les données d'un autre ?
Objectif · À la fin de cette leçon, vous serez capable de construire la matrice rôles × actions de votre produit, avec la portée de chaque droit (tout le compte, un périmètre, ses propres objets), de choisir entre rôles fixes, attributs et rôles personnalisés, et d'écrire les règles d'application côté serveur (refus par défaut, moindre privilège).
Objectif · À la fin de cette leçon, vous serez capable de spécifier l'isolation des données entre clients d'un produit multi-tenant, les invitations et les utilisateurs membres de plusieurs organisations, l'accès du support, le journal d'audit et la suppression de compte.
Comment rassembler parcours et permissions dans une spec, et faut-il construire l'authentification ou l'acheter ?
Objectif · À la fin de cette leçon, vous serez capable de spécifier les sept parcours d'authentification de votre produit (inscription, connexion, mot de passe oublié, SSO, double authentification et passkeys, invitation, suppression de compte) avec leurs états, erreurs et messages, et de choisir entre construire l'authentification et utiliser un fournisseur.
Objectif · À la fin de cette leçon, vous disposerez des modèles, checklists et prompts du cours (matrice rôles × actions, tableau des sessions, fiche de parcours, checklist SSO, checklist de sécurité des parcours), et vous aurez planifié leur application à votre produit sur 7 et 30 jours.