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 :

Question sur les rôles de ma base de données


Sujet :

Administration PostgreSQL

  1. #1
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 382
    Points : 9 745
    Points
    9 745
    Par défaut Question sur les rôles de ma base de données
    Bonjour à toutes et tous,

    Je me pose une question existentielle sur les rôles que je doit créer dans ma base de données.

    Voilà, je développe un ERP pour ma société. Cet ERP sera utilisé par mes collègues (et encore pas tous).

    Tous ces utilisateurs devront avoir les droits SELECT, INSERT, UPDATE et DELETE sur les tables et les séquences. Seuls les admin auront des droits supérieurs.

    Ma question est : dois-je créer un rôle par utilisateur, et ainsi chacun se connecte avec son rôle, ou bien un seul rôle "utilisateur" et tous se connectent avec ce rôle ?

    D'abord, est-ce que la seconde solution est possible ? C'est à dire, est-ce qu'il est autorisé d'avoir plusieurs personnes connectées en même temps avec le même rôle ? Si ça n'est pas possible, ça simplifie le questionnement. Il faut un rôle par utilisateur susceptible de se connecté.

    Ensuite, si les deux solutions sont possibles laquelle est à privilégier ? Et quels sont les avantages et les inconvénients de ces deux méthodes ?

    Merci d'avance pour vos réponses avisées et éclairantes.

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    De ce que je vois dans l'aide en ligne, un rôle peut être affecté à plusieurs utilisateurs.
    Donc "de moins point de vue", je créerai (au moins) un rôle, j'affecterai les utilisateurs à ce rôle et je gèrerai les droits au niveau du rôle.

    Ainsi la gestion des droits sera "centralisée", vu qu'un utilisateur héritera des droits du rôle auquel il est affecté.

    Tu peux par exemple avoir un rôle "comptabilité" qui ne peut pas créer de fiche article, un rôle "référencement" qui lui ne peut pas créer de fiche client...

    Tatayo.

  3. #3
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 382
    Points : 9 745
    Points
    9 745
    Par défaut
    Merci de ta réponse. C'est encore une autre solution à laquelle je n'avais pas pensé. Avoir des droits par "secteurs" d'activité.

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Il ne faut pas confondre les droits gérés par la BDD et ceux gérés par l'application.

    Dans un ERP, on définira des profils métier : gestionnaire de commande client, comptable, responsable logistique, etc.

    Chacun de ces profils métier sera associé à des fonctions : consulter les commandes clients, créer des commandes client, visualiser des comptes clients, créer des comptes clients, consulter les stocks... Certaines fonctions étant communes à plusieurs profils métiers.

    Au niveau BDD, il faut attribuer des droits suffisants pour que les fonctions requises puissent être exercées par les profils et donc les personnes rattachées.

  5. #5
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 382
    Points : 9 745
    Points
    9 745
    Par défaut
    Merci de cette remarque tout à fait juste.

    Dans l'appli, j'ai une gestion de rôles, des droits associés aux rôles, et des associés aux utilisateurs.

    Pour la partie BDD, je me demandais s'il fallait créer un "rôle" Postgresql pour chaque utilisateur ou pas.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Sur ce dernier point, je rejoins évidemment la position de Tatayo, pas de gestion individuelle, ce serait une charge énorme et inutile.

  7. #7
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 382
    Points : 9 745
    Points
    9 745
    Par défaut
    Oui, mais je me heurte à un truc.

    Dans un trigger sur le serveur Postgre, je voudrais indiquer quel est le dernier utilisateur à avoir modifié ou ajouté un supprimé un enregistrement sur certaines tables.

    Mais, si plusieurs utilisateurs partagent le même "rôle" postgre comment connaitre le "vrai" utilisateur qui a fait l'opération ?
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    C'est la limite d'un système comme PostgreSQL qui n'est pas intégré à l'OS.... Dans d'autres SGBDR, par exemple Microsoft SQL Server, vous avez toujours accès par un moyen ou pas un autre à l'utilisateur au niveau système, voire l'adresse IP du client par requête :
    • SYSTEM_USER : fonction de la norme SQL pour obtenir le nom de connexion au serveur
    • toutes autres informations via la vue système sys.dm_exec_connections



    PostGreSQL fournit une liste limitée des info dans pg_stat_activity

    A +
    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/ * * * * *

Discussions similaires

  1. [2.x] question sur les rôles
    Par dukoid dans le forum Symfony
    Réponses: 18
    Dernier message: 07/10/2014, 17h50
  2. Questions sur les rôles
    Par JackylRadis dans le forum SSAS
    Réponses: 2
    Dernier message: 04/06/2012, 11h15
  3. Question sur les rôles
    Par freud dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/10/2007, 11h24
  4. [phpMyAdmin] question sur une ligne à ajouter à ma base de données
    Par jsdar dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 14/04/2007, 11h13
  5. question sur l'exploitation d'une base de données..
    Par rainbow38 dans le forum Access
    Réponses: 3
    Dernier message: 22/01/2007, 16h12

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