These docs are for v2.3. Click to read the latest docs for v3.1.

Gestion des profils d'administration de la console

Gestion des différents profils d'administration de la console ceBox, ayant des droits d'accès différents

Avec la solution ceBox, il est possible d'avoir plusieurs profils d'administration sur votre console. Chaque profil aura un certain niveau d'accès, vous permettant ainsi de déléguer certaines tâches d'Administration à vos équipes tout en limitant les accès à certaines fonctionnalités comme la gestion des Masters par exemple.

Prérequis

Par défaut, seul le profil Admin est activé sur votre console. Celui-ci a accès à l'ensemble des fonctionnalités de la console : Gestion des Masters (Modification, mise à jour, etc.), gestion des postes ceBox (arrêts, démarrage, redémarrage, etc.) et la gestion des machines virtuelles (connexion à distance, gestion des routes, etc.).

Pour activer la gestion des multi-profils d'administration dans votre console ceBox, vous devez tout d'abord en faire la demande au support Wisper par email ([email protected]).

Une fois les multi-profils activés, vous recevrez par email les Credentials des différents comptes. Par défaut, 2 comptes seront ajoutés : le compte Config et le compte HelpDesk. Vous recevrez le Compte client, un Code d'Activation ainsi que le Nom d'utilisateur. Ces informations vous serviront pour vous connecter à la console d'Administration ceBox. Vous devrez, comme pour le compte Admin, définir un mot de passe.

Explication des notions de profil et de d'utilisateur

Profils : Les profils définissent les droits d'accès des utilisateurs sur les actions de la console. Chaque profil est défini dans votre console d'Administration. Par défaut, 3 profils peuvent être créés : Administrator, Configuration Manager et Help Desk Manager.

Utilisateurs : Chaque utilisateur est associé à un profil d'Administration. Par défaut Wisper vous crée 3 utilisateurs : Admin, Config et HelpDesk. Il est bien entendu possible d'en avoir plus, sur demande au support.

Configuration des Profils et des utilisateurs

Une fois les utilisateurs créés par le support Wisper, vous allez pouvoir configurer vos différents profils. Il va tout d'abord falloir les déclarer. Pour se faire, rendez-vous dans votre console d'Administration ceBox, puis dans Settings puis dans Console et enfin dans Profile Configuration.

2446

Profile Configuration permet l'édition du fichier ConsoleProfileProvider.java qui permet de déclarer les différents profils et utilisateurs attachés. Si celui-ci contient du contenu, supprimez le.

Voici le contenu à insérer dans ce fichier :

class ConsoleProfileProvider extends ConsoleEditionProfileProvider
{    protected void configure(ConsoleProfileConfiguration configuration)
    {   
        //Déclaration des 3 profils d'Administration
        //Profil 0
        configuration.profiles[0].name="Administrator";
        configuration.profiles[0].policy=configuration.policy("ConsoleAdministratorPolicy"); 

        //Profil 1
        configuration.profiles[1].name="Configuration Manager";
        configuration.profiles[1].policy=configuration.policy("ConsoleConfigurationManagerPolicy");

        //Profil 2
        configuration.profiles[2].name="Help Desk Manager";
        configuration.profiles[2].policy=configuration.policy("ConsoleHelpDeskManagerPolicy");
                        
        //Déclaration des 3 utilisateurs
        //Utilisateur 0, attaché au profil 0
        configuration.users[0].name="admin";
        configuration.users[0].profile=0;

        //Utilisateur 1, attaché au profil 1
        configuration.users[1].name="config";
        configuration.users[1].profile=1;

        //Utilisateur 2, attaché au profil 2
        configuration.users[2].name="helpdesk";
        configuration.users[2].profile=2;

        //Profil par défaut pour tout utilisateur non déclaré.
        configuration.defaultProfile=2;

    }
}

Comme vous pouvez le voir, nous avons d'abord déclaré nos 3 profils, puis enfin nos 3 utilisateurs (précédemment créés par le support Wisper). Enfin, nous avons rattaché chaque utilisateur à un profil. Dans notre exemple :

  • L'utilisateur admin est rattaché au profil 0, donc Administrator
  • L'utilisateur config est rattaché au profil 1, donc Configuration Manager
  • L'utilisateur helpdesk est rattaché au profil 2, donc Help Desk Manager

Vous remarquerez que pour chaque Profil, une Policy doit être déclarée. Par exemple pour le profil Configuration Manager, le fichier de Policy est défini comme ConsoleConfigurationManagerPolicy :

configuration.profiles[1].policy=configuration.policy("ConsoleConfigurationManagerPolicy");

Configuration des profils et de leur droits d'accès

Nous allons devoir créer 3 fichiers, un par profil, où nous configurerons les droits d'accès de chaque profil. Pour se faire, dans votre console d'Administration ceBox, allez dans Settings puis dans Console et enfin dans le dossier Profiles.

2442

Nous allons devoir créer les 3 fichier de configuration, pour se faire, faites un clic droit sur le dossier profiles puis cliquez sur New File.

406

Créez les 3 fichiers suivants :

  • ConsoleAdministratorPolicy.java
  • ConsoleConfigurationManagerPolicy.java
  • ConsoleHelpDeskManagerPolicy.java

Nous allons voir en détail le contenu de ces 3 fichiers. Mais tout d'abord, il est important de comprendre le fonctionnement des droits d'accès des profils d'Administration. Chaque profil hérite des permissions du profil parent, puis on soustrait certaines permissions à chaque profil enfant.

Par défaut, le profil Administrator hérite des permissions Root, qui est le profil par défaut ayant tous les droits. Bien entendu vous ne devez retirer aucune permission au profil Adminstrator.

Contenu du fichier ConsoleAdministratorPolicy.java :

class ConsoleAdministratorPolicy extends ConsoleRootPolicy
{    protected void configure()
    {   super.configure(); //permet d'hériter des permissions du profile parent (ici ConsoleRootPolicy profil prédéfini dans la console ayant tous les droits) 
        
        //Aucune permission retirée.
    }
}

Comme vous pouvez le voir, le profil Administrator hérite des permissions du profil parent Root, et on ne lui retire aucune permission.

Contenu du fichier ConsoleConfigurationManagerPolicy.java :

class ConsoleConfigurationManagerPolicy extends ConsoleAdministratorPolicy
{    protected void configure()
    {   super.configure(); //Permet d'hériter des permissions du profile parent (ici ConsoleAdministratorPolicy)
        
        //Liste des permissions retirées.
        console.profiles.deny(); //Retire la permission d'accès à la gestion des profils afin d'éviter qu'un Configuration Manager puisse modifier son propre profil
        
        master.delete.deny();
        master.update.deny();
        master.import.deny();
        
        masterVersion.delete.deny();
        masterVersion.update.deny();
        masterVersion.clone.deny();
        masterVersion.merge.deny();

        cebox.route.virtualMachineMode.readOnly(); //Retire la permission d'éditer le mode d'une route.
    
    }
}

Le profil Configuration Manager hérite des permissions du profil Administrator, puis on lui retire certaines permissions, le profil Configuration Manager ne peut pas :

  • Supprimer un Master
  • Mettre à jour un Master
  • Importer un Master
  • Agir sur les versions des Masters

Contenu du fichier ConsoleHelpDeskManagerPolicy.java :

class ConsoleHelpDeskManagerPolicy extends ConsoleConfigurationManagerPolicy
{    protected void configure()
    {    super.configure();//permet d'hériter des permissions du profile parent (ici ConsoleConfigurationManagerPolicy)
        
        //Liste des permissions retirées, en plus ce celles retirées dans ConsoleConfigurationManagerPolicy.
        console.configuration.deny();
        console.templates.deny();
        console.scripts.deny();
        console.wizards.deny();

        cebox.configuration.deny();
        cebox.extensions.deny();
        cebox.scheduling.deny();
        cebox.routing.deny();              
    
    }
}

Le profil Help Desk Manager hérite des permissions du profil Configuration Manager, il ne peut donc pas agir sur les Masters et leurs versions, puis on lui retire certaines permissions, le profil Help Desk Manager ne peut par exemple pas :

  • Avoir accès au menu Configuration de la console
  • Avoir accès aux Templates
  • Avoir accès aux Scripts
  • Agir les routes des ceBox
  • Agir les programmations des ceBox
  • Etc.

Dans notre exemple, les 3 profils ont été pensés de cette manière :

  • L'utilisateur admin, rattaché au profil Administrator : est l'Administrateur de la solution ceBox, il a tous les droits et peut gérer les Masters, en créer de nouveaux, les mettre à jour, etc.
  • L'utilisateur config, rattaché au profil Configuration Manager : a accès aux configuration des ceBox, il peut modifier leurs routes, il peut changer le Master des ceBox etc.
  • L'utilisateur helpdesk, rattaché au profil Help Desk Manager : peut porter assistance aux utilisateurs en se connectant à distance par exemple, vérifier leur Monitoring et les redémarrer si besoin.

Bien entendu, vous pouvez adapter les profils selon vos besoins.

Liste de toutes les permissions de base

Voici la liste complète de toutes les permissions de la console d'administration ceBox que vous pouvez gérer :

cebox.configuration 
cebox.extensions 
cebox.informations 
cebox.monitoring 
cebox.notify 
cebox.preview
cebox.restart
cebox.route
cebox.schedule
cebox.scheduleNotify
cebox.scheduleRestart
cebox.scheduleSet
cebox.scheduleStart
cebox.scheduleStartAll
cebox.scheduleStop
cebox.scheduleSynchronize
cebox.startAll
cebox.stop
cebox.synchronize
cloud.ceboxes 
cloud.check
cloud.importMaster
cloud.informations
cloud.masters 
cloud.virtualMachines 
console.configuration 
console.configurations
console.launch
console.profiles
console.scripts
console.templates
console.wizard
console.wizards
master.make
master.delete
master.informations
master.update
masterVersion.make 
masterVersion.clone
masterVersion.delete
masterVersion.informations
masterVersion.merge
masterVersion.showMerged
masterVersion.update
virtualMachine.connect
virtualMachine.informations
virtualMachine.monitoring