Skip to main content

Rôles et permissions (RBAC)

Fluhoms contrôle les droits via un modèle RBAC : des rôles portant des permissions (ressource:action), attribués aux utilisateurs directement ou via leurs groupes. Deux pages d'administration s'en occupent :

  • Rôles (/administration/roles) : l'identité des rôles (nom, logo, couleur, description), leur création et leur suppression ;
  • Permissions d'organisation (/administration/org-permissions) : la matrice rôle × ressource des droits société.

Rôles built-in et rôles personnalisés​

RôleTypeDescription
Admin Société (company_admin)Built-in, verrouilléTous les droits sur l'organisation (court-circuite la matrice)
Ingénieur (engineer)Built-inDéveloppement complet : lecture, écriture, exécution, création de projet, déploiement. Attribué automatiquement aux membres disposant d'un siège de licence
Analyste (analyst)Built-inLecture + exécution (lancer les pipelines)
Lecteur (viewer)Built-inLecture seule, attribuée automatiquement aux membres sans siège
Rôles customPersonnalisésCréés par la société, permissions au choix

Les rôles built-in sont figés : ni renommables, ni supprimables ; ils structurent la plateforme et sont partagés par toutes les organisations. Une icône cadenas marque les rôles structurels (company_admin, viewer, rôle par défaut des membres sans siège, et super_admin côté staff Fluhoms) ; parmi eux, company_admin et super_admin détiennent en plus tous les droits sans passer par la matrice. Seuls les rôles custom s'éditent librement.

Pour créer un rôle : la ligne d'ajout en bas du tableau (logo + couleur + nom + description). Un dialogue d'édition permet ensuite d'ajuster son identité. La suppression d'un rôle custom est refusée tant qu'il est encore attribué à un utilisateur ou à un groupe.

La matrice de permissions​

La matrice rôle × ressource Chaque ligne est un rôle, chaque colonne une ressource société. Une case indique le niveau accordé : Complet, partiel (n/m) ou aucun.

La page Permissions d'organisation édite les droits de niveau société : environnements, sandbox, utilisateurs, groupes, rôles, licences, facturation, audit, organisation. Cliquez une case pour cocher / décocher les actions de la ressource (Lecture, Écriture, Création, Suppression…), ou utilisez Tout accorder / Tout retirer. Les changements s'appliquent immédiatement.

Les rôles marqués du cadenas affichent leurs cases en lecture seule, et le serveur refuse toute modification d'un rôle built-in : en pratique, la matrice ne s'édite que pour les rôles custom.

Portée : globale ou scopée​

Un rôle peut être attribué avec une portée :

  • Globale : le rôle vaut partout dans l'organisation. C'est la portée des rôles attribués depuis l'onglet Utilisateurs ou via un groupe ;
  • Scopée à un projet (ou à un environnement) : le rôle n'accorde ses permissions techniques (pipelines, variables, connexions, déploiements…) que sur ce projet. C'est ce que fait l'onglet Accès d'un projet (voir Le modèle projet-centric).

Les permissions se résolvent en deux niveaux :

  • Société : les permissions company des rôles globaux ; elles ouvrent les onglets d'administration et les actions transverses (créer un environnement, inviter un utilisateur…) ;
  • Projet : les permissions techniques des rôles scopés au projet courant, cumulées avec les droits du propriétaire du projet (contrôle total sur son projet, sans rôle particulier).

Héritage​

  • Via les groupes : un utilisateur cumule ses rôles directs et les rôles de ses groupes ;
  • Par rang : les rôles société sont ordonnés ; détenir un rôle inclut les permissions société des rôles de rang inférieur (un Ingénieur a au moins les droits d'un Analyste, qui a au moins ceux d'un Lecteur) ;
  • Court-circuits : company_admin (et super_admin côté staff Fluhoms) détient toutes les permissions ; le propriétaire d'un projet a tous les droits techniques sur son projet.

Les actions disponibles incluent notamment develop (développer dans un environnement), approve (approuver un déploiement en revue) et create (créer une ressource) ; voir Environnements et déploiement pour leur usage.

Et ensuite ?​