PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да ограничим достъпа до база данни в PostgreSQL

Понякога може да се наложи да ограничите достъпа до база данни в PostgreSQL от съображения за сигурност или по друг начин. В тази статия ще разгледаме как да ограничим достъпа до база данни в PostgreSQL.


Как да ограничим достъпа до база данни в PostgreSQL

Ето стъпките за ограничаване на достъпа до база данни в PostgreSQL. По принцип ще създадем нова роля и ще й предоставим разрешения за избор на таблиците на нашата база данни. След това ще създадем потребител на база данни и ще му присвоим новата роля, която сме създали. По този начин потребителят на базата данни ще има достъп само до онези таблици, които могат да бъдат достъпни от нашата новосъздадена роля.


1. Създаване на роля

Влезте в PostgreSQL и изпълнете следната команда към нова роля. Заменете името на ролята според вашето изискване.

postgres-# CREATE ROLE new_role;


2. Ограничете разрешение

Изпълнете следните команди, за да ограничите достъпа на новосъздадена роля до база данни sample_database .

postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;

Освен това ще предоставим достъп до всички таблици в публични схема. Можете да промените името на схемата според вашите изисквания.

postgres-# GRANT USAGE ON SCHEMA public TO new_role;
postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;

Ако искате да предоставите разрешение за избор за конкретни таблици (напр. sample_table), изпълнете следната команда

postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;

По същия начин, ако имате някакъв изглед (напр. sample_view), за който искате да предоставите достъп до new_role, изпълнете следната команда.

postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;


3. Създаване на потребител

Накрая създаваме потребител на PostgreSQL и присвояваме новосъздадената роля на този потребител. Актуализирайте new_user и потребителска_парола в командите по-долу с вашето потребителско име и парола.

postgres-# CREATE USER new_user WITH PASSWORD 'user_password';
postgres-# GRANT new_role TO new_user;

Надяваме се, че тази статия ще ви помогне да ограничите потребителския достъп в PostgreSQL. Ubiq улеснява визуализирането на данни и наблюдението им в табла за управление в реално време. Опитайте Ubiq безплатно.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 начина за изброяване на всички функции в PostgreSQL

  2. PostgreSQL е най-добрата база данни в света

  3. Как да извлечем коментара на PostgreSQL база данни?

  4. Надстройка до PostgreSQL 11 с логическа репликация

  5. PostgreSQL заместващ знак LIKE за която и да е от списък с думи