Contrôle d'accès à base de rôles, Role-Based Access Control, RBAC earnanswers.com Carte du monde avec un cadenas transparent en premier plan symbolisant la cybersécurité.

Contrôle d'accès à base de rôles («Role-Based Access Control: RBAC»)

Publié: Édité: Cybersécurité fr
Table des Matières
  1. Qu'est-ce que le Contrôle d'accès à base de rôles («Role-Based Access Control: RBAC»)?
  2. Éléments Fondamentaux du Contrôle d'accès à base de rôles («Role-Based Access Control: RBAC»)
    • Utilisateur
    • Rôle
    • Permissions
    • Permissions dans un système d'exploitation
  3. Comment les éléments d'un système RBAC sont liés
  4. Les Bonnes Pratiques des Systèmes de Contrôle d'accès à Base de Rôles («Role-Based Access Control: RBAC»)
    • Principe de moindre privilège:
    • Séparation des tâches:
    • Abstraction des opérations:
  5. Analyse du Contrôle d'accès («RBAC access control»)
    • Avantages
    • Défis et Limitations du Contrôle d'accès à base de rôles (RBAC)
  6. Conclusion
  7. Références

Qu'est-ce que le Contrôle d'accès à base de rôles («Role-Based Access Control: RBAC»)?

Dans un système informatique, on appelle le contrôle d'accès à base de rôles («Role-Based Access Control: RBAC»), une suite de réglementations, renforcé grâce aux éléments informatiques.

Le contexte est un logiciel dans lequel est implémenté un système de Contrôle d'accès à base de rôles ("Role-Based Access Control: RBAC").

Les contrôles d'accès à base de rôles («Role-Based Access Control: RBAC») peuvent s'implémenter sur un système informatique du moment qu'il est intégré sur la couche application dans le contexte du standard OSI.

Un exemple d'un système informatique est un système d'exploitation ou un processus fonctionnant sur un certain port du protocole TCP/IP.
TCP/IP est un protocole réseau indispensable au fonctionnement de l'internet.

On définit une opération informatique par des actions concrètes dans un contexte de système informatique.

Exemples concrets d'opérations:

  • Au niveau des systèmes d'exploitations, les opérations peuvent inclure:
    lire, écrire, exécuter. Les rôles varient généralement entre utilisateur, groupe et public. Par exemple, un utilisateur peut avoir des permissions pour lire et écrire un fichier, tandis qu'un groupe peut seulement le lire, et le public n'a aucune permission.
  • Concernant CRUD dans le HTTP, les opérations dépendent du rôle de l'utilisateur connecté et de la façon dont le développeur a configuré le backend pour créer, lire, mettre à jour ou supprimer des données.

Une opération est exécutable uniquement sur la base de trois variables:

  1. L'Utilisateur
  2. Les Rôles qui lui sont assignés
  3. Les Permissions associées à ces rôles.

Avec ces discernements, nous avons établi le contexte, et les définitions pour comprendre comment fonctionnent les systèmes de contrôle d'accès à base de rôles («Role-Based Access Control: RBAC»).

Êtes-vous intéressé d'intégrer une application RBAC personnalisée pour votre application web, iOS, ou Android?

J'offre des services et solutions informatiques.

Veuillez simplement envoyer votre email.

Éléments Fondamentaux du Contrôle d'accès à base de rôles («Role-Based Access Control: RBAC»)

Il faut penser au contrôle d'accès à base de rôles (RBAC) comme étant un paradigme et concept applicable sur des systèmes d'ordinateurs.

Ci-dessous sont les différents objets ou structures qui peuvent établir des liens avec d'autres objets ou structures.

Utilisateur

Un utilisateur est un individu qui interagit avec un système d'ordinateur. [2]

Dans le système, il dispose d'un compte ou session. Pour que l'utilisateur ait accès à son compte ou session, il doit authentifier auprès du système de son identité.

Dépendamment du système informatique, différentes techniques et technologies d'authentifications existent.

Rôle

Un rôle est une fonction qui peut être assigné à un utilisateur. Chaque rôle est défini par une suite de permissions qui sont attribuées par un administrateur.

En entreprise, le rôle est censé représenter la fonction et responsabilité d'un employé. [2]

L'attribution de rôle est généralement instaurée de sorte à offrir le minimum de permissions requis. [1]

Permissions

Un rôle englobe une série de permissions. La nature des permissions peut être variée. Elle dépend du système informatique.

Exemple dans un système d'exploitation:

Permissions dans un système d'exploitation

Utilisateur A est attribué le rôle A. L'attribution du rôle A permet l'utilisateur A à LIRE et à ÉCRIRE sur le fichier A : /FICHIER_A.ext.

Par contre, l'Utilisateur A ne dispose pas de la permission d'EXÉCUTER le fichier A.

D'autres exemples peuvent être donnés pour illustrer le concept de contrôle d'accès à base de rôles (RBAC) dans le cadre de base de donnée relationnel, d'un site WordPress (lire l'article: Rôles En WordPress), ou pour une application de comptabilité.

En gros, ce qui va différentier est l'appellation des opérations, mais aussi la façon dont ils vont affecter le fonctionnement de ces systèmes informatiques. [2]

Comment les éléments d'un système RBAC sont liés

Les types d'objets sont reliés les uns aux autres avec une relation dite : plusieurs-a-plusieurs («many-to-many»). [2]

Chaque utilisateur peut se voir associer un ou plusieurs rôles et vice-versa.

Chaque rôle peut se voir associer une ou plusieurs permissions et vice-versa.

Chaque rôle qui est assigné à un utilisateur lui accordant toutes les permissions liées à ce rôle.

L'Objet Rôle joue un rôle d'intermédiaire pour faciliter les configurations et rendre le système plus flexible et dynamique. [2]

Tous ces règlements sont renforcés grâce à des programmes informatiques. [1]

Image qui montre sous forme de graphe le concept de contrôle d'accès à base de rôles ('Role-Based Access Control: RBAC') Image qui montre sous forme de graphe le concept de contrôle d'accès à base de rôles ('Role-Based Access Control: RBAC')

Les Bonnes Pratiques des Systèmes de Contrôle d'accès à Base de Rôles («Role-Based Access Control: RBAC»)

Principe de moindre privilège:

Seules les permissions nécessaires à l'utilisateur pour l'accomplissement de son rôle lui sont attribuées.

Séparation des tâches:

le “design” de systèmes RBAC est fait généralement en sorte pour que les permissions associées aux rôles soient mutuellement exclusifs. La raison pour laquelle cela est une bonne pratique est par ce que cela va donc nécessiter deux utilisateurs pour accomplir une tâche sensible en terme informatique.

Exemple: Un commis comptable et un gestionnaire de comptes participent à l'émission et de la validation d'un chèque. L'un, autorise le payement, et l'autre, prépare le chèque.

Abstraction des opérations:

Les opérations de base que nous voyons dans les systèmes informatiques peuvent se combiner pour en créer de nouvelles plus abstraite. Cela permet de créer des systèmes de contrôle d'accès à base de rôles («Role-Based Access Control: RBAC») plus personnalisés et adaptés.

Analyse du Contrôle d'accès («RBAC access control»)

Avantages

Grace aux systèmes contrôle d'accès à base de rôles ("Role-Based Access Control: RBAC") on peut définir des rôles avec des permissions qui ne se superposent pas. Cela renforce la sécurité dans certains contextes. [2]

Aussi, les systèmes de contrôle d'accès à base de rôles («Role-Based Access Control: RBAC») permettent d'appliquer un concept de programmation orientée objet (POO) dans le domaine de la sécurité, à savoir l'héritage de permissions entre deux rôles.

Ce concept dans le jargon RBAC s'appelle la délégation d'autorité. [2]

La flexibilité de ce système est rendue possible grâce à la pré-configuration des rôles. Pour changer les capacités d'un utilisateur, il faut simplement qu'un administrateur lui assigne de nouveaux rôles. [2]

Ce système est également réputé de ne pas requérir de compétences techniques pour pouvoir manipuler, du moment que l'administrateur ne modifie que les rôles associés aux employés.

La compartimentation des permissions en rôles permet aussi une meilleure traçabilité. L'administrateur peut savoir à quel moment qu'un utilisateur a disposé d'un certain rôle et de tracer les permissions associées, si celles-ci sont immuables. [2]

Défis et Limitations du Contrôle d'accès à base de rôles (RBAC)

Manque de contrainte pour renforcer les bonnes pratiques

Les principes présentés dans la section "Les bonnes pratiques des systèmes de contrôle d'accès à base de rôles" ne sont pas pré-intégrés dans le système RBAC.

Cela pose un souci, car si l'administrateur ne respecte pas les bonnes pratiques, le système n'a aucun moyen de les renforcer de lui-même. [2]

Manque de personnalisation dans les opérations

Certaines opérations sont plus complexes que les opérations qu'offre un système RBAC.

Bien que le système RBAC dispose de la base pour construire des fonctions plus complexes, ce système ne répond pas à tous les cas de figures trouvées en industries.

En agrégeant des opérations RBAC en séquences pour en définir de nouvelles opérations, le système RBAC peut éclore de nouveaux systèmes plus adaptés à l'application voulue. [2]

Systems RBAC n'est pas optimisé dans un environment dynamique

La nécessité d'accès à certaines ressources dans des systèmes informatiques est constamment changeante en pratique.

Cela induit à un surplus de travail manuel nécessaire à l'administrateur pour assigner les rôles nécessaires aux employés.

De plus, l'assignation de rôles est prônée à l'erreur, ce qui induit plus de vulnérabilité informatique.

Imaginons, il existe un modèle qui optimise le rôle à l'usager de façon automatique, et basé sur ses habitudes de travail ? [1]

Conclusion

En conclusion, le contrôle d'accès basé sur les rôles (RBAC) offre une approche structurée et granulaire pour sécuriser les ressources, en adaptant les permissions aux responsabilités spécifiques des utilisateurs dans un système informatique.

Références

Mahdi Furry

Lectures supplémentaires