Bonjour
Il y a très longtemps que je n'ai pas utilisé PostgreSQL
depuis la sortie de la V8.0 si ma mémoire ne me fait pas défaut.
bref une éternité et le passage par MySQL et Oracle font que je ne sais plus comment m'y prendre pour gérer les droits.
J'ai installé la V9.0.1.1 J'ai créé un rôle "Test" qui a le droit de créer des bases
mais ne peux pas ce connecter
J'ai créer un rôle de connexion "perso" (user) qui est membre de "Test" et qui peut se connecter de plus il hérite des droits. et à ma surprise il ne peut créer de base.
je n'ai donc visiblement pas compris la notion de rôle et d'héritage
je lui ai donné les droit de création de base.
j'ai créé un rôle de connexion "other" qui est membre de "Test"qui peut se connecter mais pas créer de base.
je me suis connecté "Perso" j'ai créé une base et j'ai fixé les droit par défaut
j'ai ajouté "other" avec tous les droits sur les tables, les fonctions etc.
puis j'ai crée un table et l'utilisateur "other" ne peut y accéder
la encore je ne comprends pas le fonctionnement des droits par défaut
en ajoutant "other" dans les droits par défaut pour les tables je m'attendait à ce que lorsque je créé une table elle hérite de ces droits par défaut ce qui n'est pas le cas.
la façon de gérer les droits d'un outils de base à un autre est tellement différents que je me suis perdu.
voici ce que j'ai l'habitude de faire.
L'admin à tous les droits.
pour chaque projets je crée un user projectAdm et un groupe project
et un ou plusieurs user dev
tous les utilisateurs du projet sont dans le groupe project.
le projectAdmin est le seul à pouvoir créer des bases dans le projet
les utilisateurs dev peuvent créer des tables, des vues, des fonction etc.
et tous les dev peuvent voir les création des autres dev
enfin je crée un ou plusieurs user simpleUser qui peut lire et écrire des données utiliser les fonctions etc.
je n'ai visiblement pas bien saisie les évolution du modèle de postgreSQL et je n'obtient pas les effets désirés. c'est comme si à chaque fois que je créais quelque chose sous un nom donnée je dois objet par objet re donner tous les droits à chaque utilisateur.
en lisant la doc je me disait que la notion de group (rôle) me permettrait de définir un groupe "projet" un groupe "dev" du projet un groupe "simpleuser" et ainsi créer des user et le mettre dans un groupe.
soit ce n'est pas possible et j'ai vraiment mal compris la doc.
soit ça l'est mais là je n'ai pas compris comment le mettre en oeuvre.
A+JYT
Partager