Le contrôle d’accès basé sur les rôles (RBAC) et le contrôle d’accès basé sur les attributs (ABAC) sont les deux méthodes les plus couramment utilisées pour contrôler les accès. En connaître les différences peut vous aider à choisir celle qui convient le mieux à votre entreprise.
La méthode du RBAC autorise ou refuse l’accès en fonction du rôle de l’utilisateur qui demande l’accès au sein de l’entreprise. La méthode de l’ABAC prend en compte divers attributs ou caractéristiques préconfigurés, qui peuvent être associés à l’utilisateur, et/ou à l’environnement, et/ou à la ressource concernée.
Imaginez le réseau et les ressources d’une entreprise comme un bâtiment sécurisé. L’unique point d’entrée est protégé par un agent de sécurité qui vérifie l’identité de toute personne entrant dans le bâtiment. Si une personne ne parvient pas à prouver son identité ou si elle n’a pas les droits nécessaires pour entrer dans le bâtiment, l’accès lui est refusé. Dans cette analogie, l’agent de sécurité représente un mécanisme de contrôle d’accès, socle de l’infrastructure de sécurité d’une entreprise.
Le contrôle d’accès est absolument indispensable. Les violations de données coûtent chaque année des millions de dollars aux entreprises, et beaucoup d’entre elles pourraient être évitées grâce à un meilleur contrôle d’accès. Voyons désormais ce que proposent les méthodes de RBAC et dABAC, et ce qui les différencie.
Un système de RBAC attribue aux individus des privilèges et des autorisations en fonction de leur « rôle ». Ces rôles sont définis par un administrateur qui classe les individus en fonction de leur service, de leurs responsabilités, de leur niveau d’ancienneté et/ou de leur situation géographique.
Par exemple, un directeur de la technologie peut avoir un accès exclusif à tous les serveurs de l’entreprise, tandis qu’un ingénieur logiciel n’aura accès qu’à un nombre restreint de serveurs d’applications. Les télétravailleurs peuvent bénéficier d’un rôle spécial qui leur permet d’accéder uniquement au serveur sur lequel ils travaillent actuellement.
Les niveaux d’accès peuvent également varier en fonction des rôles. Par exemple, une ressource junior sera uniquement autorisée à lire des informations dans une base de données, mais ne pourra ni ajouter ni modifier quoi que ce soit. D’un autre côté, un développeur de base de données senior disposera des privilèges les plus élevés sur toutes les bases de données.
La durée de l’accès peut également varier selon les rôles. Par exemple, un sous-traitant se voit attribuer un rôle d’intervenant externe qui lui donne accès à un serveur pendant x heures, tandis qu’un développeur de logiciels interne peut être autorisé à accéder indéfiniment au même serveur.
Il est également possible d’attribuer plusieurs rôles à un même utilisateur. Par exemple, un architecte logiciel supervise plusieurs équipes qui travaillent sur différents projets. Il doit avoir accès à tous les dossiers relatifs à ces projets. L’administrateur lui attribue donc plusieurs rôles, chacun donnant accès aux fichiers d’un projet spécifique.
Le modèle NIST pour le contrôle d’accès basé sur les rôles décrit plusieurs catégories de solutions RBAC :
Contrôle RBAC plat : chaque employé se voit attribuer au moins un rôle, mais certains peuvent en avoir plusieurs. Si quelqu’un veut accéder à un nouveau fichier/ressource/serveur, il doit d’abord obtenir un nouveau rôle.
Contrôle RBAC hiérarchique : les rôles sont définis en fonction de l’ancienneté. Outre leurs propres privilèges, les collaborateurs senior possèdent également ceux de leurs subordonnés.
Contrôle RBAC restreint : ce modèle repose sur la séparation des tâches. La séparation des tâches répartit l’autorité d’exécution d’une tâche entre plusieurs utilisateurs, ce qui réduit le risque d’activités frauduleuses et/ou risquées. Par exemple, si un développeur souhaite mettre un serveur hors service, il doit obtenir l’approbation non seulement de son responsable direct, mais aussi du responsable de l’infrastructure. Cela permet au responsable de l’infrastructure de refuser les demandes risquées et/ou inutiles.
Contrôle RBAC symétrique : tous les rôles de l’entreprise sont réévalués régulièrement. Après chaque évaluation, des privilèges peuvent être attribués ou révoqués, et des rôles peuvent être ajoutés ou supprimés.
Dans un environnement d’ABAC, lorsqu’un utilisateur se connecte, le système lui accorde ou lui refuse l’accès en fonction de différents attributs. Ces attributs peuvent être liés à différents paramètres :
Par exemple, supposons que Bob, un analyste paie, tente d’accéder au portail RH. Le système vérifie ses attributs « département », « fonction » et « responsabilités » pour déterminer s’il peut accéder au portail. Cependant, si Alice, de l’équipe informatique, tente d’accéder au même portail, elle n’y sera pas autorisée, car elle n’a pas les attributs requis.
La ressource concernée : il peut s’agir du nom et du type de la ressource (qui peut être un fichier, un serveur ou une application), de son créateur et de son propriétaire, ainsi que de son niveau de sensibilité.
Par exemple, Alice tente d’accéder à un fichier partagé qui contient les bonnes pratiques en matière de développement de logiciels. Comme l’attribut « niveau de sensibilité » du fichier est faible, Alice est autorisée à y accéder, même si elle n’en est pas propriétaire. Par contre, si elle tente d’accéder à un fichier d’un projet sur lequel elle ne travaille pas, les attributs « propriétaire du fichier » et « niveau de sensibilité » l’en empêcheront.
L’action : comment l’utilisateur souhaite-t-il utiliser la ressource ? Les attributs associés peuvent être « écrire », « lire », « copier », « supprimer », « mettre à jour » ou « tout ». Par exemple, si le profil d’Alice contient uniquement l’attribut « lire » pour un fichier spécifique, elle ne sera pas autorisée à mettre à jour le code source de ce fichier. À l’inverse, une personne ayant l’attribut « tout » peut utiliser la ressource comme elle le souhaite.
L’environnement : les attributs pris en compte incluent l’heure, la localisation de l’utilisateur et de la ressource, l’appareil de l’utilisateur et l’appareil hébergeant le fichier.
Par exemple, Alice peut être autorisée à accéder à un fichier dans un environnement « local », mais pas lorsqu’il est hébergé dans un environnement « client ».
Avantages du contrôle d’accès basé sur les rôles
Inconvénients du contrôle d’accès basé sur les rôles
Il est beaucoup plus simple et rapide de définir et d’appliquer des rôles que d’attribuer des attributs, ce qui est particulièrement utile pour les PME.
Pour établir des stratégies granulaires, les administrateurs doivent sans cesse ajouter de nouveaux rôles. Cela peut très facilement mener à une multiplication des rôles qui oblige les administrateurs à gérer des milliers de rôles dans l’entreprise.
Vous pouvez créer des hiérarchies d’accès via lesquelles les responsables obtiennent automatiquement toutes les autorisations de leurs subordonnés directs.
En cas de multiplication des rôles, il peut être difficile d’associer les bons rôles en fonction des besoins des utilisateurs.
Hors multiplication des rôles, la méthode de contrôle d’accès basé sur les rôles est généralement peu coûteuse.
Avantages du contrôle d’accès basé sur les attributs
Inconvénients du contrôle d’accès basé sur les attributs
Possibilité de définir une stratégie de contrôle d’accès granulaire. Les administrateurs peuvent choisir parmi un large éventail d’attributs, ce qui leur permet de formuler des règles très spécifiques.
La méthode peut être difficile à mettre en œuvre, notamment lorsque les délais sont serrés.
Il n’est pas nécessaire de modifier les règles existantes pour les nouveaux utilisateurs. Il suffit aux administrateurs d’attribuer les bons attributs aux nouveaux membres.
Il peut être difficile et chronophage de remettre en ordre une stratégie ABAC inadaptée.
En cas de révocation ou d’ajout d’autorisations, il est beaucoup plus facile de modifier des attributs que de modifier des rôles ou d’en créer de nouveaux.
La mise en œuvre d’un contrôle basé sur les attributs nécessite souvent plus de temps, de ressources et d’outils coûteux, ce qui augmente le coût global de la solution. Toutefois, une mise en œuvre réussie peut constituer un investissement financièrement viable et pérenne.
Si le contrôle d’accès basé sur les attributs est généralement vu comme une évolution du contrôle d’accès basé sur les rôles, ce n’est pas toujours le bon choix. En fonction de la taille de votre entreprise, de son budget et de ses besoins en matière de sécurité, vous pouvez opter pour l’une ou l’autre solution.
Vous disposez du temps, des ressources et du budget nécessaires à une mise en œuvre appropriée d’une stratégie d’ABAC.
Vous faites partie d’une grande entreprise qui ne cesse de croître. Les solutions d’ABAC sont extensibles.
Vos effectifs sont répartis géographiquement. Vous pourrez ajouter des attributs pour la localisation et le fuseau horaire.
Vous souhaitez mettre en place une stratégie de contrôle d’accès aussi granulaire et flexible que possible.
Vous souhaitez pérenniser votre stratégie de contrôle d’accès. Le monde évolue et le contrôle d’accès basé sur les rôles tombe peu à peu dans l’obsolescence. Le contrôle d’accès basé sur les attributs vous offre davantage de contrôle et de flexibilité sur votre stratégie de sécurité.
Vous travaillez dans une PME.
Les groupes d’utilisateurs sont bien définis au sein de votre entreprise et il est pertinent d’appliquer des stratégies étendues basées sur les rôles.
Vous disposez d’un temps, de ressources et/ou d’un budget limités pour mettre en œuvre votre stratégie de contrôle d’accès.
Vous faites appel à un petit nombre de collaborateurs externes et n’envisagez pas d’embauches massives.