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 07/01/2016 18:34:37

ced
Membre

Empêcher la création de vues dans le schéma public

Bonjour,

Un utilisateur qui n'a que des droits de lecture sur une base peut visiblement créer toutes les vues qu'il souhaite : celles-ci se retrouvent dans le schéma "public" (le CREATE VIEW y fonctionne).
Y a-t-il un moyen d'empêcher la création de ces vues dans ce schéma public ou pas ?
Si oui, comment faire ?

Merci d'avance pour votre aide.

Cedric

Hors ligne

#2 07/01/2016 18:51:33

ruizsebastien
Membre

Re : Empêcher la création de vues dans le schéma public

Bonjour,

Vous pouvez faire ça :
revoke create view on database ma_base from mon_user;

Cordialement.


Cordialement,

Sébastien.

Hors ligne

#3 07/01/2016 19:34:42

edlm
Membre

Re : Empêcher la création de vues dans le schéma public

Bonjour,


en complément, le comportement que vous constatez provient du fait que le schéma public est, par défaut, positionné avec les droits CREATE ET USAGE pour tous les utilisateurs.


Si ce réglage par défaut ne convient pas il est bien sûr possible de retirer ces droits par un REVOKE CREATE, USAGE ON SCHEMA public FROM PUBLIC ou, plus raisonnablement pour les seuls droits de création, par un REVOKE CREATE ON SCHEMA public FROM PUBLIC.


Éric

Hors ligne

#4 07/01/2016 20:04:56

gleu
Administrateur

Re : Empêcher la création de vues dans le schéma public

Pour être complet avec ce que vient de dire Eric, cela supprime du coup le droit de tous les utilisateurs sur le schéma public. Si certaines doivent y avoir accès, il faut le leur donner individuellement.

Enfin, la requête de Sébastien ne correspond pas à une requête utilisable avec PostgreSQL.


Guillaume.

Hors ligne

#5 08/01/2016 10:56:48

ruizsebastien
Membre

Re : Empêcher la création de vues dans le schéma public

"Enfin, la requête de Sébastien ne correspond pas à une requête utilisable avec PostgreSQL."

En effet, désolé, je fais trop d'Oracle en ce moment...

Normalement ceci doit fonctionner (en complément de la réponse de edlm) :
revoke all on schema public from mon_user;
revoke usage on schema public from mon_user;

Cordialement


Cordialement,

Sébastien.

Hors ligne

#6 08/01/2016 12:03:30

ced
Membre

Re : Empêcher la création de vues dans le schéma public

Merci pour toute ces réponses.

Je vais me contenter de révoquer les droits de création pour le moment, ça suffira.

Cordialement.

Cédric

Hors ligne

Pied de page des forums