Muito Obrigado Oswaldo! Era isso mesmo que eu precisava. 2009/4/23 Osvaldo Kussama <[email protected]>
> 2009/4/23 Leandro Cavalari Soares <[email protected]>: > > Bom Dia Comunidade! > > > > Estou estudando a respeito de Roles no Postgres e cheguei à seguinte > > situação: > > > > Preciso de um usuário com permissões restritas - seleção de dados e > > execução de algumas funções que alteram os dados. Pra isso, concedi as > > segunites permissões: > > > > * GRANT USAGE ON SCHEMA esquema TO usuario; > > * GRANT SELECT ON TABLE esquema.tabela TO usuario; > > * GRANT EXECUTE ON FUNCTION esquema.funcao(integer, integer) TO usuario; > > > > Ao executar a função acima, o erro (ERROR: permission denied for > > relation tabela) é emitido, pois o usuário só tem permissão de seleção > dos > > dados. > > > > Como posso permitir a alteração dos dados somente via execução de > função, > > impedindo que um UPDADE seja executado manualmente? > > > > > Creio que você deseja que a função seja executada com outras permissões. > O default na criação de funções é SECURITY INVOKER, isto é, leva em > conta as permissões do usuário que está executando a função. Creio que > o que você deseja é SECURITY DEFINER para, na execução, considerar as > permissões de quem criou a função. > http://www.postgresql.org/docs/current/interactive/sql-createfunction.html > > Osvaldo > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- Leandro Cavalari Soares Analista de Sistemas / DBA Veltrac - Tecnologia em Logística (43) 2105-5614 / (43) 9922-8095 - Londrina / PR
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
