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

Responder a