Les droits portant sur les données

Introduction

Bien que les privilèges et les groupes permettent d'accéder à certaines fonctionnalités de l'application, ces deux notions ne permettent pas de gérer l'accéssibilité à la données (lecture, saisie, modification, suppression). Cette notion là est gérée par le SGBD (Postgresql pour vMap) sur la donnée (table, vue, vue matérialisée...). Cela peut être réalisé en ligne de commande ou plus communément par l'intermédiaire d'un client de base de données (exemple : PgAdmin, Dbeaver...)

Rajouter des droits à ces éléments permet ainsi à l’utilisateur final de pouvoir réaliser des actions différentes sur une donnée dans vMap2 (consultation, saisie, édition, suppression, d’une donnée géographique et / ou attributaire).

Une mauvaise gestion, ou un oubli de ces droits pourraient entraîner l'impossibilité pour un utilisateur de visualiser, d'éditer, de saisir ou de supprimer une donnée.

Exemple

Note

Le tutoriel suivant est illustré avec le client SQL pgadmin.
Le principe est que quelque soit le client utilisé, le code SQL pour Postgresql reste le même.

Pour cet exemple, nous souhaitons qu'un utilisateur ou groupe d'utilisateurs (appartenant au groupe exploitant_ville) puisse consulter, mettre à jour ou supprimer les données de la table data_demo_vmap.f_villes_l93. Pour cela voici les étapes :

1- Créer un rôle groupe (soit directement en base de données, soit via les privilèges de vMap)
2- Associer l'utilisateur à ce rôle groupe  
3- Affecter les droits sur la table à ce rôle groupe  

j'aimerais rajouter le privilège exploitant_ville sur ma table data_demo_vmap.f_villes_l93, afin qu'un utilisateur ayant ce privilège puisse consulter, saisir/mettre à jour/supprimer les données de ma couche ville utilisant cette table.

1- Créer un rôle groupe

Note

Le fonctionnement et la création d'un privilège sont expliqués dans la section suivante.

privilege_gestion_droits

2- Associer l'utilisateur à ce rôle groupe

Note

La gestion d'un utilisateur ainsi que ses droits sont expliqués dans la section suivante.

3- Affecter les droits sur la table à ce rôle groupe

Pour ajouter des droits sur une table, il faut tout d'abord ouvrir un client de base de données (exemple pgAdmin) et se connecter à la base de données.

connexion_base

Une fois connecté, naviguer dans la base via le menu latéral jusqu'à trouver la table concernée :

table_menu_lateral

Clic droit > Propriété, et se rendre dans l'onglet "Security" de la fenêtre qui s'ouvre.

onglet_securite

Cliquer sur le signe "+" de la ligne "Privileges", sélectionner exploitant_ville dans la colonne Grantee afin de donner des droits au rôle groupe (et donc à l'ensemble des utilisateurs associés à ce rôle groupe) sur la table data_demo_vmap.f_villes_l93.

Note

Il est possible d'ajouter des droits pour un utilisateur simple ou un groupe d'utilisateur.

Sélectionner les droits SELECT, INSERT, UPDATE et DELETE dans la colonne Privilèges pour donner les droits en consultation, création, mise à jour et suppression. Enregistrer.

onglet_securite