Pessoal estou montando uma base onde irá ter restrições de níveis para usuários.
Então resolvi fazer assim e gostaria da opinião de vocês se falta
algo, ou se tem algo demais.

Uso 3 schemas:

schema_aux // onde fica as tabelas auxiliares.
schema_logs // tabelas de logs gerados por gatilhos (TG_OP, etc...)
schema_tables // tabelas

Grupos e usuários:

CREATE ROLE grupo_sistema_geral
  NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;

CREATE ROLE grupo_sistema_administrador
  NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;


CREATE ROLE sistema_conexao_aplicacao LOGIN
  ENCRYPTED PASSWORD 'md59c83e0e24b0ee39876129b7c18889c3d'
  NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
GRANT grupo_sistema_geral TO sistema_conexao_aplicacao;

CREATE ROLE sistema_dba LOGIN
  ENCRYPTED PASSWORD 'md562c7bf53911e753c5ffa2b8c4c47ebf1'
  SUPERUSER INHERIT CREATEDB CREATEROLE;


GRANT ALL ON DATABASE base_sistema TO sistema_dba;
GRANT CONNECT ON DATABASE base_sistema TO sistema_conexao_aplicacao;


GRANT ALL ON SCHEMA schema_tables TO sistema_dba;
GRANT USAGE ON SCHEMA schema_tables TO grupo_sistema_geral;
GRANT ALL ON SCHEMA schema_tables TO grupo_sistema_administrador;
GRANT ALL ON SCHEMA schema_tables TO sistema_conexao_aplicacao;


Seria isso.
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a