Précédent   Forum du club des développeurs et IT Pro > Bases de données > PostgreSQL > Administration
Administration Forum d'entraide sur l'administration de PostgreSQL : utilisateurs, privilèges, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 18/12/2012, 09h06   #1
sat83
Membre Expert
 
Avatar de sat83
 
Homme
Développeur informatique
Inscription : mars 2004
Messages : 987
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 987
Points : 1 271
Points : 1 271
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...
sat83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2012, 15h51   #2
sat83
Membre Expert
 
Avatar de sat83
 
Homme
Développeur informatique
Inscription : mars 2004
Messages : 987
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 987
Points : 1 271
Points : 1 271
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 :
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...
sat83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h48.


 
 
 
 
Partenaires

Hébergement Web