Para limitar o acesso do PostgreSQL a tabelas e colunas específicas, você pode usar o esquema e as instruções GRANT seletivas.
Consulte as instruções a seguir sobre como limitar o acesso a determinadas tabelas.
No entanto, se você precisar limitar o acesso a colunas específicas, talvez seja necessário usar uma combinação de esquemas e exibições para restringir o acesso. Você também pode fazer isso se seu banco de dados tiver mais de 1.000 tabelas e você estiver tentando se conectar ao Chartio.
-
Conecte-se ao seu banco de dados PostgreSQL usando psql ou pgadmin. Execute o seguinte para retornar uma lista de tabelas em seu banco de dados.
sudo -u postgres psql c databasename;
-
Crie um esquema específico para o usuário somente leitura do Chartio, execute o seguinte:
CRIAR ESQUEMA chartio_read_only; CREATE ROLE chartio_schema_user LOGIN PASSWORD ‘secure_password’; GRANT CONNECT ON DATABASE databasename TO chartio_schema_user; CONCEDER USO NO SCHEMA chartio_read_only PARA chartio_schema_user;
-
Dê uma olhada nas relações do banco de dados usando o comando d.
d
Esquema | Nome | Tipo | Proprietário ———-+————————-+———-+————– público | Contas | mesa | público postgres | Visitantes | mesa | público postgres | Usuários | mesa | público postgres | Assinaturas | mesa | postgres
-
Sua tabela Contas contém informações confidenciais e você deseja que o Chartio acesse apenas as colunas Account_ID e Data__Created ._ Execute o seguinte para adicionar uma visualização ao esquema chartio_read_only e conceder acesso a essa visualização ao chartio_schema_user.
CREATE VIEW chartio_read_only.”Accounts” AS SELECT Account_ID, Date_Created FROM Accounts; GRANT SELECT ON chartio_read_only.”Contas” TO chartio_schema_user;
-
Conceda permissões para selecionar todos os dados da tabela Visitantes.
CREATE VIEW chartio_read_only.”Visitantes” AS SELECT * FROM Visitantes; GRANT SELECT ON chartio_read_only.”Visitantes” TO chartio_schema_user;
Agora, se você conectar o chartio_schema_user ao seu banco de dados, ele só poderá acessar as duas visualizações limitadas que você concedeu ao esquema.
Para obter mais informações, consulte a documentação do PostgreSQL.