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

Administration PostgreSQL Discussion :

Droit nécessaire pour la lecture de pg_stat_activity


Sujet :

Administration PostgreSQL

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Octobre 2016
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 144
    Points : 62
    Points
    62
    Par défaut Droit nécessaire pour la lecture de pg_stat_activity
    bonjour
    J'ai une base de données Postgresql 9.1 j’utilise Toujours le privilège super-utilisateur pour interroger la vue pg_stat_activity , je peux tout voir travers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from pg_stat_activity
    Cependant, est-il possible d'obtenir le même résultat sans être connecté en tant que superutilisateur?

    En faite le but c'est qu'un des Equipe infra (supervision) soit autonome dans la partie supervision Tout ça bien sur en concevant notre stratégie de sécurité

    Quel privilège / rôle devrais-je accorde ?

    merci pour vos aides

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    La solution avec l'option SECURITY DEFINER qui permet une exécution d'une fonction avec le droit du créateur.
    Tu crée une fonction avec l'option SECURITY DEFINER de la manière suivante...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    create function e2() returns setof pg_stat_activity
    as
    $$select * from pg_stat_activity;$$ language sql SECURITY DEFINER
    ensuite il suffit de lancer des select comme suite...
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    un simple GRANT SELECT ne marche pas ?
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Citation Envoyé par SQLpro Voir le message
    un simple GRANT SELECT ne marche pas ?
    Tu as raison
    En fait même pas la peine.
    Voici la ddl de la vue...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    CREATE OR REPLACE VIEW pg_stat_activity AS 
     SELECT s.datid,
        d.datname,
        s.pid,
        s.usesysid,
        u.rolname AS usename,
        s.application_name,
        s.client_addr,
        s.client_hostname,
        s.client_port,
        s.backend_start,
        s.xact_start,
        s.query_start,
        s.state_change,
        s.waiting,
        s.state,
        s.backend_xid,
        s.backend_xmin,
        s.query
       FROM pg_database d,
        pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, waiting, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin),
        pg_authid u
      WHERE s.datid = d.oid AND s.usesysid = u.oid;
     
    ALTER TABLE pg_stat_activity
      OWNER TO postgres;
    GRANT SELECT ON TABLE pg_stat_activity TO public;
    REVOKE ALL ON TABLE pg_stat_activity FROM postgres;
    on voit qu'elle a un statut PUBLIC. Donc tout le monde peut voir sont contenu.
    Je croyais avoir à faire à une table système accessible uniquement par les supers users

    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

Discussions similaires

  1. [SP-2013] Droits nécessaires pour télécharger des docs
    Par rigol'man dans le forum SharePoint
    Réponses: 6
    Dernier message: 26/07/2016, 15h10
  2. [Install] Droits Oracle nécessaire pour installation Repository Data Integrator et/ou B0
    Par Galouda dans le forum Administration-Migration
    Réponses: 2
    Dernier message: 25/04/2009, 15h16
  3. Droits nécessaires pour SHOW TABLE STATUS
    Par max-mag dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 30/10/2007, 12h03
  4. droits nécessaires pour faire un LOAD DATA INFILE
    Par Peanut dans le forum Administration
    Réponses: 11
    Dernier message: 14/06/2007, 17h03
  5. BULK INSERT : Droits nécessaires pour l'utilisation
    Par JYves dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/11/2005, 10h35

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