[pgbr-geral] Segurança utilizando funções

2008-07-04 Por tôpico Yoshio
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


Re: [pgbr-geral] Segurança utilizando funções

2008-07-04 Por tôpico ivo nascimento
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


Re: [pgbr-geral] Segurança utilizando funções

2008-07-04 Por tôpico Yoshio
vlw, acho que é isso mesmo, ja vou testar aqui.

2008/7/4 ivo nascimento [EMAIL PROTECTED]:
 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.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral