Accéder dynamiquement aux nouveaux objets d'un autre utilisateur
Posté : mar. 26 mars 2019 17:11
Merci à Julien pour sa question :
"J’ai créé trois utilisateurs sur une base PostgreSQL 11 : BOSS, FILS1 et FILS2.
BOSS doit pouvoir accéder aux schémas de FILS1, FILS2 sans restriction.
J’ai donc passé des grants de ce genre :
grant select on all tables in schema FILS1 to BOSS;
grant select on all tables in schema FILS2 to BOSS;
etc.
Problème, les nouvelles tables/vues que je crée dans les schémas de FILS1 et FILS2 ne sont pas dynamiquement accessibles à BOSS, il faut que je repasse le grant select etc.
Une idée pour rendre ça définitif ?"
Réponse :
Si BOSS doit vraiment pouvoir accéder sans restriction aux schémas appartenant à FILS1, FILS2 etc. alors le plus simple est de faire une fois pour chaque FILS un
Attention, BOSS aura alors tous les droits sur les objets appartenant à FILS, y-compris de les supprimer !
Si vous voulez restreindre d'une quelconque façon les privilèges de BOSS par rapport à ceux de FILS alors cette solution est inadéquate.
"J’ai créé trois utilisateurs sur une base PostgreSQL 11 : BOSS, FILS1 et FILS2.
BOSS doit pouvoir accéder aux schémas de FILS1, FILS2 sans restriction.
J’ai donc passé des grants de ce genre :
grant select on all tables in schema FILS1 to BOSS;
grant select on all tables in schema FILS2 to BOSS;
etc.
Problème, les nouvelles tables/vues que je crée dans les schémas de FILS1 et FILS2 ne sont pas dynamiquement accessibles à BOSS, il faut que je repasse le grant select etc.
Une idée pour rendre ça définitif ?"
Réponse :
Si BOSS doit vraiment pouvoir accéder sans restriction aux schémas appartenant à FILS1, FILS2 etc. alors le plus simple est de faire une fois pour chaque FILS un
Code : Tout sélectionner
grant FILS to BOSS;
commit;
Si vous voulez restreindre d'une quelconque façon les privilèges de BOSS par rapport à ceux de FILS alors cette solution est inadéquate.