Académique Documents
Professionnel Documents
Culture Documents
MASSINISSA SECURITE
MANUEL D’UTILISATION CARTHAGO
Ref. MSSEC/GU/01
Rue lac Ghar El Melh - Les berges du lac - 1053 Tunis – Tunisie
Phone : (216) 71 962.030 - Fax : (216) 71 961.299
www.bfigroupe.com
TABLE DES MATIERES
I. Introduction _____________________________________________________________ 3
II. Présentation de l’outil ______________________________________________________ 3
2.1 Le processus d’authentification dans Massinissa-Sécurité _____________________ 3
2.2 Le processus d’autorisation dans Massinissa-Sécurité ________________________ 4
III. Guide d’utilisation de Massinissa-Sécurité _______________________________________ 7
3.1 Paramétrage des données de sécurité _____________________________________ 8
3.1.1 Création / édition d’un groupe ______________________________________________________ 8
3.1.2 Création / édition d’un utilisateur ___________________________________________________ 10
3.1.3 Délégation utilisateurs ____________________________________________________________ 12
3.1.4 Privilège sur entités ______________________________________________________________ 14
3.2 Gestion des Autorisations et Profils ______________________________________ 15
3.2.1 Les options régionales ____________________________________________________________ 15
3.2.2 Les profiles organisationnels ________________________________________________________ 16
3.2.3 La personnalisation des menus utilisateurs _____________________________________________ 18
3.2.4 Les profils utilisateurs _____________________________________________________________ 20
3.2.5 Les profils groupes d’utilisateurs _____________________________________________________ 21
3.2.6 Points à retenir et Conseils pratiques _________________________________________________ 22
3.3 Gestion des autorisations ______________________________________________ 22
3.3.1 Les privilèges ___________________________________________________________________ 22
3.3.2 Définition d’une Service-Policy ______________________________________________________ 24
3.3.3 Définition d’une Entity-Policy _______________________________________________________ 25
3.3.4 Privilèges par Utilisateur __________________________________________________________ 26
3.3.5 Privilèges groupes _______________________________________________________________ 28
3.4 Gestion des Mots de Passe _____________________________________________ 28
3.4.1 Changement d’un mot de passe par un utilisateur _______________________________________ 28
3.4.2 Gestion des mots de passe _________________________________________________________ 29
3.5 Gestion des Utilisateurs connectés, Cache et Procédures d’activation / désactivation
des utilisateurs. __________________________________________________________ 30
3.5.1 Utilisateurs connectés _____________________________________________________________ 30
3.5.2 Rechargement de la Sécurité _______________________________________________________ 31
3.5.3 Vider le Cache de persistance ______________________________________________________ 31
3.5.4 Activation/Désactivation __________________________________________________________ 32
De ce fait, Carthago est orienté sur la notion de service : Il s’agit d’un ensemble cohérent de
services exposés, qui ne peuvent être accessibles qu’à travers des messages. Chaque message
(demandant une prestation particulière d’un service particulier) doit contenir nécessairement les
éléments suivants :
1. le nom du service,
2. le nom de l’action matérialisant la prestation demandée,
3. et finalement l’ensemble des paramètres nécessaires à l’exécution de la prestation
demandée.
L’exécution de n’importe quel message doit nécessairement passer par les processus
d’authentification et d’autorisation.
Lors d’une exécution d’une demande de service, le système cherche à authentifier l’utilisateur.
Dans le cas où ce dernier n’a pas été authentifié, systématiquement, il est orienté vers un écran
de « Login », où il devra rentrer son nom et son mot de passe qui seront validés, de suite, par
le système. Si l’utilisateur a réussi à être authentifié, il lui serait permis d’accéder au service
qu’il a demandé.
Login
Firewall de Securité
Login Authentifié
d’Authentication)
(Processus
Demande de Page
(via GUI)
Il est à noter que l’utilisateur sera obligé de fournir son nom et mot de passe, la première fois
quand il commence à utiliser le système, ou lorsque la session qui lui est ouverte expire (suite à
un « time out » ou à un « log out » de la part de l’utilisateur).
Dans MASSINISSA-SECURITE, une ressource est soit une entité, un service ou une méthode
(action) dans un service. Les utilisateurs sont organisés en groupes. La responsabilité du
processus d’autorisation est :
Premièrement, déterminer pour un ensemble de groupes et/ou d’utilisateurs un
ensemble de privilèges éligibles.
Deuxièmement, déterminer pour chaque privilège éligible quelles sont les ressources
accessibles par l’utilisateur.
User 1
Group 1
Privilege 1
Ressource 2
User 2
Privilege 1
Group 2
Ressource 3
Privilege 1
User 3
Group n
Ressource 4
User n
Lien Statique
Lien Dynamique
Dans la figure précédente, deux types de liens sont exposés : des liens statiques et des liens
dynamiques. Les liens statiques sont configurés une seule fois et ne changent pas durant
l’environnement d’exécution (« runtimeenvironment »). Les liens dynamiques sont aussi
configurés une seule fois, mais ils sont associés à des conditions qui seront évaluées lors de
l’exécution afin d’octroyer le lien ou de le révoquer. Ceci confère au Framework de BFI un
certain niveau de flexibilité permettant de couvrir plus de besoins fonctionnels de sécurité.
Les liens dynamiques entre groupes et privilèges sont appelés «Eligibilité des Privilèges » («
PrivilegeStatements »). Ceux entre les privilèges et les ressources sont appelés « Eligibilité des
ressources » (« Policy Statements »).
Les éligibilités des ressources sont persistées dans des structures arborescentes, où les
privilèges constituent les racines ; les services en font le deuxième niveau ; et finalement, les
actions en font le dernier niveau :
Privilege 1
Lors de la vérification des permissions d’accès aux ressources, le Framework de BFI parcourt
l’arborescence cherchant la condition la plus spécifique. Ceci se fait tout en connaissant le
triplet (nom de privilège, nom de service, nom d’action) qui est extrait du message. Dans le cas
où un nœud existe, la condition rattachée est évaluée, et la permission d’accès est soit
octroyée, soit révoquée.
Finalement, un utilisateur est autorisé à accéder à une ressource si au moins un des privilèges
qui lui sont éligibles, possède les conditions d’accès à cette ressource :
Utilisateurs connectés,
Gestion du Cache et
Activation/Désactivation
Les groupes dans Massinissa sont définis par un nom identifiant et optionnellement un groupe
parent pour matérialiser une hiérarchisation au niveau des groupes.
L’écran de création d’un nouveau groupe d’utilisateurs se présente comme le montre la capture
d’écran suivante :
Pour affecter un groupe parent, il faut appuyer sur le bouton ‘…’, pour aller vers le use case
de sélection du groupe parent, permettant de faire une recherche sur le groupe parent en
question et le sélectionner pour l’affecter. Le fonctionnement d’un écran de sélection d’un
groupe sera décrit plus loin dans la section suivante.
Le use case affiché est un use-case de consultation des utilisateurs existants, et à partir duquel
on peut créer de nouveaux utilisateurs, en appuyant sur le bouton ‘Nouveau’, comme le montre
la capture d’écran suivante :
Les utilisateurs dans Massinissa sont définis par un nom identifiant et un mot de passe. La
définition d’un utilisateur peut inclure optionnellement l’affectation d’un ou de plusieurs
groupes parents (ou rôles organisationnels).L’écran de création d’un nouvel utilisateur se
présente comme suit :
L’affectation d’un utilisateur à un groupe se fait via l’onglet ‘Groupe ou rôle’. Cet onglet
présente la liste des groupes auxquels l’utilisateur est affilié. L’affiliation à un nouveau groupe
Il faut donc appuyer sur le bouton ‘…’ pour sélectionner le groupe à affecter. Dans l’écran de
sélection de groupe affiché, il faut appuyer sur le bouton ‘Chercher’, sélectionner le groupe en
question dans la liste contenant le résultat de recherche est appuyer ensuite sur le bouton
sélectionner.
Pour ajouter une décision de remplacement, il appuyer sur l’onglet ‘Remplacements’, puis
cliquer sur le bouton ‘Ajouter’ :
Les champs à renseigner lors de la création/édition d’une décision de remplacement sont les
suivant :
Langue : définit la langue de l’option régionale. Les différentes valeurs possibles sont:
Deux propriétés organisationnelles sont généralement à ajouter. Leur ajout se fait via l’onglet
‘Propriétés’, en appuyant sur le bouton ‘Ajouter’, comme le montre la capture d’écran
suivante :
L’écran de création / édition d’un menu utilisateurs se présente comme le montre la capture
d’écrans suivante :
Il suffit de cocher les use cases (ou groupes de use cases) à autoriser.
Décocher les use cases (ou groupes de use cases) à ne pas autoriser.
L’écran de définition des profils utilisateurs se présente comme le montre la capture d’écran
suivante :
Actif: Flag booléen indiquant si les utilisateurs rattachés à ce groupe sont actifs or pas.
- L’utilisateur doit avoir un profil utilisateur activé, avec une condition de connexion
valide, ou bien il doit être rattaché à un groupe avec un profil groupe défini activé et
ayant une condition de connexion valide.
- L’utilisateur, ou au moins un des groupes auxquels il appartient doit avoir au minimum
un privilège assigné.
Il faut éviter tant que possible l’affectation de plus qu’un groupe à un utilisateur, pour réduire
la confusion au niveau de la détermination des menus, profils organisationnels et options
régionales à appliquer. Il est à noter qu’en cas ou un utilisateur est affilié à plus qu’un groupe,
il lui sera appliqué le menu, profil organisationnel et l’option régionale du premier groupe
affecté. Les profils des autres groupes seront ignorés.
La gestion des privilèges et affectation des ressources devrait se faire au niveau des profils
groupes. Les profils utilisateurs ne doivent être utilisés que pour gérer des exceptions. Il suffit
qu’un utilisateur, directement ou indirectement (via une affiliation à un groupe), a été accordé
une ressource par un privilège donnée, pour que cette ressource lui soit accordée, même en cas
d’existence d’un autre privilège qui la révoque.
o Création C
o Recherche / Consultation R
o Mise à Jour U
o Effacement / Destruction D
La gestion des accès aux services passe par la définition d’un ensemble
de critères d’éligibilités définis:
- à partir d’un privilège,
- par un nom de service,
- par un nom d’action du dit service (non obligatoire).
- par la définition de condition d’éligibilité. Quand vide, une condition
est évaluée à vrai.
Méthode: Nom du service à assigner. Quand vide, cela veut que tous les services du
présent contrôleur sont assignés.
Privilèges: Il s’agit d’une liste conditionnée de lignes regroupant chacune des privilèges
affectés :
Toutes les étapes à suivre pour l’affectation d’un ensemble de privilèges à un groupe
d’utilisateurs peut se faire par analogie aux étapes décrites pour l’affectation d’un ensemble
de privilèges à un utilisateur.
Cette fonctionnalité permet de lister les utilisateurs connectés à l’application avec leur Adresse
IP, l’heure de la connexion et l’identifiant de la connexion. Cette fonctionnalité est accessible
via le menu ‘Utilisateurs connectés’ :
Le use case affiché est un use case de consultation des utilisateurs connectés :
Il est à noter que cette fonctionnalité est offerte uniquement à un utilisateur administrateur
pour qu’il puisse activer ou désactiver d’autres utilisateurs non administrateurs. La
description du use-case présentant cette fonctionnalité est la suivante :
Activer: Appuyer sur ce bouton pour activer tous les utilisateurs non administrateurs. A
utiliser quand la case ‘Utilisateurs Activés’ est cochée.
Désactiver: Appuyer sur ce bouton pour désactiver tous les utilisateurs non
administrateurs. A utiliser quand la case ‘Utilisateurs Activés’ n’est pas cochée.