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ôle | Type | Description |
|---|---|---|
Admin Société (company_admin) | Built-in, verrouillé | Tous les droits sur l'organisation (court-circuite la matrice) |
Ingénieur (engineer) | Built-in | Dé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-in | Lecture + exécution (lancer les pipelines) |
Lecteur (viewer) | Built-in | Lecture seule, attribuée automatiquement aux membres sans siège |
| Rôles custom | Personnalisés | Créé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
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
companydes 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(etsuper_admincô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 ?
- Utilisateurs et groupes : attribuer les rôles.
- Le modèle projet-centric : les droits au niveau projet.