Explication sur les différents systèmes de gestion des permissions pour une application.
Role Based Access Control (RBAC)
Définition d'un ensemble de rôle ayant le droit d'exécuter des actions sur l'application puis attribution de ces rôles à des utilisateurs.
Exemple: le rôle device-manager permet de créer les Devices d'une plateforme IoT
Access Control List (ACL)
Définition de listes de permissions rattachées à chaque entitée de l'application. Une permission définie les actions possible sur l'entitée correspondante pour un utilisateur ou un groupe d'utilisateur.
Exemple: l'ACL rattaché au Device abc123 donne le droit à l'utilisateur aschen de le modifier
Attribute Based Access Control (ABAC)
Définition des permissions en fonction des attributs des entités. Les permissions sont accordées à des utilisateurs ou groupes d'utilisateurs en fonction des valeurs de ces attributs.
Exemple: une règle ABAC autorise la lecture des informations d'un Device uniquement si l'attribut creator du Device est égal à l'identifiant unique d'un utilisateur