2.5 Sécurité : authentification, droit applicatif, droit documentaire

2.5.1 Résumé

Ce chapitre aborde la notion de sécurité au sein de Dynacase. Cela comprend les éléments suivants :

Une mécanique d'authentification

Ce système permet d'identifier l'utilisateur essayant de se connecter. Il est composé d'un système de frontends et de backends d'authentification.

Frontend d'authentification
Système qui décrit la méthode (le protocole) d’interaction avec l'utilisateur pour demander les éléments nécessaires à l'authentification.
Backend d'authentification
Système qui permet de vérifier auprès d'une autorité la validité des informations d'authentification obtenues par le frontend d'authentification.
Une mécanique d'autorisation

Ce système est composé de deux couches et permet de définir ce que l'utilisateur peut ou ne peut pas faire.

La sécurité applicative
Ce système est basé sur des ACL, seuls les utilisateurs possédant l'ACL requise peuvent exécuter l'application ou l'action.
Sécurité documentaire
Un système de droit, profil et rôle permet de désigner de manière statique ou dynamique (suivant l'état ou le contenu du document) quels utilisateurs peuvent consulter, modifier, supprimer, etc. des documents.

On peut résumer les mécanismes de sécurité avec le schéma suivant :

Sécurité : résumé

Figure 4. Sécurité : résumé

2.5.2 Mécanisme d'authentification

Le mécanisme d'authentification de Dynacase permet d'identifier les utilisateurs via différentes sources et différents moyens.

Les frontend d'authentification fournis par défaut par Dynacase sont :

  • authentification par formulaire web,
  • authentification par HTTP Basic,
  • authentification par jeton.

Les backends d'authentification fournis par défaut par Dynacase sont :

  • authentification sur base Dynacase,
  • authentification par LDAP/Active Directory (via un module complémentaire).

Il est de plus possible de créer ses propres backend et frontend d'authentification et d'en indiquer l'ordre d'exécution (par exemple, on peut choisir que l'utilisateur sera d'abord authentifié par un reverse proxy puis, si le reverse proxy n'a pas donné l'authentification, par un login sous forme de formulaire).

2.5.3 Sécurité applicative

La sécurité applicative fonctionne avec un mécanisme d'ACL. Chaque action peut-être associée à une ACL et seuls les utilisateurs possédant cette ACL peuvent exécuter cette action.

NB : une action n'ayant pas d'ACL est accessible à tout utilisateur même si celui-ci n'est pas connecté mais les droits documentaires continuent de s'appliquer (dans le cas d'un utilisateur non connecté c'est l'utilisateur anonymous guest qui est utilisé pour le calcul des droits).

2.5.4 Sécurité documentaire

La sécurité documentaire est le mécanisme permettant de définir qui peut effectuer quelle opération avec un document.

2.5.4.1 Droits par défaut

Les droits par défaut sont les suivants :

Consulter
Permet de consulter et trouver le document.
Modifier
Permet de modifier le contenu du document que ce soit via le formulaire par défaut ou via l'API appelée en son nom. Si ce droit n'est pas présent les modifications ne peuvent être enregistrées.
Supprimer
Permet de supprimer le document que ce soit via l'IHM ou via l'API.

De plus, il existe au niveau d'une famille documentaire les droits suivants:

Créer
Un utilisateur ayant ce droit sur une famille peut créer un document de cette famille en exécutant une action effectuant cette tâche.
Créer manuellement
Un utilisateur ayant ce droit peut créer un document de cette famille, en passant par l'interface de création de document par défaut.

NB : D'autres éléments internes, de plus haut niveau, de Dynacase possèdent plus de droits. Par exemple, les dossiers, recherches et rapport possèdent des droits spécialisés propres à leur fonction (droit d'effectuer la recherche, droit d'ouvrir le dossier, etc.).

2.5.4.2 Profil

Le système d'attribution des droits à des utilisateurs repose sur la notion de profil. Un profil est un document interne comportant une matrice permettant d'indiquer quel rôle, groupe ou utilisateur possède quel droit.

Sécurité : profil

Figure 5. Sécurité : profil

On différencie deux usages de profil :

Statique
la liste des utilisateurs ayant droit ne varie pas suivant le contenu du document (par exemple : les utilisateurs ayant le rôle Rédacteur peuvent modifier ce document),
Dynamique
la liste des utilisateurs ayant droit varie alors suivant l'étape et/ou le contenu du document (par exemple : seul l'utilisateur cité dans l'attribut validateur de document peut le modifier lors de l'étape validation)

Il existe différents types de profils :

Document
Il concerne un document et n'indique que les droits de base (voir, modifier, supprimer).
Famille
Il concerne une définition de famille documentaire et indique les droits de base et les droits de création (via l'IHM par défaut, via le code).
Les autres types de profil
Les documents systèmes spécialisés de Dynacase possèdent des profils contenant des droits spécifiques (Dossier, Recherche, Rapport, etc.).

Une fois le profil créé, celui-ci doit être associé à un document. Pour ce faire, il existe plusieurs moyens :

Via la famille
Le profil est associé via une propriété de la définition de famille. Dans ce cas, tous les nouveaux documents de cette famille porteront ce profil.
Via le cycle de vie
Le profil est associé via le paramétrage du cycle de vie à une étape et tous les documents passant par cette étape se voient appliqué le profil.
Via le code
Le profil est attaché dynamiquement en utilisant les fonctions de l'API.
Via l'interface de gestion
Si l'utilisateur possède les droits suffisants, il lui est possible de changer le profil d'un document en cours.

NB : les moyens sont bien évidemment complémentaires et un document peut changer de nombreuses fois de profil au cours de sa vie.

2.5.4.2.1 Profil dédié

Le profil dédié est un profil qui n'est valable que pour un document. Il est défini directement au niveau du document et permet de gérer au plus près les accès à ce document.
Certain types de document système ne peuvent fonctionner qu'avec des profils dédiés, c'est notamment le cas des :

Cycle de vie
Le cycle de vie utilisant son profilage pour définir l'accessibilité des transitions, son profil est différent pour chaque cycle de vie.
Contrôle de vue
Le document de contrôle de vue utilise son profilage pour définir l'accessibilité des représentations qu'il contient, son profil est donc unique.
×