PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 06/05/2009 12:25:49

JEJE33
Membre

Création nouvel utilisateur PostGIS

Bonjour
Je travaille actuellement sur une base de données PostGIS, avec une outil cartographique de type QuantumGIS.
Au moment de la création de ma base de données, j'ai crée un rôle de connexion que j'ai nommé SDE, avec les critères suivant

-- Role: "sde"

-- DROP ROLE sde;

CREATE ROLE sde LOGIN
  ENCRYPTED PASSWORD 'md51e9484aace238e7cb2609130fd87646e'
  SUPERUSER NOINHERIT CREATEDB CREATEROLE;

Une fois ce rôle crée, j'ai mis en place un schéma portant le même nom avec les critères suivant

-- Schema: "sde"

-- DROP SCHEMA sde;

CREATE SCHEMA sde
  AUTHORIZATION sde;
GRANT ALL ON SCHEMA sde TO sde;
GRANT ALL ON SCHEMA sde TO public;

Afin que mon utilisateur puisse afficher dans QuantumGIS, les données disponibles dans la base de données, j'ai affecté les privilèges de Select, insert, delete et update, sur la table public.geometry_columns

Mon problème est le suivant, je souhaite mettre en place un nouvel utilisateur, ne disposant que de droits limité sur ma base, disons uniquement les droits Select, mais je rencontre un problème.
En effet, autant je ne rencontre de problème lors de la création de mon rôle de connexion, ni dans dans la mise en place du schéma associé, si bien que lorsque je teste ma nouvelle connexion depuis QuantumGIS, l'application m'informe que la connexion est réussie.
En revanche lorsque j'essaie d'afficher les données disponibles dans ma base de données avec mon nouvel utilisateur, le message d'erreur apparait m'informant que je ne dispose pas de droits suffisants sur geometry columns.
Je sens bien que le problème vient du fait du manque de privilège sur la dite table mais le problème vient du fait que je n'arrive pas à affecter le privilège SELECT à mon nouvel utilisateur


Si quelqu'un a une idée, je suis preneur

Merci

Hors ligne

#2 06/05/2009 13:36:17

gleu
Administrateur

Re : Création nouvel utilisateur PostGIS

Pourrait-on avoir le message d'erreur réel et exact que l'application a lorsqu'elle essaie d'accéder à cette table avec cet utilisateur ?


Guillaume.

Hors ligne

#3 06/05/2009 14:22:50

JEJE33
Membre

Re : Création nouvel utilisateur PostGIS

Bonjour
Je ne sais pas si cela est possible de joindre un fichier à mon message.
Etant donné que je ne trouve la manipulation, voici le message exact que me renvoie l'application

La connexion à la base de données à réussi, mais aucune table n'est accessible. Le message d'erreur de la base de données est
ERROR : permission denied for relation geometry_columns

et la deuxième fenêtre affiche le message suivant
La connexion à la base de données à réussi, mais aucune table n'est accessible.
Veuillez vérifier si vous avez le droit d'effectuer une commande SELECT sur une table ayant une géométrie POSTGIS

En ce qui concerne, cette deuxième fenêtre, j'ai réussi à solutionner le problème en accordant au nouvel utilisateur la possibilité de faire un SELECT sur une des tables en effectuant la commande suivante

Grant SELECT ON <nom_table> to jerome

En revanche je ne vois comment je peux faire pour ne plus avoir le premier message d'erreur.

Dans la même de problème, est-ce qu'il est possible d'affecter des privilièges de SELECT à toutes les tables contenues dans ma table et ce en une seule fois.

Merci pour vos réponses

Hors ligne

#4 06/05/2009 14:28:51

gleu
Administrateur

Re : Création nouvel utilisateur PostGIS

En revanche je ne vois comment je peux faire pour ne plus avoir le premier message d'erreur.

Il faut faire la même chose, mais pour la table indiquée :

GRANT SELECT ON geometry_columns TO utilisateur;

Dans la même de problème, est-ce qu'il est possible d'affecter des privilièges de SELECT à toutes les tables contenues dans ma table et ce en une seule fois.

Il n'existe pas de requête SQL pour cela. Il faut les faire une par une, ou faire un script qui recupère la liste des tables, voir même utiliser le gestionnaire des droits de pgAdmin.


Guillaume.

Hors ligne

#5 06/05/2009 14:36:40

JEJE33
Membre

Re : Création nouvel utilisateur PostGIS

Merci beaucoup pour ta réponse.

Maintenant que je connais la réponse je me dis que cela était assez simple en fait.

Dernière question, est ce que la création d'un schéma pour ce nouvel utilisateur est obligatoire, si cet utilisateur ne peut faire que du SELECT sur les tables de la base de données.

Merci

Hors ligne

#6 06/05/2009 14:38:27

gleu
Administrateur

Re : Création nouvel utilisateur PostGIS

Un schéma n'est en aucun cas obligatoire.


Guillaume.

Hors ligne

#7 07/05/2009 12:16:34

JEJE33
Membre

Re : Création nouvel utilisateur PostGIS

Bonjour gleu

Dans ton précédent message,

Il n'existe pas de requête SQL pour cela. Il faut les faire une par une, ou faire un script qui recupère la liste des tables, voir même utiliser le gestionnaire des droits de pgAdmin.

Tu évoques un gestionnaire de droits inclus à PgAdmin.
Est ce pour toi ce gestionnaire correspond  à l'onglet Droits, que tu as accèdes en faisant un clic droit sur table, qui te permet gérer les privilèges table par table, ou est ce que tu fais référence à un gestionnaire plus général, qui permet de gérer les privilèges sur un ensemble de table
Merci pour ta réponse

Hors ligne

#8 07/05/2009 14:03:20

gleu
Administrateur

Re : Création nouvel utilisateur PostGIS

Je parle d'un gestionnaire plus général qui permet de modifier les droits sur plueisurs tables en même temps. Il est disponible dans le menu Outils/Assistant de gestion des droits.


Guillaume.

Hors ligne

#9 07/05/2009 14:19:55

JEJE33
Membre

Re : Création nouvel utilisateur PostGIS

Merci je vais tester cette outil de cet après midi

Hors ligne

Pied de page des forums