PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak ograniczyć dostęp do bazy danych w PostgreSQL

Czasami może być konieczne ograniczenie dostępu do bazy danych w PostgreSQL, ze względów bezpieczeństwa lub w inny sposób. W tym artykule przyjrzymy się, jak ograniczyć dostęp do bazy danych w PostgreSQL.


Jak ograniczyć dostęp do bazy danych w PostgreSQL

Oto kroki, aby ograniczyć dostęp do bazy danych w PostgreSQL. Zasadniczo utworzymy nową rolę i przyznamy jej uprawnienia wyboru do naszych tabel bazy danych. Następnie utworzymy użytkownika bazy danych i przypiszemy mu nową rolę, którą stworzyliśmy. W ten sposób użytkownik bazy danych będzie miał dostęp tylko do tych tabel, do których ma dostęp nasza nowo utworzona rola.


1. Utwórz rolę

Zaloguj się do PostgreSQL i uruchom następującą komendę do nowej roli. Zastąp nazwę roli zgodnie z wymaganiami.

postgres-# CREATE ROLE new_role;


2. Limit uprawnień

Uruchom następujące polecenia, aby ograniczyć dostęp nowo utworzonej roli do bazy danych sample_database .

postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;

Ponadto udzielimy dostępu do wszystkich tabel publicznych schemat. Możesz zmienić nazwę schematu zgodnie z wymaganiami.

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

Jeśli chcesz przyznać uprawnienia wyboru dla określonych tabel (np. sample_table), uruchom następujące polecenie

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

Podobnie, jeśli masz dowolny widok (np. sample_view), dla którego chcesz zapewnić dostęp do new_role, uruchom następujące polecenie.

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


3. Utwórz użytkownika

Na koniec tworzymy użytkownika PostgreSQL i przypisujemy mu nowo utworzoną rolę. Zaktualizuj nowy_użytkownik i user_password w poniższych poleceniach, podając swoją nazwę użytkownika i hasło.

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

Mamy nadzieję, że ten artykuł pomoże Ci ograniczyć dostęp użytkowników w PostgreSQL. Ubiq ułatwia wizualizację danych i monitorowanie ich w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj Ubiq za darmo.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Blok anonimowego kodu PL/pgSQL

  2. Ukryte funkcje PostgreSQL

  3. Spring + Hibernate:Wykorzystanie pamięci podręcznej planu zapytań

  4. Nie znaleziono obrazu Psycopg2

  5. Jak zaktualizować PostgreSQL 11 do PostgreSQL 12 bez przestojów?