[firebase-br] Direitos a usuário em procedure x tabela

Gladiston Santana gladiston em vidy.com.br
Qua Mar 29 09:00:10 -03 2017


A procedure é como um usuário, você deve dar grant aos objetos que a
procedure acessa, daí quando um usuário (que tiver permissão) executar a
procedure, a procedure não precisará usufruir das permissões pessoais do
usuário ou da role porque ela em si própria já os possui.
Por exemplo, digamos que eu tenha uma procedure SP_ATAS e que todos os
usuarios devam ter permissão a ela. Essa procedure acessa duas tabelas e
também precisa precisa executar outras procedures(caso tipico de procedure
chamando procedure), então os grants ficariam assim:
-- Precisa de acesso as seguintes tabelas:
grant all on atas_reuniao           to procedure SP_ATAS;
grant all on atas_reuniao_leitores  to procedure SP_ATAS;

-- Precisa executar as seguintes procedures:
grant execute on procedure check_user_in_group to procedure SP_ATAS;
grant execute on procedure check_user_habilidade to procedure SP_ATAS;

-- definindo as pessoas que podem executar esta procedure:
grant execute on procedure SP_ATAS to public;


[]´s
PS: 'to public' poderia ser substituido por 'to user <fulano>' ou 'to role
<nome.da.role>'



Mais detalhes sobre a lista de discussão lista