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

Ogranicz dostęp użytkowników PostgreSQL za pomocą schematu i widoków

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.

  1. 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;

  2. 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;

  3. 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

  4. 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;

  5. 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak klastrować Odoo 12 za pomocą replikacji strumieniowej PostgreSQL w celu zapewnienia wysokiej dostępności?

  2. O użyteczności wskaźników wyrażeń

  3. Skopiuj strukturę tabeli do nowej tabeli

  4. Standaryzacja bezpieczeństwa PostgreSQL w środowiskach wielochmurowych

  5. Czy w Postgresie możesz ustawić domyślne formatowanie znacznika czasu, według sesji czy globalnie?