Création et gestion des droits et rôles

Création et gestion d'un nouveau rôle

Role owner

Il est possible, pour un client donné de créer des rôles et d'affecter des droits à chacun d'entre eux.
Lors de la création d'un "client" un rôle dit owner affecté à celui-ci. L'utilisateur créateur du client sera automatiquement ajouté au rôle owner.

ludovic@ZiSH:# show client projet_1

Client:      projet_1
Address:     None
Country:     None

Vsites:      sous_projet_1
Roles:       owner
Users:       None

Pour créer un nouveau rôle :

Client:projet_1# role admin
Role admin created


Role:projet_1.admin# show
projet_1

Role:        admin
Client:     projet_1
Public:     no

Users:      None
Permissions:

Utilisateurs et permissions

Maintenant que nous avons vu comment créer de nouveaux rôles, nous allons maintenant regarder en détail comment gérer les utilisateurs, leurs droits, et à les objets auxquels ils s'appliquent.

Client:projet_1# role admin
Role admin created

Role:projet_1.admin# help

Documented commands (type help <topic>):
========================================
addpermission  adduser  delpermission  deluser  exit  help  public  show

Les possibilités sont :

  1. Ajouter / supprimer un utilisateur de ce role
  2. Ajouter / supprimer une permission à ce role
  3. modifier l'état du role en publique ou non

Configurer le role publique ou privé

Cette fonction autorise les autres utilisateurs de ce role à voir les informations sur celui-ci.

Role:projet_1.admin# help public

        address yes/no - Set Role public or not
Role:projet_1.admin# public yes
Role:projet_1.admin# show
projet_1

Role:        admin
Client:     projet_1
Public:     yes

Users:      None
Permissions:
Vsite: sous_projet_1    -> VSite - manage

Ajouter / supprimer un utilisateur au rôle

Attention! afin de pouvoir visualiser un utilisateur et l'ajouter à un rôle vous devez l'avoir précédemment associé à votre client (Voir Gestion d'un client)

Imaginons que nous voulons ajouter l'utilisateur "seb" :

Role:projet_1.admin# adduser ludo_test
seb

Role:projet_1.admin# show
projet_1

Role:        admin
Client:     projet_1
Public:     no

Users:      seb
Permissions:

Suppression d'un utilisateur au role :

Role:projet_1.admin# deluser seb

Role:projet_1.admin# show
projet_1

Role:        admin
Client:     projet_1
Public:     no

Users:      
Permissions:

Affecter / effacer des permissions

Role:projet_1.admin# help addpermission

        addpermission <vsite> <family> <permission> - Add a permission on a vsite to this role

Examinons les options en détails :

  • vsite : "foo-vsite" sur lequel sera appliqué la permission
  • family : désigne ici sur quelle famille de service nous voulons créer la permission, les familles disponibles sont les suivantes :
    1. > Interface
    2. > IPaddress
    3. > Storage
    4. > VMachine
    5. > Vsite
    6. > Vlan
  • permission : ce sont les différentes permissions possible pour une famille donnée (les permissions disponibles varient en fonction des familles), par exemple pour la famille "Vsite":
  1. > configure : Modifier les paramètres d'un Vsite
  2. > create : Créer de nouveaux services associés à ce Vsite
  3. > delete : Supprimer un ou des services associé(s) à ce Vsite
  4. > list : Accéder/visualiser le Vsite

Notez que pour pouvoir accéder à un service, c'est à dire le lister/visualiser vous devez disposer de la permission "list"

Autre exemple de permissions avec l'objet VMachine :

  1. > configure : Modifier les paramètres d'une machine
  2. > list : Visualiser la liste des machines
  3. > manage : Interagir sur les machines (démarrage, arrêt, etc..)*

Suppression de permissions à un role

Role:projet_1.admin# help delpermission

        delpermission <family> <permission> - Remove a permission on a vsite to this role

Par exemple, pour supprimer la permission "create" de la famille "vsite" du role "projet_1" :

Role:projet_1.admin# delpermission Vsite create

Also available in: HTML TXT