On 08-11-2012 09:34, Adriano Espinoza de Oliveira wrote:
> Bom dia pessoal, preciso de um help.
> Tenho a seguinte situação:
> - banco versão 8.1.18
> - a aplicação da empresa faz conexão por "confiança", utilizando usuário
> postgres.
> - são 27 bases de dados distribuidas em vários estados do Brasil.
> - Por hora, migrar de versão isso está descartado.

É incrível, impressionante, absurdamente comum, quantas vezes leio nesta 
lista que "atualizar está descartado". Até as palavras são as mesmas 
"descartado".

Por que é tão difícil assim?
Por que as pessoas gostam de correr riscos de ficar sem suporte, sem 
atualizações de segurança, sem correções de bugs e, o principal, não 
aproveitar as novas oportunidades das novas funcionalidades?

(...)

> Mas no caso do update, o fornecedor poderá atualizar algumas colunas de
> determinadas tabelas. Da forma que está sendo testado ele tem acesso a
> todas as colunas para fazer update, e isso não é o ideal.
> Gostaria de controlar isso. Não encontrei na documentação(posso ter
> falhado na procura), como estabelecer permissões para as colunas da tabela.

Isso foi implementado na versão 8.4, que já está na rua faz 4 anos!
Você está usando uma versão de mais de 7 anos de idade.
Considere rever sua decisão de "não atualizar".

> O que pensei é uma forma de identificar o usuario da conexão e filtrar
> isso através de um trigger na tabela.
> O que vocês acham?
> Alguem tem outra sugestão?

Você pode tentar através de funções e só passar para seu fornecedor os 
detalhes de como acessar as funções.
Isso não vai eliminar, de qualquer forma, a necessidade de direitos de 
acesso do usuário sobre a tabela. O problema de segurança permanece. Mas 
você fica mais ou menos tranquilo se só usarem as funções.

Outra coisa que você pode fazer é separar em mais de uma tabela com 
relacionamento 1:1. Numa tabela ficam os dados que seu fornecedor pode 
fazer INSERT ou UPDATE e na outra o que ele não pode ver. Aí faça os 
GRANTs adequados.

[]s

__________________________________
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos & Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: [email protected]
______________________________
FREE SOFTWARE SOLUTIONS
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a