RE: Postgresql : Visibilité de la table fonction du Grantor/SuperUser?

From: Alain Benard <alain(dot)benard(at)inrae(dot)fr>
To: celati Laurent <laurent(dot)celati(at)gmail(dot)com>, "pgsql-fr-generale(at)postgresql(dot)org" <pgsql-fr-generale(at)postgresql(dot)org>
Subject: RE: Postgresql : Visibilité de la table fonction du Grantor/SuperUser?
Date: 2022-02-17 15:01:02
Message-ID: f0ce4e4918e64c1e8ba11e9a4c074956@IDFDCPRIPEXMU06.inra.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,
En fait la définition des droits par défaut (ALTER DEFAULT PRIVILEGES) s’applique au compte qui l’a exécuté donc uniquement à ton compte.
Dans la doc on trouve : You can change default privileges only for objects that will be created by yourself or by roles that you are a member of.
Il y a donc 3 pistes :

· Les autres comptes s’appliquent des droits par défaut (ALTER DEFAULT PRIVILEGES) et dans ce cas tout ce qu’il créeront ensuite sera affecté.

· Tu inscris ton role utilisateur comme membre du role des autres administrateurs XXX et tu utilises la version ALTER DEFAULT PRIVILEGE FOR ROLE XXX

· Tu rejoues chaque soir GRANT SELECT ON ALL TABLES IN SCHEMA public TO "user"; …
Espérant que c’est clair.
Bonne journée.
Alain.

De : celati Laurent <laurent(dot)celati(at)gmail(dot)com>
Envoyé : jeudi 17 février 2022 09:31
À : pgsql-fr-generale(at)postgresql(dot)org
Objet : Re: Postgresql : Visibilité de la table fonction du Grantor/SuperUser?

Bonjour,

Je me permets de reformuler peut être plus simplement ma question.
Une personne saurait elle comment donner les privilèges à un rôle SuperUser afin que lorsque il créé une nouvelle table,que ce soit dans le schema public ou un autre schema, elle sera par default visible, 'sélectionnable' par tout le monde (les autres rôles superUser ET les rôles simples utilisateurs qui ont uniquement les privilèges 'usage' sur les schemas, privilèges ''select' sur les tables).
En espérant avoir été plus clair.
Merci;

Le mer. 16 févr. 2022 à 15:44, celati Laurent <laurent(dot)celati(at)gmail(dot)com<mailto:laurent(dot)celati(at)gmail(dot)com>> a écrit :

Bonjour,

Je travaille avec qgis et postgis.

Via mon role superUser j'ai defini différents roles pour plusieurs "simple" utilisateurs.Ils ont
les droits en lecture/select/usage sur toute table deja existante. Et egalement sur toute table qui sera générée à l'avenir (DEFAULT PRIVILEGE).
Voici ma methode :

Code:

--POUR SCHEMA PUBLIC

GRANT USAGE ON SCHEMA public TO "user";

GRANT SELECT ON ALL TABLES IN SCHEMA public TO "user";

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO "user";

--POUR AUTRE SCHEMA XXX

GRANT USAGE ON SCHEMA XXXX TO "user";

GRANT SELECT ON ALL TABLES IN SCHEMA XXX TO "user";

ALTER DEFAULT PRIVILEGES IN SCHEMA XXX GRANT SELECT ON TABLES TO "user";

Cette procedure fonctionne lorsque je realise moi meme l'opération (lorsque je suis "grantor").
Par contre, lorsque mon collègue, lui meme admin (SuperUser) tente une creation de table, avec son propre role de connexion, la table est bien créée mais est uniquement
visible par ceux qui ont un role de connexion superUser : les utilisateurs ne semblent pas pouvoir, , par defaut,visualiser, acceder aux nouvelles tables
créées par mon collègue.

Une personne pense avoir une piste de resolution?
Merci.

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Sébastien Lardière 2022-02-21 14:22:38 Re: Postgresql : Visibilité de la table fonction du Grantor/SuperUser?
Previous Message Olivier GENTRIC 2022-02-17 10:00:00 Re: Postgresql : Visibilité de la table fonction du Grantor/SuperUser?