Em 8 de novembro de 2012 09:34, Adriano Espinoza de Oliveira <
[email protected]> escreveu:

> 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.
>
> Estou criando as roles para mudarmos esse esquema de confiança, pois em
> breve teremos um fornecedor de serviços que terá acesso as nossas bases,
> para insert e update em algumas tabelas.
> Até ai não tive problemas, as permissões estão criadas e funcionando no
> ambiente de testes.
>
> 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.
>

* Você só tem a funcionalidade de dar GRANTs por coluna a partir da versão
8.4
* Ao invés de criar um gatilho, a primeira coisa que você deve fazer é
remover a permissão na tabela para o usuário em questão.
* Você pode criar visões com colunas específicas e dar permissão de UPDATE
apenas na visão.
* Você pode criar funções onde de acordo com os parâmetros que ele passe
para a função, ele pode atualizar apenas alguns campos e alguns registros
de uma ou mais tabelas. Aí você tem um controle maior, pois pode colocar
toda uma regra de validação. Não esqueça de dar permissão para o usuário
executar a função e criar a função com permissão do definidor.


> 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?
>
> Agradeço a todos,
>
> Adriano Espinoza
>
>
>
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// <http://www.midstorm.org/~telles/>http://tellesr.wordpress.com
e-mail / gtalk / MSN: [email protected]
Skype: fabio_telles
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a