Identité : comptes, groupes, SSO, MFA
Comment les utilisateurs de la Box sont identifiés (SSO OIDC via Entra ID, Google Workspace, Authentik ou Keycloak), authentifiés (MFA, passkeys) et comment leurs groupes deviennent des rôles Box puis des ACL RAG.
L'essentiel
- Une seule source de vérité pour les identités : le fournisseur d'identité (IdP) du cabinet. La Box ne gère pas de mots de passe ; elle fait confiance à un jeton OIDC.
- Trois cas selon le cabinet : déjà sous Microsoft 365 → Entra ID (OIDC, passkeys inclus dans l'édition Free) ; sous Google Workspace → Google comme IdP ; ni l'un ni l'autre → un IdP auto-hébergé sur la Box, Authentik (MIT + EE) ou Keycloak (Apache 2.0, CNCF).
- Les groupes de l'IdP (« associés », « avocat-A », « secrétariat », « dossier-0042 ») sont transmis dans le jeton et deviennent : rôles dans l'interface, puis liste de dossiers autorisés dans le filtre du RAG. C'est le fil qui relie identité et permissions RAG.
- MFA obligatoire, portée par l'IdP ; passkeys recommandées ; sessions courtes ; comptes techniques séparés des comptes humains.
- Recommandation initiale Hypothèse : Entra ID quand il existe, sinon Authentik sur la Box ; Keycloak si le cabinet ou l'intégrateur le maîtrise déjà.
Vocabulaire
- Compte : une personne physique (jamais partagé). Les comptes techniques (connecteur SMB, service RAG) sont des identités séparées, sans accès interactif.
- Groupe : ensemble de comptes défini dans l'IdP ; c'est l'unité de gestion des droits.
- Rôle Box : ce qu'un compte peut faire dans l'interface (utilisateur, administrateur fonctionnel, administrateur technique).
- ACL dossier : quels groupes peuvent lire un dossier ; consommée par le RAG.
- SSO : l'utilisateur s'authentifie une fois auprès de l'IdP ; l'interface reçoit un jeton signé avec son identité et ses groupes.
Fournisseurs d'identité
| Option | Licence / coût | Protocoles | MFA / passkeys | Fédération | Hébergement | Source |
|---|---|---|---|---|---|---|
| Microsoft Entra ID | inclus avec Microsoft 365 ; app registrations sans coût ; passkeys FIDO2 dans toutes les éditions, y compris Free | OIDC, SAML | oui, passkeys incluses | — (c'est la source) | cloud Microsoft | 3 |
| Google Workspace | inclus | OIDC, SAML | oui | — | cloud Google | non vérifié dans nos recherches |
| Authentik | MIT (cœur) + Enterprise propriétaire (5 $/utilisateur interne/mois en self-hosted) ; 2026.8.2 du 09/09/2026 | SAML, OAuth2/OIDC, LDAP (outpost), RADIUS, SCIM, proxy | TOTP, WebAuthn/passkeys, Duo | sources Entra ID, Google, LDAP | Docker Compose, PostgreSQL (+ Redis selon version) | 1 |
| Keycloak | Apache 2.0 ; CNCF incubating depuis le 10/04/2023 ; 26.7.2 (août 2026) | OIDC, SAML 2.0, fédération LDAP/Kerberos | OTP, WebAuthn passkeys, passwordless | identity brokering Microsoft, Google, OIDC/SAML | conteneur quay.io/keycloak/keycloak + base de données | 2 |
| LDAP / Active Directory seul | existant | LDAP | non (sauf surcouche) | — | serveur du cabinet | 7 |
Entra ID : pour un cabinet déjà sous Microsoft 365, c'est l'option sans nouveau composant. Open WebUI le supporte directement (MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_TENANT_ID, scope offline_access) 4 ; LibreChat synchronise même les groupes via Graph 6. Réserve : l'authentification de la Box dépend alors d'un service cloud (si Microsoft est indisponible, personne ne se connecte) ; les données des dossiers, elles, ne quittent pas la Box. Les politiques d'accès conditionnel avancées exigent des licences P1/P2 (non vérifié).
Authentik : IdP moderne, déploiement simple en Compose, interface d'administration lisible, fonctions de base suffisantes en édition MIT ; périmètre de l'EE à surveiller à chaque release 1. Peut fédérer un Entra ID ou un Google existant tout en restant le point d'entrée unique de la Box.
Keycloak : référence de l'écosystème, sans édition payante, plus lourd à exploiter (JVM), courbe d'apprentissage plus raide ; à préférer si l'intégrateur le connaît 2.
LDAP seul : suffisant pour vérifier un mot de passe, insuffisant pour la MFA et les jetons ; à fédérer derrière Authentik ou Keycloak plutôt qu'à brancher directement.
Du groupe IdP à l'ACL RAG
Trois conventions à fixer :
- Nommage des groupes : un groupe par rôle (
box-associes,box-avocats,box-secretariat,box-admin) et un groupe par dossier ou par portefeuille (dossier-2026-0042, ouportefeuille-avocat-a). Le nombre de groupes par dossier peut devenir grand ; l'alternative est une table d'ACL dans la Box alimentée par convention de chemin (documents). - Claim de groupes : le jeton doit contenir les groupes (claim
groups) ; dans Entra ID, cela se configure dans l'app registration (attention à la limite du nombre de groupes dans un jeton : non vérifiée ici). Open WebUI litOAUTH_GROUPS_CLAIMet aligne strictement les groupes locaux sur les claims 5. - Résolution de portée : à chaque requête, l'API RAG traduit les groupes du jeton en liste de
dossier_idvia la table des dossiers, puis construit le filtre (permissions). La traduction est faite côté serveur ; le client n'envoie jamais de liste de dossiers.
MFA, passkeys, sessions
- MFA obligatoire pour tous les comptes humains, appliquée par l'IdP (politique d'accès conditionnel Entra, flux Authentik, required action Keycloak).
- Passkeys (WebAuthn / FIDO2) recommandées : résistantes au phishing, incluses dans Entra ID Free 3, dans Authentik et Keycloak 1 2.
- Sessions : durée courte (par exemple 8 à 12 heures avec réauthentification quotidienne : valeur à fixer avec le cabinet), déconnexion à la fermeture du navigateur pour les postes partagés, révocation des sessions à la désactivation d'un compte.
- Comptes administrateurs : distincts des comptes d'usage, MFA renforcée, journalisés.
Politiques d'accès
| Politique | Mise en œuvre | Pourquoi |
|---|---|---|
| Inscription fermée | ENABLE_SIGNUP=False, comptes créés par le SSO uniquement | aucun compte hors annuaire |
| Nouveaux comptes en attente | rôle pending par défaut, validation par un admin fonctionnel | éviter l'accès automatique d'un compte IdP hors périmètre |
| Départ d'un collaborateur | désactivation dans l'IdP → sessions révoquées, groupes vidés, portée RAG vide à la requête suivante | révocation en un point |
| Changement d'affectation | modification des groupes IdP → resynchronisation des ACL Box | un seul geste, tracé |
| Accès à distance | uniquement via VPN + SSO (reverse proxy et accès) | pas d'exposition Internet directe |
| Administrateur technique | compte sans groupe de dossier ; accès aux journaux et à la configuration, pas au contenu | séparation des rôles, secret professionnel |
| Journalisation | connexions, échecs, changements de groupes, dans l'IdP et la Box | preuve et détection (sécurité, RGPD) |
Recommandation initiale
Questions ouvertes
Ce qu'il reste à tester
Sources
- 1Authentik — README, releases et pricingGitHubFiabilité hauteAuthentik Security · publié 2026.8.2, 09/09/2026 · consulté le 16 sept. 2026 · fiche source
- 2Keycloak — README, CNCF et release 26.7.2GitHubFiabilité hauteKeycloak (CNCF) · publié 26.7.2, août 2026 · consulté le 16 sept. 2026 · fiche source
- 3Microsoft Entra ID — passkeys FIDO2 et coût des app registrationsDocumentation officielleFiabilité hauteMicrosoft · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
- 4Open WebUI — SSO (OAuth, OIDC, LDAP, trusted header)Documentation officielleFiabilité hauteOpen WebUI · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
- 5Open WebUI — permissions et groupes (RBAC)Documentation officielleFiabilité hauteOpen WebUI · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
- 6LibreChat — Access Control (ACL par ressource, groupes Entra)Documentation officielleFiabilité hauteLibreChat · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
- 7Samba wiki — client CIFS/SMB3 du noyau LinuxDocumentation officielleFiabilité hauteSamba · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source