PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como limitar o acesso ao banco de dados no PostgreSQL


Às vezes você pode precisar restringir o acesso ao banco de dados no PostgreSQL, por motivos de segurança ou não. Neste artigo, veremos como limitar o acesso ao banco de dados no PostgreSQL.



Como limitar o acesso ao banco de dados no PostgreSQL


Aqui estão as etapas para limitar o acesso ao banco de dados no PostgreSQL. Basicamente, vamos criar uma nova função e conceder a ela permissões de seleção para nossas tabelas de banco de dados. Em seguida, criaremos um usuário de banco de dados e atribuiremos a ele a nova função que criamos. Dessa forma, o usuário do banco de dados terá acesso apenas às tabelas que podem ser acessadas por nossa função recém-criada.



1. Criar função


Faça login no PostgreSQL e execute o seguinte comando para uma nova função. Substitua o nome da função conforme sua necessidade.
postgres-# CREATE ROLE new_role;



2. Limitar permissão


Execute os seguintes comandos para restringir o acesso da função recém-criada ao banco de dados sample_database .
postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;

Além disso, concederemos acesso a todas as tabelas em public esquema. Você pode alterar o nome do esquema conforme sua necessidade.
postgres-# GRANT USAGE ON SCHEMA public TO new_role;
postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;

Se você deseja conceder permissão de seleção para tabelas específicas (por exemplo, sample_table), execute o seguinte comando
postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;

Da mesma forma, se você tiver alguma exibição (por exemplo, sample_view) para a qual deseja fornecer acesso a new_role, execute o comando a seguir.
postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;



3. Criar usuário


Por fim, criamos um usuário do PostgreSQL e atribuímos a função recém-criada a esse usuário. Atualizar novo_usuário e user_password nos comandos abaixo com seu nome de usuário e senha.
postgres-# CREATE USER new_user WITH PASSWORD 'user_password';
postgres-# GRANT new_role TO new_user;

Espero que este artigo o ajude a limitar o acesso de usuários no PostgreSQL. O Ubiq facilita a visualização de dados e o monitoramento em painéis em tempo real. Experimente o Ubiq gratuitamente.