use security definer... isso fara com que a funcao rode com direitos
de quem criou a funcao e nao de quem executou, que eh o seu problema
no momento e sim, usar funcoes para acesso aos objetos do banco eh uma
maneira segura de impedir que pessoas realizem tarefas nao
autorizadas.

2008/7/4 Yoshio <[EMAIL PROTECTED]>:
> Olá pessoal.
>
> Li em um artigo que é mais seguro encapsular operações no db através
> de funções onde o usuário não tenha acesso a tabela diretamente. Estou
> tentando fazer isso mas sem sucesso. Eu criei uma tabela, função e
> usuário do db (role) de teste. A função apenas insere dados na tabela
> e o usuário tem privilegio somente para executar a função, mas na hora
> de executar da "permission denied" para a tabela de teste, pois a
> função faz um "insert into teste" e o usuário não tem permissão para
> teste. Só funciona se eu der privilegio para o usuário inserir na
> tabela, mas acho que isso não ajuda muito na questão da segurança pois
> permite que o usuário insira dados na tabela diretamente sem utilizar
> a função que faz algumas verificações antes de inserir. Como posso
> resolver isso?
>
> Obrigado.
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Ivo Nascimento - Iann
 --------------------------------
 iannsp at gmail dot com
 ivo at ccppbrasil dot org
----------------------------------
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to