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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!