2014-06-06 11:26 GMT-03:00 Emerson Martins <[email protected]>:

> Recentemente eu criei um usuário que terá acesso a um banco de dados
> apenas. Os demais deverá ser negado seu acesso.


Você pode controlar o acesso à banco de dados basicamente de duas formas.

A primeira, é controlando via permissões, nesse caso você deve negar a
permissão de conexão global e permitir apenas àqueles que necessitam de
fato:

    REVOKE CONNECT ON DATABASE x, y, z FROM PUBLIC;
    GRANT CONNECT ON DATABASE x TO user_x;
    GRANT CONNECT ON DATABASE y TO user_y;
    ...

Outra forma é via pg_hba.conf. Nesse caso você pode usar um reject nas
bases que o cara não pode usar ou então só associar regras definindo
explicitamente o usuário que pode conectar.

Em ambos os cados, a dica de ouro é usar grupos. No primeiro, basta passar
as permissões ao grupo que todos seus usuário a herdaram. Na segunda
(pg_hba.conf) basta usar, ao invés do nome do usuário, o nome do grupo
precedido de um símbolo "+". Por exemplo, para permitir conexão de toda
rede 192.168.1.0/24 no banco "foo" e apenas para usuários membros do grupo
"bar", via senha criptografada:

    host    foo    +bar    192.168.1.0/24    md5

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a