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 :

Créer utilisateur et rôle


Sujet :

Administration PostgreSQL

  1. #1
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 309
    Points
    1 309
    Par défaut Créer utilisateur et rôle
    Bonjour à tous,

    Après quelques années sous ORACLE, je viens de débuter sous PostgreSQL il y a peu, et je tâtonne un petit peu au début.

    Sous Oracle, un schéma était associé à un utilisateur qui avait les droits sur le contenu de son schéma pour créer, visualiser, modifier supprimer des tables ou autres. Via un rôle, on pouvait lui donner des droits sur les tables d'un autre schéma.

    J'essaie de reproduire ce fonctionnement sous PostgreSQL, mais je dois mal m'y prendre parce que je n'y parviens pas. De plus, j'ai du mal à saisir la notion de rôle groupe et de rôle de connexion.

    En gros, ce que je souhaite faire : dans ma base de donnée maBase j'ai deux schémas totoSchema et titiSchema. Je souhaiterais créer deux utilisateurs toto et titi chacun propriétaire des éléments de son schéma, et donner le droit à toto d'effectuer des SELECT sur les tables de titi. Donc ,quand je me connecte à la base sous toto, je n'ai accès qu'aux éléments (tables, séquences, etc...) de totoSchema et aux tables (que en SELECT) de titiSchema.

    Je ne sais pas si c'est très clair, si ce n'est pas le cas n'hésitez pas à me le dire !

    Merci à ceux qui voudront éclairer ma lanterne !
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 309
    Points
    1 309
    Par défaut
    Re-bonjour,
    Voici ma démarche pour me rapprocher d'un fonctionnement ORACLE, pouvez vous me dire si celle-ci vous semble correcte? Est-ce que selon vous il manque des choses?

    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
    29
    30
    31
    32
    33
    34
    --###############################
    -- connecté en super utilisateur:
    --###############################
     
    --Créer le schéma "MON_SCHEMA"
    CREATE SCHEMA "MON_SCHEMA" AUTHORIZATION super_utilisateur;
     
    --Créer le rôle groupe "MON_SCHEMA_ROLE"
    CREATE ROLE "MON_SCHEMA_ROLE" NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
     
    --Créer le rôle de connexion "MON_SCHEMA_CONNECT"
    CREATE ROLE "NOM_SCHEMA_CONNECT" LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD 'abcde' VALID UNTIL 'infinity';
     
    --Modifier le search_path par défaut:
    ALTER ROLE "MON_SCHEMA_CONNECT" SET search_path = "MON_SCHEMA", public; 
     
    --Affecter les droits "MON_SCHEMA_ROLE" à  "MON_SCHEMA_CONNECT"
    GRANT "MON_SCHEMA_ROLE" TO "MON_SCHEMA_CONNECT"
     
    --Affecter les droits "MON_SCHEMA_ROLE" à  "ADMIN_ROLE"
    GRANT "MON_SCHEMA_ROLE" TO "ADMIN_ROLE"
     
    --Donner accès total au schéma "MON_SCHEMA" pour "MON_SCHEMA_ROLE"
    GRANT ALL ON SCHEMA "MON_SCHEMA" TO "MON_SCHEMA_ROLE"
     
    --Donner accès à des tables, séquences, vues (ou autres) d’un autre schéma:
    GRANT USAGE ON SCHEMA "SCHEMA_CIBLE" TO "MON_SCHEMA_ROLE";  --droit d’utiliser le schéma
    GRANT SELECT [, INSERT,…] ON TABLE "SCHEMA_CIBLE"."NOM_TABLE" TO "MON_SCHEMA_ROLE"; --droit sur une table
     
    --###############################
    -- connecté en MON_SCHEMA_CONNECT:
    --###############################
     
    --créer les tables, séquences, vues en spécifiant comme owner: MON_SCHEMA_ROLE
    En gros pour chaque nouveau schéma je créé deux rôles associés (un de connexion, un pour les droits)...
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

Discussions similaires

  1. créer utilisateur avec droits db
    Par polo86 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 20/02/2009, 23h26
  2. Créer Utilisateur sous AIX
    Par atchepi dans le forum AIX
    Réponses: 0
    Dernier message: 24/06/2008, 10h59
  3. Utilisateur et rôles
    Par JustMe dans le forum Firebird
    Réponses: 9
    Dernier message: 06/04/2008, 10h40
  4. [Admin] Utilisateurs et rôles : Généralités
    Par ducho dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/03/2006, 16h04
  5. Créer utilisateur OPS$ avec "."
    Par Amadeus20 dans le forum Administration
    Réponses: 8
    Dernier message: 04/06/2004, 14h08

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