IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

limiter l'acces a un user a tout une base/schema en 1 fois


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par défaut limiter l'acces a un user a tout une base/schema en 1 fois
    Bonjour,

    Je voudrais savoir s'il est possible de faire qu'un utilisateur ("toto") ne puisse que lire des lignes sur toute ma base ou sur tout un schema.

    Est-ce qu'il y a un autre moyen que de me taper plein de :
    REVOKE INSERT, UPDATE, DELETE ON TABLE table1 FROM toto;
    REVOKE INSERT, UPDATE, DELETE ON TABLE table2 FROM toto;
    ...

    l'idéal aurait été : REVOKE INSERT, UPDATE, DELETE ON ALL TABLE FROM toto;
    mais ca ne marche pas malheureusement...

    Si il y a une solution avec GRANT je suis aussi preneur.
    Merci.

    conf: Postgre 7.4, debian, Eclipse 3.1.1 avec Quantum DB ...

  2. #2
    Invité
    Invité(e)
    Par défaut Doc
    Bonjour,

    tu peux utiliser :
    REVOKE ... ON DATABASE nom_base FROM nom_utilisateur ...
    et
    GRANT ... ON DATABASE nombase TO nomutilisateur ...
    Dernière modification par Domi2 ; 15/07/2011 à 17h00.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par défaut
    je vois pas bien ce que je peux faire avec REVOKE ... ON DATABASE ...
    à part l'empêcher de créer des schema

    Par contre, REVOKE ... ON SCHEMA ... semble plus interessant.

    En faisant REVOKE CREATE ON SCHEMA schema1 FROM toto; j'empeche toto de créer des nouvelles tables mais il peut toujours ajouter,modifier ou supprimer des tuples dans les tables qui existent déjà.
    Et si je met USAGE, la il ne peut plus lire les tables du tout.

    Or je voudrais qu'il puisse juste lire les données et non les modifier/ajouter/supprimer.

  4. #4
    Membre émérite
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Par défaut droits sur une base complète
    Bonjour,
    est-ce que tu as pu résoudre ton problème?
    Je suis dans le même cas que toi, et rien trouvé pour le moment

    A+

  5. #5
    Membre émérite
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Par défaut up
    up

  6. #6
    Membre émérite
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Par défaut
    pour info, j'avais résolu le problème en créant un script qui reprenait pour chaque table les privilèges pour mon user : REVOKE ALL PRIVILEGES ON TABLE TO USER; puis GRANT SELECT ON TABLE TO USER; si je voulais le mettre en lecture seule.

    Cependant, ceci n'étant pas très évolutif (problème lors de l'ajout de nouvelles tables), j'ai créé un script CGI qui récupère le nom de toutes les tables de la base et qui pour chaque table modifie les droits en lecture ou modification suivant le choix fait sur le formulaire.
    cependant, ce n'est pas une solution "très propre", le sujet reste ouvert...

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Et seraits-tu ok, pour nous fournir ton script?

    Merci

    MaitrePylos

  8. #8
    Membre émérite
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Par défaut
    Et seraits-tu ok, pour nous fournir ton script?
    Pas de problème :
    je l'ai quelque peu modifié pour l'occasion et ne l'ai retesté mais devrait fonctionner
    les variables à modifier sont en début de programme (noms des bases de données, serveur de BDD, compte dont les privilèges sont à modifier, identifiants à utiliser pour se connecter aux BDD et effectuer les modifs).

    Il manque la feuille de style...bref la présentation n'est pas au point.

    n'hésitez pas si vous avez des questions
    A+
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/02/2015, 10h31
  2. Réponses: 3
    Dernier message: 10/03/2009, 20h06
  3. Réponses: 1
    Dernier message: 31/01/2007, 09h25
  4. [Sécurité] limitation d'accès d'un user
    Par marwaza22 dans le forum Oracle
    Réponses: 6
    Dernier message: 24/07/2006, 17h51
  5. verifier si des user sont connéctés à une base Paradox
    Par JCDC dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/11/2005, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo