Aller au contenu

Sécurité

Ensemble nommé de permissions qu'on attribue à une identité (utilisateur, groupe, compte de service) plutôt que de lui accorder chaque droit un par un. Le contrôle d'accès vérifie le rôle détenu, pas la personne qui le porte.

Diagramme de séquence entre quatre acteurs : Administrateur, Rôle, Utilisateur et Système. 1. L'administrateur définit les permissions du rôle. 2. Il attribue le rôle à l'utilisateur. 3. L'utilisateur demande une action au système. 4. Le système vérifie les permissions associées au rôle. 5. Si la permission est présente, le système répond à l'utilisateur que l'action est autorisée ; si elle est absente, il lui oppose un refus.

Principe : On attache les permissions au rôle, puis on attribue le rôle aux identités. Arrivée, mutation ou départ se gèrent en ajoutant ou en retirant un rôle, sans toucher aux droits eux-mêmes.

Moindre privilège : Un rôle décrit une fonction, pas une personne ni un dépannage. Celui qu'on taille pour quelqu'un en particulier porte son nom, survit à son départ, et finit attribué à trois successeurs qui n'ont jamais exercé le même métier.

Le même mot, trois objets : Kubernetes sépare le rôle, qui dit ce qui est permis, de sa liaison, qui dit à qui ; PostgreSQL ne distingue pas rôle, utilisateur et groupe, un rôle autorisé à se connecter étant un utilisateur ; dans le cloud, un service endosse un rôle et reçoit des jetons temporaires plutôt qu'un secret permanent à stocker dans le code. Avant de lire une politique, savoir lequel des trois on a sous les yeux.

Explosion des rôles : Créer un rôle par cas particulier produit des centaines de rôles quasi identiques que plus personne ne sait auditer. Au-delà d'un certain seuil, un contrôle fondé sur des attributs (ABAC) prend souvent le relais.

Ce qui arrive si on s'en passe

Sans rôles, chaque permission est accordée directement à chaque identité, une par une. Les droits s'accumulent au fil des changements de fonction et des besoins ponctuels, et rien ne les retire : une identité conserve des accès dont elle n'a plus l'usage, et un compte compromis donne accès à tout ce qui lui a été accordé un jour. Pour savoir qui peut faire quoi, il faut alors inventorier les droits identité par identité, ce qui rend l'audit lent et incomplet. Au départ d'une personne, chaque droit doit être retrouvé et révoqué séparément ; un seul oubli laisse un accès actif. Deux identités censées avoir le même périmètre finissent par diverger sans que rien ne le signale, et une règle de séparation des tâches ne peut plus être vérifiée sur un ensemble nommé, puisque cet ensemble n'existe pas.

Explication de la marmotte

Dans un lycée, on ne distribue pas les clés une par une à chaque personne. On décide plutôt que les profs ouvrent les salles de classe, que la cantinière ouvre la cuisine et que le concierge ouvre tout le bâtiment. Ces étiquettes « prof », « cantinière » et « concierge » sont des rôles. Quand une nouvelle prof arrive, on lui donne l'étiquette « prof » et elle reçoit d'un coup tous les accès qui vont avec. Quand elle part, on lui retire l'étiquette et tous ses accès disparaissent. Un ordinateur ou un site web fonctionne de la même façon : il classe les gens par rôles pour savoir qui a le droit de faire quoi, sans devoir régler chaque personne à la main.

Où ce terme est utilisé

← Tout le glossaire