Boa tarde, estou implementado umas regras para somente leitura em um banco de dados e utilizei as seguintes linhas:
GRANT CONNECT ON DATABASE "hom-jurimetria_meli_dw" TO role_finch_db_n1_hom_jurimetria_meli_dw;
GRANT USAGE ON SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
REVOKE CREATE ON SCHEMA public FROM role_finch_db_n1_hom_jurimetria_meli_dw;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT EXECUTE ON ALL PROCEDURES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON DATABASE "hom-jurimetria_meli_dw" TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON ALL PROCEDURES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO "role_finch_db_n1_hom_jurimetria_meli_dw";
REVOKE CREATE ON DATABASE "hom-jurimetria_meli_dw" FROM role_finch_db_n1_hom_jurimetria_meli_dw;
REVOKE INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA PUBLIC FROM role_finch_db_n1_hom_jurimetria_meli_dw;
Esta tudo funcioinando certinho, o que não estou conseguindo colocar é quando eu crio com um Superusuario um novo Schema essa role não consegue dar um select dá permissão negada, consigo somente se eu inserir:
GRANT USAGE ON SCHEMA teste TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT SELECT ON ALL TABLES IN SCHEMA teste TO "role_finch_db_n1_hom_jurimetria_meli_dw";
A minha pergunta é eu vou precisar adicionar essas regras em cada schema criado? Ou existe uma maneira de ele enxergar e conseguir dar um select de frma global sem precisar adicionar essas linhas de permissão.
Pergunta
marcelo.santos.joinville
Boa tarde, estou implementado umas regras para somente leitura em um banco de dados e utilizei as seguintes linhas:
GRANT CONNECT ON DATABASE "hom-jurimetria_meli_dw" TO role_finch_db_n1_hom_jurimetria_meli_dw;
GRANT USAGE ON SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
REVOKE CREATE ON SCHEMA public FROM role_finch_db_n1_hom_jurimetria_meli_dw;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT EXECUTE ON ALL PROCEDURES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON DATABASE "hom-jurimetria_meli_dw" TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT ALL PRIVILEGES ON ALL PROCEDURES IN SCHEMA public TO "role_finch_db_n1_hom_jurimetria_meli_dw";
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO "role_finch_db_n1_hom_jurimetria_meli_dw";
REVOKE CREATE ON DATABASE "hom-jurimetria_meli_dw" FROM role_finch_db_n1_hom_jurimetria_meli_dw;
REVOKE INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA PUBLIC FROM role_finch_db_n1_hom_jurimetria_meli_dw;
Esta tudo funcioinando certinho, o que não estou conseguindo colocar é quando eu crio com um Superusuario um novo Schema essa role não consegue dar um select dá permissão negada, consigo somente se eu inserir:
GRANT USAGE ON SCHEMA teste TO "role_finch_db_n1_hom_jurimetria_meli_dw";
GRANT SELECT ON ALL TABLES IN SCHEMA teste TO "role_finch_db_n1_hom_jurimetria_meli_dw";
A minha pergunta é eu vou precisar adicionar essas regras em cada schema criado? Ou existe uma maneira de ele enxergar e conseguir dar um select de frma global sem precisar adicionar essas linhas de permissão.
GRato
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.