Liste de contrôle d'accès

Sécuriser l'accès aux composants

Une liste de contrôle d’accès (ACL) définit une liste d’entrées (ACE) permettant d’attribuer une permission à des identités.

Les permissions

De manière générale, les permissions autorisées sont :

Permission Description
CREATE Autorise la création
READ Autorise l’accès en lecture
UPDATE Autorise la modification
DELETE Autorise la suppression
READ_HISTORY Accès à l’historique
READ_TASK_HISTORY Accès au suivi des tâches

Les permissions spécifiques aux documents :

Permission Description
READ_CONTENT Accès en lecture du contenu
UPDATE_CONTENT Modification du contenu
DOWNLOAD_CONTENT Téléchargement du contenu (visionneuse)
PRINT Impression (visionneuse)
CREATE_ANNOTATION Création d’annotation (visionneuse)
READ_ANNOTATION Lecture des annotations existantes (visionneuse)
BUILD_NEW_DOCUMENT Activation du découpage de document (visionneuse)

Les permissions spécifiques aux tâches :

Permission Description
APPROPRIATE S’approprier une tâche non-assignée
APPROPRIATE_ALREADY_ASSIGNED S’approprier une tâche déjà assignée
ASSIGN Assigner une tâche à un utilisateur
APPLY_ANSWER Appliquer une réponse
UPDATE_CONTENT Modification des pièces jointes
DELETE_CONTENT Suppression d’une pièce jointe
READ_CONTENT Visualisation des pièces jointes

Les identités

Au sens FlowerDocs, une identité est soit un utilisateur, un groupe ou une équipe. La notion d’équipe a été introduite afin de centraliser et mutualiser la gestion des autorisations communes à une ou plusieurs identités.

ACL Proxy

Les objets de type ACLProxy permettent d’ajouter un aspect métier à la gestion des habilitations.

Un proxy est également un SecurityObject permettant de définir la sécurité à appliquer sur un composant. Il s’appuie sur des conditions pour déterminer quelle est l’ACL à appliquer sur un composant.

Exemple :

Pour une classe de document Facture, le proxy suivant pourrait être utilisé :

  • si montant < 100€ : tout le monde à le droit de voir / modifier le document
  • si 100€ < montant : tout le monde à le droit de voir en lecture seule le document

Schéma

                      SecurityObject
                            |
         _______________________________
        |                               |
 AcessControlList  <-----            ACLProxy
        |                |              |
        | 1:N            |              | * rules : List<ACLRule>  ---
        |                |                                           |
AccessControlEntry       |                                           |
                         |                                           |
                         |           ACLRule  <-----------------------
                         |              |
                         |              | * conditions : List<String>
                         |____1:1_______| * aclId : Id

Rôles

Les rôles donnent accès à des fonctionnalités Flower à travers la notion d’équipe.

Pour affecter un rôle à un utilisateur :

  • créer une équipe dont l’identifiant est le nom du rôle
  • ajouter des utilisateurs dans une équipe
Rôle Description
ADMIN Administre un scope
DOCUMENT_CREATOR Accède à l’onglet Insérer