petalslink / petals-cockpit-specs

Specifications for Petals Cockpit
https://petals.gitbook.io/petals-cockpit-specs
GNU General Public License v2.0
1 stars 1 forks source link

Roles & permissions #11

Closed psouquet closed 5 years ago

psouquet commented 5 years ago

L'accès aux ressources et actions doivent être restreintes dans Cockpit. Notamment pour limiter les diverses administrations (techniques et métier) aux personnes responsables, d'autre part pour protéger les données sensibles (production par exemple). Pour ce faire (et afin de décider quelle implémentation est la plus pertinente) nous allons commencer par lister les différentes permissions à accorder ainsi que les roles qui grouperont ces permissions. Par la suite, les permissions et rôles pourront être associés puis affinés (assemblés, divisés ou modifiés) en un système satisfaisant.

Les permissions ne font pas uniquement références aux fonctionnalités existantes ou spécifiés, mais aussi aux fonctionnalités à venir. Ces dernières sont, de fait, mal définies. Il faudra accepter de prendre des décisions (concernant les rôles et permissions) basés sur l'intention de ces fonctionnalités sans digresser et entrer trop dans le détail.

Il faut noter aussi, qu'à priori les rôles pourront être attribués a un couple (utilisateur + workspace) afin d'offrir une granularité suffisante. Par exemple, les rôles généraux comme administrateur cockpit seraient directement liés à un utilisateur tandis que des rôles contextuels comme administrateur workspace seraient liés à un utilisateur et un workspace. Un même utilisateur pourra donc avoir un même rôle sur différent workspaces et ne pas l'avoir sur d'autres.

Permissions:

liste des permissions

remarques

L'accès aux différentes vues d'un workspace (topologie, services, api, modèle?, monitoring?) ne fait pas partie des permissions, il n'est pas limité en soi. Une fois que l'on a accès au workspace on a accès à ces vues. (les actions ou ressources proposés par ces vues peuvent cependant être limités) Edit: split de la permission cycle de vie jbi en deux permissions ( "deploy/undeploy/permission" et "cycle de vie")

Rôles

liste des rôles

remarques

Dans un premier temps, les rôles reprennent les utilisateurs cible de cockpit en y ajoutant deux profils d'administration. Edit: Precision de exploitant/opérateur de production en deux rôles: service déploiement et service hosting.

psouquet commented 5 years ago

Après quelques reflections, créer un workspace et visualiser un workspace ne relèvent pas vraiment de permissions. A moins de changer profondément le fonctionnement actuel de cockpit (ce qui est, bien sûr, envisageable).

En prenant cela en considération. Voici un premier jet d'attribution de permissions :

perm/role admin cpt admin wksp dev archi deploy hosting admin métier
admin globale
admin wksp
att/det bus
att/det cont
lifecycle art
deploy/param art
niveau logs
edit modèle
deploy modèle
admin flux
traces monit

Remarques: