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.