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 16/07/2015 16:02:07

sifoElit2015
Membre

droit d'acées

Bonjour a tous,

Je suis un débutant dans postgresql,
je veux donées certaine privélèges a des utilisateurs,
j'ai 3 user admin,devloppeur, serverapp
j'ai creer 3 role :
      Admin qui a tous les droits:
              novaprod=# CREATE ROLE Admin login superuser;
              CREATE ROLE

      devloppeur qui a le droit de consulté la BDD c tt (ni creer ni modifier ni supprimer ni rien que consulter des tebles de notre BDD):
              novaprod=# create role devloppeur login;
              CREATE ROLE             

      serverapp qui a le droit de creer modifier consulter supprimer une seul table pricise dans la BDD
              novaprod=# create role serverapp login;   
              CREATE ROLE

et aprés j'ai ajouté certaine privélège a chaque user a l'aide de GRANT

novaprod=# grant select, insert, delete, update on table gado_resulta to serverapp;
GRANT


novaprod=# grant all privileges on database novaprod to admin;
GRANT


novaprod=# GRANT SELECT ON ALL TABLES IN SCHEMA public to devloppeur;
GRANT

mais le probleme que j'ai eu ce que l'utilisateur devloppeur peut creer des tables et ça ce que je veux l'interdire de ne creer pas des tables dans notre BDD

SVP j'ai besoin votre aide.

et Merci a l'avance

Hors ligne

#2 16/07/2015 16:13:31

gleu
Administrateur

Re : droit d'acées

Ce serait sympa de ne créer votre message qu'un seul fois, plutôt qu'un par salon. Je supprime les autres.


Guillaume.

Hors ligne

#3 16/07/2015 16:18:29

sifoElit2015
Membre

Re : droit d'acées

disolé parceque c'est la première fois que j'ai utilisé ce forum

Hors ligne

#4 16/07/2015 18:37:23

gleu
Administrateur

Re : droit d'acées

Il faut révoquer les droits du groupe public.


Guillaume.

Hors ligne

#5 16/07/2015 19:14:52

sifoElit2015
Membre

Re : droit d'acées

j'ai l'utilisé mais toujours même résultat
l'utilisateur développeur peur créer des tables

Hors ligne

#6 16/07/2015 20:06:40

gleu
Administrateur

Re : droit d'acées

Vous avez utilisé quoi ?


Guillaume.

Hors ligne

#7 16/07/2015 21:10:46

sifoElit2015
Membre

Re : droit d'acées

bonjour, j'ai utilisé:


REVOKE CREATE ON DATABASE test FROM devrloppeur;


mais l'utilisateur developpeur reste toujours crée les tables

puis j'ai essayé de révoquer tous les deroit de tous les utilisateurs

REVOKE ALL ON DATABASE test FROM PUBLIC ;

mais toujours le même résultat


merci beaucoup pour votre patience avec moi

Hors ligne

#8 16/07/2015 21:22:44

gleu
Administrateur

Re : droit d'acées

> REVOKE CREATE ON DATABASE test FROM devrloppeur;

Vous révoquez le droit de création d'objets au niveau de la base (donc schéma, langages... mais pas tables, fonctions, vues qui sont au niveau du schéma).

> REVOKE ALL ON DATABASE test FROM PUBLIC ;

Vous révoquez tous les droits au niveau de la base (création d'objets permanents et temporaires, connexion).

Donc, oui, vous avez le même résultat. Pas très étonnant. Un utilisateur a par défaut le droit de créer des objets dans le schéma public. Il faut lui révoquer ce droit.

REVOKE CREATE ON SCHEMA public FROM PUBLIC;

Voire carrément supprimer le schéma public et en créer un autre.

[guillaume@laptop ~]$ psql -U user1 pouet
Expanded display is used automatically.
psql (9.4.4)
Type "help" for help.

pouet=> create table toto();
CREATE TABLE
pouet=> \q
[guillaume@laptop ~]$ psql pouet
Expanded display is used automatically.
psql (9.4.4)
Type "help" for help.

pouet=# revoke create on schema public from public;
REVOKE
pouet=# \q
[guillaume@laptop ~]$ psql -U user1 pouet
Expanded display is used automatically.
psql (9.4.4)
Type "help" for help.

pouet=> create table titi();
ERROR:  permission denied for schema public

Guillaume.

Hors ligne

#9 16/07/2015 22:12:13

sifoElit2015
Membre

Re : droit d'acées

Merci beaucoup

le problème c'est réglé smile

Hors ligne

Pied de page des forums