# Sécurité et contrôle d’accès

easyAP4 vous permet d’appliquer une politique de sécurité stricte pour l’application que vous configurez.

Elle se décline au travers de mécanismes que nous allons détailler dans la suite de ce chapitre : les rôles et les droits (contrôles d’accès).

# Les rôles

Les utilisateurs de l’application ont des rôles. Ces rôles correspondent à des métiers (technicien de maintenance, auditeur, comptable), à une organisation (service technique, pôle marketing) ou encore à une activité ponctuelle (relecteur, approbateur).

En tant que configurateur de l’application, vous définissez ces rôles. Ils sont donc en phase avec la réalité de l’application que ce soit en termes d’activité ou de vocabulaire et ainsi parlent à vos utilisateurs.

Les rôles sont le pivot de la mise en place de la sécurité et des contrôles d’accès. Les différents droits d’accès aux informations et de pilotage des cycles de vie sont portés par les rôles.

L’affectation des utilisateurs à ces rôles sera réalisée sur l’application par l’administrateur fonctionnel, créé lors de la première publication.

# Les droits

Vous pouvez de décider de mettre en place des contrôles d’accès aux données des formulaires via des droits.

Les droits d’accès applicables aux formulaires, classés du plus restrictif au plus permissif, sont :

  • aucun : l’utilisateur n’a pas connaissance des données associées au formulaire ;
  • lecture : l’utilisateur a un accès limité en lecture aux données ;
  • modification : l’utilisateur peut utiliser le formulaire pour créer et modifier des données ;
  • suppression : l’utilisateur peut supprimer les données.

Nous verrons aussi qu’il vous est possible de préciser des droits par champs :

  • non accessible : le champ n’est pas disponible en lecture ni écriture ;
  • non modifiable : le champ est simplement accessible en lecture ;
  • modifiable : le champ est accessible en lecture et écriture.

De plus, un droit permet à l’application de contrôler les changements d’étapes des cycles de vie.

# Bon à savoir ...

Un utilisateur peut avoir plusieurs rôles.

Les droits prévalent toujours sur les statuts d’affichage.

Lorsqu’un rôle est ajouté dans l’application, par défaut, il ne porte aucun droit, en conséquence ne donne aucun droit aux utilisateurs auxquels il est affecté.

En cas d’attribution multiple d’un droit sur un formulaire, l’utilisateur bénéficie du droit le plus permissif.

Lorsqu’un rôle est supprimé, le rôle est retiré pour chacun des utilisateurs auquel il est affecté.

# Rôles spéciaux

Sur l’application, vous constaterez l’existence de rôles dit système. Ce sont les rôles :

  • administrateur : donne la possibilité de gérer les utilisateurs de l’application et des affectations de rôles (voir création d’un premier utilisateur). Ce rôle n’apparait pas dans la configuration de l’application et n’est donc pas utilisable pour gérer les droits et contrôles d’accès.

# Création et gestion des rôles

L’accès principal à la gestion des rôles se fait depuis la barre rétractable de gauche - repère ① -.

gestion des rôles

Les rôles disponibles pour votre application sont présentés. Cette liste est suivie d’un bouton Ajouter un rôle qui vous permet de nommer et créer un nouveau rôle.

Comment nommer l’application ?

Nous vous préconisons un nommage qui a du sens dans le cadre de l’application que vous configurez.

Vous pouvez depuis cette liste modifier le nommage du rôle ou le supprimer - repère ② -.

La suppression d’un rôle n’est possible que s’il n’est pas référencé, c’est-à-dire utilisé pour la mise en place de contrôles d’accès aux formulaires ou pour la gestion des cycles de vie.

# Droit d’accès par formulaire et par rôle

Sous la liste des rôles, une matrice présente une synthèse des droits d’accès configurés.

vue d’ensemble des rôles

La première colonne liste les formulaires que vous avez configurés. La première ligne inventorie les rôles.

# Colonne Champs avec droits spécifiques

La seconde colonne - repère ② -, intitulée Champs avec droits spécifiques dépend du contenu du formulaire.
Le formulaire contient au moins un champ de type Compte ou Liste de compte, cette colonne indique :

  • Non configuré : si aucun droit d’accès n’est configuré en fonction du ou de ces champs,
  • Configuré : dès qu’un droit d’accès est attribué en fonction d’un ou de ces champs.

Il est noté Non applicable dans la colonne si le formulaire n’intègre pas de champ Compte ou Liste de compte.

Ces configurations spécifiques par formulaire sont accessibles via le bouton Accès aux droits du formulaire - repère ③ - s’affichant au survol des lignes. Le fonctionnement de ces droits est abordé au paragraphe détaillant la configuration des droits d’accès par formulaire.

# Colonnes « Rôles »

Cette colonne indique quels sont les contrôles d’accès configurés pour chacun des formulaires.

Plusieurs cas de configuration sont possibles selon que vous ayez associé ou pas un cycle de vie au formulaire.

Formulaires sans cycle de vie :

Pour chacun des rôles, vous avez le choix entre :

  • aucun : le rôle ne donne aucun droit, pas d’accès en lecture, création, modification ni en suppression
  • Création, modification et suppression : le rôle a le droit de tout faire : création, modification et suppression
  • Création et modification : le rôle limite les accès en création et modification
  • Modification et suppression : le rôle limite les accès en modification et suppression
  • Modification : le rôle limite les accès en modification
  • Suppression : donne au rôle le droit suppression et de manière sous-entendue le droit de consultation
  • Lecture seule : donne au rôle le seul droit de consultation

Le bouton Accès aux droits du formulaire - repère ③ - permet d’accéder au détail des droits pour le formulaire.

Formulaires avec cycle de vie :

Dans ce cas, la colonne porte la mention Configuré par étapes. Les contrôles d’accès sont alors configurables dans la vue spécifique au formulaire accessible via le bouton Accès aux droits du formulaire - repère ③ -.

# Droits détaillés sur le formulaire

Vous allez pouvoir ici configurer de manière fine les contrôles d’accès à un formulaire non associé à un cycle de vie.

Une autre vue

Cette vue de la configuration des droits d’accès au formulaire est aussi accessible depuis la configuration du formulaire.

# Droits d’accès par rôle

form detail droit par role

Cette partie permet de réaliser les mêmes attributions de droit par rôle que celles accessibles sur la vue d’ensemble : pour chacun des rôles - repère ① -, il vous est possible d’affecter des droits - repère ② -.

# Droits d’accès en fonction des comptes du formulaire

Si dans votre formulaire des comptes ou liste de comptes sont présents, vous pouvez les utiliser pour gérer des droits.

form detail droit par compte

Le principe reste le même, l’objectif est d’appliquer les mêmes droits que ceux décrits précédemment - lecture, modification, etc. -. Ce qui diffère : les droits ne sont plus affectés à des rôles mais en fonction des comptes présents sur le formulaire - champs Compte et Liste de compte - donc dans l’application aux utilisateurs référencés par ces comptes.

Les droits sont donc dynamiques : si l’utilisateur connecté est identifié dans le formulaire par son compte, les droits que vous avez exprimés pour ce compte lui sont attribués.

Prenons un exemple :
Vous avez créé un formulaire Demande de congés pour gérer les demandes de congés. En termes de droit d’accès vous souhaitez que :

  • le Service RH (oui c’est un peu trivial comme modèle) puisse consulter la demande ;
  • le Demandeur (le créateur de la demande) puisse la modifier.

Vous créez donc un rôle Service RH à qui vous donnez le droit nécessaire (lecture) sur le formulaire. Vous intégrez un champ Compte, le Demandeur, dans le formulaire, initialisé par une règle métier avec le compte de la personne connectée créant la demande.

Via la gestion des droits, vous affectez le droit de modification au compte Demandeur.

Côté application, le droit de modification est donné à l’utilisateur qui accède au formulaire si c’est celui qui a créé la demande, sinon, s’il a le rôle Service RH il peut consulter les informations.

# Droits d’accès aux champs de saisie

Que vous ayez ou non configuré un cycle de vie pour le formulaire, il vous est possible de gérer les accès à son contenu de manière très fine.

Nous allons voir ici comment vous pouvez gérer l’accès pour chacun des champs de saisie par rôle ou par compte (sous réserve que le formulaire en possède).

La rubrique des droits d’accès aux champs de saisie recense chacun des champs du formulaire - en ligne, repère ① - et les rôles de l’application et les comptes portés par le formulaire en colonne - repère ② - .

droit detail par champ

La première colonne - repère ③ - permet de fixer le droit par défaut appliqué sur le champ pour tous les rôles et comptes.

Le choix de ce droit par défaut est important. Il est propagé sur la ligne, c’est-à-dire sur chacun des rôles et comptes. Par la suite il n’est possible que d’élever le droit pour les rôles et comptes.

Concrètement, en positionnant par défaut le droit à Modifiable, vous ne pouvez plus le modifier pour les rôles et comptes. Si par défaut vous choisissez Non accessible, pour chacun des rôles et comptes il vous est possibles de choisir Non modifiable ou Modifiable.

Les droits possibles pour un champ sont, du plus restrictif au plus permissif :

  • Non accessible : le champ n’est pas présenté à l’utilisateur quelque soit ses droits.
  • Non modifiable : le champ est accessible seulement en lecture même si l’utilisateur peut modifier le formulaire ;
  • Modifiable : tout utilisateur ayant ce droit et pouvant modifier le formulaire peut modifier le champ ;

Droit et statut d’affichage

Les statuts d’affichage sont influencés par les droits des champs : le droit prévaut sur le statut d’affichage.

Ces droits par champs ne peuvent que restreindre celui sur le formulaire : si un utilisateur a le droit de modifier un champ, mais ne peut que consulter le formulaire, il ne pourra pas accéder au formulaire en modification et par conséquent ne pourra pas modifier le champ.

Les droits se cachent...

Attention, des rôles et comptes peuvent se cacher à droite - repère ④ -... Il est possible que vous ayez à balayer (scroller) horizontalement pour pouvoir tous les parcourir.

# Cas des formulaires avec cycle de vie

Vous avez associé un cycle de vie à votre formulaire.

Vous pouvez donc gérer les droits d’accès au formulaire pour son utilisation en création, puis en consultation, modification au long des étapes de ce cycle.

Enfin, vous pouvez contrôler les changements d’étapes par des droits spécifiques.

# Création un nouveau formulaire

La rubrique Droits de créer un nouveau formulaire vous permet de donner à chacun des rôles la possibilité d’accéder en création au formulaire.

droit cycle creation

Vous pouvez remarquer qu’ici les comptes n’apparaissent pas. En effet, lors de la création, les comptes portés par le formulaire ne sont pas encore valorisés.

# Droits d’accès par étape

À la rubrique Droits d’accès par étape, vous allez pouvoir décrire les droits appliqués sur le formulaire à chacune des étapes du cycle de vie.

droit cycle etape

Le principe est toujours le même, pour chacune des étapes - repère ① - les rôles de l’application - repère ② - et les comptes du formulaire sont listés - repère ③ -.

Les droits - repère ④ - sont toujours les mêmes.

# Droits de changer d’étape

Enfin, ici Droits d’accès par étape, vous pouvez piloter le fonctionnement du cycle de vie en décidant quels sont les rôles pouvant changer les étapes.

droit cycle transition

Comme vous pouvez le constater, rien de nouveaux. Chaque transition vers une étape vers ... est représentée - repère ① -. Et pour chacune d’elles, vous retrouvez la liste des rôles de l’application que vous avez défini, ainsi que les comptes identifiés par les champs de formulaire.

Vous pouvez donc pour ces rôles et comptes donner le droit de passer le formulaire vers l’étape : Autorisé ou Non autorisé.

# Droits d’accès aux champs de saisie

Enfin, il est aussi possible de gérer finement les accès sur chacun des champs de manière identique à un formulaire sans cycle de vie.