Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#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