PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela?

Como fornecer acesso de leitura a algumas colunas de uma tabela e impedir o acesso as demais colunas para um certo usuário?

Para exemplificar esse cenário, vou usar a base de dados Chinook e a ferramenta DBeaver para administrar a base de dados.

Prim…


This content originally appeared on DEV Community and was authored by Mariana Ferreira

Como fornecer acesso de leitura a algumas colunas de uma tabela e impedir o acesso as demais colunas para um certo usuário?

Para exemplificar esse cenário, vou usar a base de dados Chinook e a ferramenta DBeaver para administrar a base de dados.

Primeiro, crie um usuário:

CREATE USER mariana WITH PASSWORD 'sua_senha';

Depois, crie uma view com apenas as colunas da tabela que você deseja permitir o acesso. Nesse caso, estou criando com as colunas "EmployeeId", "LastName", "FirstName", "Title", "Email" da tabela "Employee":

CREATE VIEW employee_base_info AS SELECT "EmployeeId", "LastName", "FirstName", "Title", "Email" FROM "Employee";

A view é como uma tabela virtual, não é uma tabela que está de fato no banco e quando é referenciada essa query é executada.

Depois, dê permissão de leitura na view para o usuário:

GRANT SELECT ON employee_base_info TO mariana;

Então, ao conectar no banco utilizando esse usuário, temos permissão de realizar uma consulta na view:
Print da tela do Dbeaver com a query:  raw `select * from employee_base_info` endraw  e abaixo as informações da tabela

Mas não temos permissão de consultar a tabela inteira:
Print da tela do Dbeaver com a query:  raw `select * from "Employee" e abaixo o erro 'permission denied for table Employee` endraw

Tampouco permissão de update:
Print da tela do Dbeaver com a query:  raw `update "Employee" set "LastName" = 'Silva' where "EmployeeId" = 1` endraw  e abaixo o erro 'permission denied for table Employee`

Com isso garantimos maior segurança para nosso banco de dados.

Obrigada por ler!
Se quiser saber mais, veja também a documentação do PostgreSQL.


This content originally appeared on DEV Community and was authored by Mariana Ferreira


Print Share Comment Cite Upload Translate Updates
APA

Mariana Ferreira | Sciencx (2021-05-22T19:55:02+00:00) PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela?. Retrieved from https://www.scien.cx/2021/05/22/postgresql-como-permitir-acesso-de-leitura-a-apenas-algumas-colunas-de-uma-tabela/

MLA
" » PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela?." Mariana Ferreira | Sciencx - Saturday May 22, 2021, https://www.scien.cx/2021/05/22/postgresql-como-permitir-acesso-de-leitura-a-apenas-algumas-colunas-de-uma-tabela/
HARVARD
Mariana Ferreira | Sciencx Saturday May 22, 2021 » PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela?., viewed ,<https://www.scien.cx/2021/05/22/postgresql-como-permitir-acesso-de-leitura-a-apenas-algumas-colunas-de-uma-tabela/>
VANCOUVER
Mariana Ferreira | Sciencx - » PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela?. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/05/22/postgresql-como-permitir-acesso-de-leitura-a-apenas-algumas-colunas-de-uma-tabela/
CHICAGO
" » PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela?." Mariana Ferreira | Sciencx - Accessed . https://www.scien.cx/2021/05/22/postgresql-como-permitir-acesso-de-leitura-a-apenas-algumas-colunas-de-uma-tabela/
IEEE
" » PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela?." Mariana Ferreira | Sciencx [Online]. Available: https://www.scien.cx/2021/05/22/postgresql-como-permitir-acesso-de-leitura-a-apenas-algumas-colunas-de-uma-tabela/. [Accessed: ]
rf:citation
» PostgreSQL: como permitir acesso de leitura a apenas algumas colunas de uma tabela? | Mariana Ferreira | Sciencx | https://www.scien.cx/2021/05/22/postgresql-como-permitir-acesso-de-leitura-a-apenas-algumas-colunas-de-uma-tabela/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.