2017-05-05 2 views
0

Je dois atteindre l'objectif ci-dessous dans postgresql. Il y a une base de données "textdb" avec 4 schémas qui sont publics, ds, fin, viz. S'il vous plaît quelqu'un pourrait-il m'aider à atteindre cet objectif?Comment gérer les restrictions d'accès dans postgresql?

Exigence: Nous devons créer un script pouvant être utilisé pour fournir l'accès au rôle. Donc, je dois créer 3 rôles, un pour analyste, un autre pour les données scientifique et le dernier pour les gens de visualisation.

CREATE ROLE analyst WITH LOGIN; 

    CREATE ROLE ds WITH LOGIN; 

    CREATE ROLE vi WITH LOGIN; 

Les membres de l'équipe respectifs seront ajoutés à leurs rôles respectifs afin que nous ne devons pas avoir accès à des utilisateurs individuels. Analyst est requis pour avoir un accès complet à la base de données "testdb", le rôle ds aura accès à toutes les données du schéma "ds" et "fin" et le rôle vi aura accès au schéma "viz".

De plus, chaque fois qu'une nouvelle table/vue/procédure/fonction est ajoutée, les utilisateurs doivent automatiquement avoir l'accès requis.

Répondre

0
  1. Si vous envisagez d'accorder ces rôles à des utilisateurs, ils n'ont pas besoin de se connecter, je crois. Cette différence est exacte entre « USER qui peut se connecter » et « juste rôle »
  2. pour de nouvelles relations accorde useALTER DEFAULT PRIVILEGES
  3. à accorder le rôle à l'utilisateur juste grant ds to user_mike; si vous \du+ user_mike vous verrez les rôles accordés dans la section "Menber of"