Olá pessoal, fiquei com uma dúvida. Se eu quiser dar acesso a todas as tabelas existentes e futuras de um determinado schema a um role ou user, qual seria o procedimento adequado?
Olá pessoal, fiquei com uma dúvida. Se eu quiser dar acesso a todas as tabelas existentes e futuras de um determinado schema a um role ou user, qual seria o procedimento adequado?
Boa tarde Roberto! Tudo bem com você?
Ótima pergunta. Podemos usar a função GRANT
para conceder permissões às tabelas existentes e uma política de segurança para as futuras. Por exemplo:
Conceder acesso ao schema:
GRANT USAGE ON SCHEMA nome_do_schema TO nome_do_role;
Conceder acesso a todas as tabelas existentes:
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA nome_do_schema TO nome_do_role;
Conceder acesso a futuras tabelas:
ALTER DEFAULT PRIVILEGES IN SCHEMA nome_do_schema
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO nome_do_role;
Para conhecer mais sobre esse assunto, recomendo esta leitura. Está em inglês, mas, usando o recurso de tradução de páginas do próprio navegador é possível compreender.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!