Aby ograniczyć dostęp PostgreSQL do określonych tabel i kolumn, możesz użyć schematu i selektywnych instrukcji GRANT.
Zapoznaj się z poniższymi instrukcjami dotyczącymi ograniczania dostępu do niektórych tabel.
Jeśli jednak musisz ograniczyć dostęp do określonych kolumn, może być konieczne użycie kombinacji schematów i widoków w celu ograniczenia dostępu. Możesz to również zrobić, jeśli Twoja baza danych zawiera ponad 1000 tabel i próbujesz połączyć się z Chartio.
-
Połącz się z bazą danych PostgreSQL za pomocą psql lub pgadmin. Uruchom następujące polecenie, aby zwrócić listę tabel w Twojej bazie danych.
sudo -u postgres psql c nazwa bazy danych;
-
Utwórz schemat specyficzny dla użytkownika Chartio tylko do odczytu, uruchom następujące polecenie:
UTWÓRZ SCHEMAT chartio_read_only; UTWÓRZ ROLĘ chartio_schema_user LOGOWANIE HASŁO „bezpieczne_hasło”; GRANT CONNECT ON BAZY DANYCH nazwa bazy danych TO chartio_schema_user; PRZYZNAJ DO WYKORZYSTANIA SCHEMAT chartio_read_only DO chartio_schema_user;
-
Przyjrzyj się relacjom bazy danych za pomocą polecenia d.
d
Schemat | Imię | Wpisz | Właściciel ———-+————————-+———-+————– public | Konta | tabela | postgres publiczny | Odwiedzający | tabela | postgres publiczny | Użytkownicy | tabela | postgres publiczny | Subskrypcje | tabela | postgres
-
Twoja tabela kont zawiera poufne informacje i chcesz, aby Chartio miał dostęp tylko do kolumn Account_ID i Date__Created ._ Uruchom następujące polecenie, aby dodać widok do schematu chartio_read_only i przyznaj dostęp do tego widoku użytkownikowi chartio_schema_user.
CREATE VIEW chartio_read_only.”Konta” AS SELECT Account_ID, Date_Created FROM Accounts; PRZYZNAJ WYBÓR NA chartio_read_only”.Konta” DO chartio_schema_user;
-
Przyznaj uprawnienia do wybrania wszystkich danych z tabeli Goście.
CREATE VIEW chartio_read_only.”Odwiedzający” JAK WYBRAĆ * OD odwiedzających; PRZYZNAJ WYBÓR NA chartio_read_only”.Odwiedzający” DO chartio_schema_user;
Teraz, jeśli połączysz użytkownika chartio_schema_user ze swoją bazą danych, będzie on miał dostęp tylko do dwóch ograniczonych widoków, które przyznałeś schematowi.
Aby uzyskać więcej informacji, zapoznaj się z dokumentacją PostgreSQL.