Découverte du contrôle d'accès basé sur les rôles (RBAC)
by Alexandre Dedourges, DevSec
Qu'est-ce que le Role-Based Access Control (RBAC) ?
Le RBAC, aussi appelé contrôle d'accès basé sur les rôles (CABR) en français, est un modèle de contrôle d’accès. Celui-ci permet de restreindre les accès aux systèmes uniquement aux utilisateurs autorisés. Les accès par RBAC sont gérés à partir des rôles auxquels appartiennent les utilisateurs. Ce nouveau modèle de gestion des accès vient s’ajouter à d’autres modèles comme le DAC (Discretionary Access Control ou en français contrôle d'accès discrétionnaire), le MAC (Mandatory Access Control ou en français contrôle d’accès obligatoire) et l’ABAC (Attribute-Based Access Control). Nous verrons ensemble ces modèles plus en détail dans la suite. Néanmoins le RBAC est de nos jours l’un des modèles les plus utilisés en entreprise, car il est plus avantageux. En effet, il est plus simple de gérer un grand nombre de personnes avec le RBAC.
Le contrôle des accès en entreprise
Autrefois les accès étaient verrouillés par des clés ou des cartes d’accès. Or les systèmes d’information sont de nos jours omniprésents que ce soit dans notre vie ou en entreprise. C’est donc tout naturellement que la question des contrôles d’accès sur ceux-ci s’est posée. Ceci est encore plus vrai en entreprises où certaines ressources nécessitent d’être protégées et de n’être accessibles qu’à certaines personnes. Il est donc nécessaire de mettre en place un contrôle des accès. Celui-ci doit être réalisé de la manière la plus réfléchie possible. En effet un contrôle des accès trop restrictif pourrait mettre en péril la continuité des activités. À l’inverse un contrôle trop faible peut mettre en péril la confidentialité des données et leur sécurité.
L’utilisation du RBAC est donc une solution de choix pour contrôler ceux-ci. En effet, en 2004, une étude du NIST (National Institute of Standards and Technology) a montré que le modèle RBAC convenait à la majorité des besoins pour les entreprises et organisations. C’est pourquoi le RBAC a été transcrit dans le modèle NIST pour en faire une norme. Cette normalisation a été poursuivie par l’InterNational Committee for Information Technology Standards (INCITS) qui est une organisation de développement de normes accréditées par l’ANSI (American National Standards Institute). En découle la norme ANSI/INCITS 359 en 2004. Ce document a été republié sous le numéro INCITS 359-2012, qui a depuis été réaffirmé (INCITS 359-2012 (R2022)).
Ce modèle est donc approuvé et toujours grandement utilisé. Il permet de fournir des accès aux personnes en ayant le besoin et donc de le retirer à ceux qui n’en ont pas besoin.
Le RBAC, une méthode basée sur des rôles
Le RBAC est une méthode basée sur des rôles plutôt que sur des utilisateurs. En effet, plutôt que de gérer les droits d’un seul utilisateur à chaque fois, les administrateurs vont plutôt gérer tout un groupe d'utilisateurs ayant des besoins d’accès similaires. Pour modifier les droits d’un de ces groupes d’utilisateurs, il faudra juste modifier leur rôle pour que les modifications s’appliquent. Les modifications seront alors affectives pour tous les utilisateurs possédant ce rôle. Cela évite de modifier les permissions de chaque utilisateur de manière individuelle.
Pour résumer, les rôles sont des groupes d’utilisateurs possédant les mêmes fonctions. Ceux-ci sont gérés par des administrateurs qui leur attribuent des permissions. Enfin ces permissions permettent de déterminer ce qu’une personne peut faire, ou ne pas faire, en fonction de son rôle (les permissions sont attachées à un rôle).
Dans ce modèle, les utilisateurs n’ont donc pas des permissions personnelles, mais des rôles. Chaque rôle ayant des permissions qui lui sont propres. Pour modifier les droits d’un utilisateur, il faudra alors, soit le changer de rôle, soit modifier le rôle auquel il appartient. Dans le deuxième cas, cela implique de modifier les permissions de tous les utilisateurs possédant le même rôle.
Les rôles peuvent alors reposer sur plusieurs critères. Ils peuvent par exemple être attribués en fonction du niveau hiérarchique de la personne (le dirigeant aura plus de droits qu’un intérimaire par exemple). Ils peuvent également être attribués en fonction de leurs responsabilités, en effet, un responsable marketing n’aura peut-être pas les mêmes droits qu’un responsable technique. Enfin, ils peuvent être attribués en fonction du niveau de compétence des personnes. Un employé ayant 10 ans d'expérience aura peut-être accès à plus de dossiers de travail qu’un employé n’ayant aucune expérience.
Rôles et groupes, qu'est-ce qui les différencie ?
La nuance entre un groupe et un rôle peut sembler assez vague. Pour éclaircir ce point, voici donc comment le professeur Ravi Sandhu définit ces deux notions :
-
Un groupe est une collection d’utilisateurs. Ce groupe possède des permissions. Ces permissions s’appliquent donc aux utilisateurs du groupe.
-
Un rôle est une collection de permissions. Ces permissions s’appliquent aux utilisateurs possédant ce rôle.
D’autres méthodes de contrôles des accès
Le DAC
Le Discretionary Access Control est un genre de contrôle d'accès, défini par le Trusted Computer System Evaluation Criteria (TCSEC) comme « des moyens de limiter l'accès aux objets basés sur l'identité des sujets ou des groupes auxquels ils appartiennent. Le contrôle est discrétionnaire, car un sujet avec une certaine autorisation d'accès est capable de transmettre cette permission (peut-être indirectement) à n'importe quel autre sujet (sauf restriction du contrôle d'accès obligatoire). ».
Par exemple : les utilisateurs d'un réseau social peuvent choisir qui accède à leurs données. Il permet aux utilisateurs de révoquer ou de transférer des privilèges facilement et immédiatement.
Quelques notions définissant le DAC :
-
Un utilisateur peut transférer ses droits sur un objet à un autre utilisateur
-
Les droits d’accès des autres utilisateurs peuvent être déterminés par l’utilisateur
-
Après plusieurs tentatives de connexions infructueuses, un utilisateur peut être bloqué.
-
Les utilisateurs non autorisés ne pourront pas voir les caractéristiques de l’objet sur lequel ils n'ont pas d’autorisation.
Le MAC
Le Mandatory Access Control est assez semblable au DAC à la différence que les utilisateurs ne peuvent pas remplacer ou modifier la politique de sécurité des accès, que ce soit accidentellement ou intentionnellement.
Dans l’exemple précédent, les utilisateurs du réseau social ne pourraient pas modifier les privilèges si l’administrateur ne le permet pas, que ces informations leur appartiennent ou non.
Par exemple : Les niveaux d'accès des utilisateurs Windows (invité, utilisateur ou admin)
Quelques notions identifiant le MAC :
-
L’utilisation du MAC permet de réduire les erreurs système
-
Le MAC a un niveau de sécurité plus élevé que le DAC, car seul l’administrateur système peut consulter et apporter des modifications aux autorisations.
-
La maintenance ne peut être effectuée que par l’administrateur, car ce sera la seule personne ayant à la base de données. Cela peut donc rendre la maintenance plus complexe.
L’ABAC
Ce modèle prend en charge la logique booléenne, dans laquelle les règles contiennent des instructions « SI, ALORS » indiquant qui fait la demande, la ressource et l'action.
Par exemple : SI le demandeur est un responsable, ALORS autorisez l'accès en lecture/écriture aux données sensibles.
ou
SI c’est la journée, ALORS autorisez la modification (dans le cas où personne n’est censé travailler la nuit)
Le RBAC un système avantageux pour les entreprises
Moins complexe : Dans le cas où un nouvel employé viendrait à rejoindre l’entreprise, il suffirait de lui attribuer un rôle. Plus besoin de lui attribuer des permissions à la main et une par une.
Gain de temps : Comme dit précédemment dans le cas d’un changement ou d’un nouvel arrivant, une simple attribution de rôle et le tour est joué.
Maintenance moindre : Dans le cas d’un changement dans la politique de sécurité, plutôt que de devoir modifier toutes les personnes une par une, il suffit de modifier leur rôle ou de leur en attribuer un nouveau. Il est possible de modifier les permissions de plusieurs personnes en une seule fois. Ce qui est d’autant plus pratique quand vous comptez des milliers d’employés.
Coût amoindri : Tous les paramètres cités précédemment font que le coût de gestion est amoindri.
Conclusion
Le RBAC est un outil très pratique pour la gestion des identités, des droits d’accès, des autorisations… Il peut être utilisé dans tous les types d’entreprises et son utilisation est grandement recommandée. Comme dit précédemment, celui-ci est d’ailleurs recommandé par le NIST et l’ANSI aux États-Unis. L’ABAC est une alternative ou peut être un complément au RBAC, car c’est une méthode d’attribution des permissions qui offre une certaine granularité. Vous songez à améliorer votre gestion des accès ? Vous pouvez utiliser nos solutions et bénéficiez des avantages du RBAC & de l’ABAC.
Comme vous avez dû l'entendre dans un célèbre film « i’ll be r-bac » ! On vous laisse deviner le film.
Alors prêt à en apprendre plus sur le RBAC ? On vous en dit plus chez Cryptr.
Add enterprise SSO for free
Cryptr simplifies user management for your business: quick setup, guaranteed security, and multiple free features. With robust authentication and easy, fast configuration, we meet businesses' security needs hassle-free.