Une règle d’accès relie une personne, une action et un objet
Avant de nommer un modèle technique, votre équipe doit répondre à des questions ordinaires. Une personne peut-elle consulter ce dossier, modifier cette commande, valider cette dépense, exporter cette liste ou supprimer ce document ?
Commencez par les objets métier et leurs actions. Pour chaque fonction de travail, écrivez autorisé, refusé ou à décider. Ajoutez ensuite la portée : son propre dossier, son équipe, un établissement ou toute l’entreprise.
Lorsqu’aucune règle explicite ne correspond, prévoyez le refus. Testez au moins un cas autorisé et un cas refusé pour chaque action sensible. Une inconnue sur l’export, la suppression, l’administration ou la validation arrête la fonction jusqu’à la décision du responsable métier.
Le moindre privilège réduit les droits au besoin réel. C’est une recommandation de conception, pas une loi universelle. Les références RGPD et CNIL citées ici restent limitées aux traitements de données personnelles.
Pour un produit par abonnement, replacez cette matrice dans le cahier des charges complet du SaaS : création de l’organisation cliente, offre, échecs de paiement, support et sortie doivent conduire aux mêmes droits et aux mêmes refus vérifiables.

Mémo express
Un mot à ne pas confondre
Ici, un droit d’accès est une autorisation dans l’application. Le droit d’une personne concernée à obtenir ses données au titre du RGPD, notamment son article 15, est un autre sujet.
La matrice commence par ce que les personnes font vraiment
Un profil « administrateur » mélange souvent des décisions sans rapport : corriger un dossier, créer un compte, exporter toutes les données ou modifier une règle. Séparez ces actions. Vous pourrez ensuite regrouper les permissions qui correspondent réellement à une même fonction de travail.
Dix dimensions pour une règle vérifiable
- Colonne
- Objet
- Question ordinaire
- Sur quoi agit-on ?
- Exemple fictif
- Demande d’achat, pièce jointe, fournisseur
- Colonne
- Action
- Question ordinaire
- Que peut-on faire ?
- Exemple fictif
- Consulter, modifier, valider, exporter, supprimer
- Colonne
- Fonction
- Question ordinaire
- Dans quel travail ce droit est-il nécessaire ?
- Exemple fictif
- Demandeur, responsable, comptabilité
- Colonne
- Relation
- Question ordinaire
- Quel lien avec l’objet change le droit ?
- Exemple fictif
- Créateur, responsable de l’équipe, délégataire
- Colonne
- État
- Question ordinaire
- Le droit change-t-il au fil du processus ?
- Exemple fictif
- Brouillon, soumis, validé, clôturé
- Colonne
- Portée
- Question ordinaire
- Jusqu’où le droit s’étend-il ?
- Exemple fictif
- Propre dossier, équipe, établissement, entreprise
- Colonne
- Décision
- Question ordinaire
- Autorisé, refusé ou à décider ?
- Exemple fictif
- Refusé tant qu’aucune règle ne l’autorise
- Colonne
- Responsabilité
- Question ordinaire
- Qui demande, valide, applique et revoit ?
- Exemple fictif
- Responsable métier, opérateur et date de revue
- Colonne
- Réception
- Question ordinaire
- Comment vérifier le droit et son refus ?
- Exemple fictif
- Cas positif, cas négatif et résultat attendu
- Colonne
- Trace
- Question ordinaire
- Quelle action faut-il pouvoir attribuer et pourquoi ?
- Exemple fictif
- Auteur, instant, nature et référence utile
Fonction de travail : Objet métier : Action : Relation / état / portée : Décision : autorisé | refusé | à décider Responsable de la décision : Cas autorisé : Cas refusé : Trace utile et finalité :
« À décider » n’est pas « autorisé »
Conservez la cellule ouverte et attribuez la décision. Remplacer une inconnue par « oui » accélère le développement, mais retire au métier la décision qu’il devra pourtant assumer.
Gardez un rôle simple tant qu’il exprime la vraie règle
Le contrôle par rôles, appelé RBAC, associe des permissions à une fonction puis affecte cette fonction aux personnes. Il convient à des règles stables comme « la comptabilité peut consulter les factures validées ».
Il devient moins lisible si vous créez « responsable agence Lyon », « responsable agence Chambéry » et une nouvelle variante pour chaque remplacement.
Dans ce cas, la règle dépend d’un attribut (l’établissement, l’état, la date) ou d’une relation (le créateur, l’équipe, la délégation). OWASP les décrit comme un contrôle fondé sur des attributs (ABAC) ou sur des relations (ReBAC). La règle métier observable doit guider ce choix.
Choisir le modèle le plus simple qui exprime la règle
- Situation
- Fonctions stables
- Règle lisible
- Rôle : demandeur, responsable, comptabilité
- Risque à éviter
- Un rôle par personne ou par exception
- Situation
- Plusieurs établissements
- Règle lisible
- Rôle + établissement de l’utilisateur et de l’objet
- Risque à éviter
- Accès national accordé par facilité
- Situation
- Dossier possédé
- Règle lisible
- Action permise si la personne est créatrice ou responsable
- Risque à éviter
- Tout utilisateur voit tous les dossiers
- Situation
- Processus par étapes
- Règle lisible
- La modification dépend de l’état du dossier
- Risque à éviter
- Modifier après validation sans règle explicite
- Situation
- Remplacement
- Règle lisible
- Délégation bornée, motif, début et fin
- Risque à éviter
- Droit temporaire jamais retiré
Une fonction existante peut suffire
Avant de développer une couche de droits sur mesure, configurez les groupes, rôles ou règles de partage déjà fournis par l’outil. S’ils expriment la portée réelle, peuvent être exportés et passent les tests d’autorisation et de refus, arrêtez là le développement.
Mémo express
L’interface ne décide pas
Cacher un bouton améliore l’expérience, mais ne protège pas l’objet. OWASP recommande de vérifier l’autorisation à chaque requête concernée, côté serveur ou à un point d’application équivalent, y compris lorsque l’identifiant de l’objet est modifié.
Le refus par défaut couvre aussi les chemins oubliés
Une application doit répondre lorsqu’aucune règle ne correspond. OWASP recommande de refuser par défaut et de justifier chaque autorisation. Ce choix évite qu’une nouvelle API, une pièce jointe ou un écran secondaire devienne accessible parce que personne ne l’a ajouté à la liste.
Préparer le refus aussi précisément que l’autorisation
- Question
- Aucune règle ne correspond
- Réponse à écrire
- Refus sans modifier l’objet
- Test
- Utilisateur connecté, fonction absente
- Question
- L’identifiant est changé
- Réponse à écrire
- Refus sur l’autre dossier
- Test
- Même URL avec l’identifiant d’un collègue
- Question
- Le rôle a expiré
- Réponse à écrire
- Refus immédiat après retrait
- Test
- Rejouer la requête après le départ
- Question
- L’état a changé
- Réponse à écrire
- Action interdite après validation ou clôture
- Test
- Rejouer la modification sur l’objet clôturé
- Question
- Le contrôle échoue
- Réponse à écrire
- État stable et message sans détail sensible
- Test
- Erreur technique simulée sur le contrôle
Refuser ne signifie pas tout bloquer
Les ressources publiques, les fonctions réellement ouvertes et les délégations décidées restent accessibles. Le refus par défaut signifie seulement qu’une autorisation doit être explicable et testable.
Un changement de poste doit changer les droits
La fiche CNIL « Gérer les habilitations » du 13 mars 2024 recommande, pour les traitements de données personnelles, de faire valider les demandes et de retirer les droits devenus inutiles lors d’un changement ou d’un départ. Elle invite aussi à impliquer les métiers dans une revue régulière, au moins annuelle.
La revue annuelle n’est pas une fréquence légale universelle. Elle ne permet pas d’attendre : un changement de situation doit déclencher l’action. Le cycle couvre l’arrivée, la mobilité et le départ, mais aussi le remplacement, la fin de mission, l’absence longue ou le changement d’établissement.
Attribuer le cycle arrivée–mobilité–départ
- Événement
- Arrivée
- Décision
- Fonction, portée, date de début et valideur
- Contrôle observable
- Compte individuel et droits conformes à la matrice
- Événement
- Mobilité
- Décision
- Retirer l’ancien avant ou avec le nouveau droit
- Contrôle observable
- Absence de cumul non décidé
- Événement
- Remplacement
- Décision
- Délégation limitée et date de fin
- Contrôle observable
- Expiration ou retrait vérifié
- Événement
- Départ
- Décision
- Suspendre l’accès, retirer délégations et traiter les tâches
- Contrôle observable
- Requête refusée et responsabilités transférées
- Événement
- Revue
- Décision
- Comparer droits réels, fonction actuelle et exceptions
- Contrôle observable
- Écarts corrigés et décision datée
Mémo express
Le responsable métier tranche si le droit reste nécessaire
L’équipe technique peut extraire les droits réels et appliquer les changements. Le responsable métier reste le mieux placé pour dire si une personne a encore besoin d’exporter, de valider ou de voir tous les dossiers de son équipe.
Une trace enregistre une action ; une alerte exige un autre mécanisme
La fiche CNIL « Tracer les opérations » du 14 mars 2024 recommande, dans le périmètre des données personnelles, de tracer notamment création, consultation, partage, modification et suppression avec l’auteur, la date, l’heure, la nature de l’opération et une référence à la donnée.
Enregistrer ces champs ne suffit pas à rendre le journal exhaustif, inaltérable ou réellement consulté. Une trace devient une alerte seulement si une règle la repère et qu’une personne reçoit puis traite le signal.
Une trace peut elle-même contenir des données personnelles. Sa finalité, ses accès, sa protection et sa durée doivent alors être justifiés.
Définir une trace utile et bornée
- Élément
- Événement
- Question
- Quelle action sensible faut-il pouvoir attribuer ?
- Limite
- Tout tracer crée du bruit et des données nouvelles
- Élément
- Auteur et instant
- Question
- Quel compte agit et quand ?
- Limite
- Un compte partagé affaiblit l’attribution
- Élément
- Objet
- Question
- Quelle référence suffit sans recopier la donnée ?
- Limite
- Éviter contenu complet, secret et mot de passe
- Élément
- Accès à la trace
- Question
- Qui peut la consulter, corriger ou supprimer ?
- Limite
- La personne tracée ne doit pas pouvoir tout altérer
- Élément
- Finalité et durée
- Question
- Pourquoi conserver et quand réexaminer ou supprimer ?
- Limite
- Repère CNIL pour les journaux de traitements de données personnelles : six mois à un an, avec exceptions. Ce n’est pas une durée universelle
- Élément
- Analyse
- Question
- Qui cherche une anomalie et que fait-il ensuite ?
- Limite
- Un journal sans lecture n’est pas une alerte
L’outil affiche d’abord le point qui empêche de décider
Répondez avec des états génériques. L’outil traite d’abord le contexte et les inconnues, puis la matrice, le refus, les droits sensibles, le cycle de vie et les tests négatifs. Il passe ensuite aux relations et à la trace. Une réponse documentée ne compense jamais un STOP antérieur.
Préparation de la matrice · outil local
Quel point faut-il décider avant de développer ?
Choisissez uniquement des réponses génériques. Ne saisissez aucun nom, rôle interne, objet métier, secret ou donnée personnelle : l’outil ne transmet, ne stocke et ne note aucune réponse.
1. Qualifiez le contexte
« Inconnu » reste une information à obtenir. Il ne vaut jamais « non ».
2. Localisez les règles et les tests
« Documenté » signifie qu’un autre lecteur peut retrouver la règle, le responsable et le résultat attendu. Ce n’est pas une preuve que l’application l’applique déjà.
Prochaine décision · aucun score
Commencez par qualifier le contexte
Les données personnelles, les actions sensibles, plusieurs établissements et les délégations temporaires changent les règles à écrire et les personnes à associer.
Faites répondre le responsable métier. Si le traitement porte sur des données personnelles, associez la compétence en protection des données appropriée sans confondre ce point avec le droit d’accès de la personne concernée.
L’outil ne remplace ni la validation métier, ni les tests techniques, ni un avis juridique ou sécurité adapté. Une matrice documentée reste à implémenter et à vérifier.
Le dernier verdict signifie uniquement que la matrice peut être relue en atelier. Il ne prouve pas que le code applique les règles, qu’aucun chemin n’est oublié ou que le traitement respecte ses obligations. Les réponses restent dans l’état de la page et sont perdues au rechargement.
À chaque autorisation critique, associez un test de refus
Avant le développement, chaque ligne critique de la matrice doit produire un cas autorisé et un cas refusé. Commencez par les actions qui exposent, modifient, exportent, suppriment ou valident les objets les plus sensibles.
Transformer une règle en critères de réception
- Test
- Positif
- Préparation
- Bonne fonction, bonne relation, bon état
- Résultat attendu
- Action autorisée et résultat métier correct
- Test
- Horizontal
- Préparation
- Même fonction, dossier d’un autre utilisateur ou établissement
- Résultat attendu
- Refus sans divulguer l’existence ou le contenu indu
- Test
- Vertical
- Préparation
- Fonction ordinaire, action d’administration
- Résultat attendu
- Refus côté serveur
- Test
- Cycle de vie
- Préparation
- Droit retiré après mobilité ou départ
- Résultat attendu
- Ancienne requête refusée
- Test
- État
- Préparation
- Objet déjà validé ou clôturé
- Résultat attendu
- Modification refusée selon la règle
- Test
- Trace
- Préparation
- Action sensible autorisée puis refusée
- Résultat attendu
- Événements attendus, sans secret ni donnée complète
Le guide du plan de recette aide à attribuer ces tests, préparer les données et classer les anomalies. Le guide du socle de sécurité complète les droits avec sauvegarde, détection, réponse et responsabilités globales.
STOP si le métier ne peut pas trancher
Une équipe technique ne doit pas inventer qui peut exporter, supprimer ou valider. Réduisez la fonction, utilisez des données fictives ou reportez sa mise en service jusqu’à la décision.
Une délégation temporaire ne devient pas un droit permanent
Exemple illustratif entièrement fictif
Atelier Atlas et ses demandes d’achat
Aucun client, logiciel, organisation ou résultat réel n’est représenté. Les fonctions et décisions servent uniquement à montrer comment remplir puis tester la matrice.
Dans ce scénario, une personne crée et consulte ses demandes. Son responsable peut valider celles de son équipe. La comptabilité consulte et exporte seulement les demandes validées. Une personne ne valide jamais sa propre demande. Une délégation de validation est possible pendant une absence, avec début, fin et responsable de l’accord.
Extrait fictif de matrice sans score
- Fonction et action
- Demandeur · modifier
- Portée
- Sa demande encore au brouillon
- Décision et test
- Autorisé ; refuser après soumission
- Fonction et action
- Responsable · valider
- Portée
- Demandes de son équipe
- Décision et test
- Autorisé ; refuser l’autre établissement
- Fonction et action
- Responsable · valider sa propre demande
- Portée
- Sa propre demande
- Décision et test
- Refusé ; un autre responsable doit décider
- Fonction et action
- Comptabilité · exporter
- Portée
- Demandes validées
- Décision et test
- Autorisé ; refuser les brouillons
- Fonction et action
- Délégataire · valider
- Portée
- Même équipe, pendant la période décidée
- Décision et test
- Autorisé pendant la délégation ; refuser après son terme
- Fonction et action
- Toute fonction · supprimer
- Portée
- À décider
- Décision et test
- STOP : aucune suppression avant arbitrage métier
La suppression reste inconnue : elle ne passe donc pas en développement. La délégation possède un test après expiration. Le journal vise les validations, exports, retraits et refus sensibles, mais le scénario ne fixe aucune durée de conservation universelle.
Les droits sont le premier chapitre d’un ensemble plus large : les contrôles de sécurité d’une application métier couvrent la suite — journalisation, restauration, sous-traitance. Dès qu’une donnée réelle entre dans le produit, ces exigences appartiennent au premier lot, comme le rappelle le guide sur ce qu’un MVP doit contenir.
Deux contextes rendent l’exercice plus difficile. Reprendre un logiciel métier existant suppose d’inventorier des comptes dont plus personne ne connaît le périmètre, et une migration sans interruption de service fait cohabiter deux modèles de droits le temps de la bascule. Sur une plateforme partagée, Airtable ou Notion face à une application métier et Power Apps face à une application sur mesure expliquent ce que le plan souscrit permet réellement de cloisonner.
Mémo express
Commencez par un seul objet
Prenez un objet critique de votre activité. Remplissez ses actions avec un responsable métier, puis remettez la matrice à une autre personne : si elle ne peut pas écrire un cas autorisé et un cas refusé, la règle demande encore une décision.
Si le besoin dépasse la configuration d’un outil existant, le service d’outils internes sur mesure peut transformer la matrice en fonctions et critères de réception. Pour transmettre un besoin déjà préparé, vous pouvez ensuite décrire le projet.