Om PostgreSQL-toegang tot specifieke tabellen en kolommen te beperken, kunt u schema's en selectieve GRANT-instructies gebruiken.
Raadpleeg de volgende instructies om de toegang tot bepaalde tabellen te beperken.
Als u echter de toegang tot specifieke kolommen moet beperken, moet u mogelijk een combinatie van schema's en weergaven gebruiken om de toegang te beperken. U kunt dit ook doen als uw database meer dan 1000 tabellen heeft en u probeert verbinding te maken met Chartio.
-
Maak verbinding met uw PostgreSQL-database met behulp van psql of pgadmin. Voer het volgende uit om een lijst met tabellen in uw database te retourneren.
sudo -u postgres psql c databasenaam;
-
Maak een schema dat specifiek is voor de alleen-lezen gebruiker van Chartio en voer het volgende uit:
MAAK SCHEMA chartio_read_only; ROL MAKEN chartio_schema_user LOGIN WACHTWOORD ‘secure_password’; SUBSIDIE VERBINDEN OP DATABASE databasenaam NAAR chartio_schema_user; SUBSIDIE GEBRUIK OP SCHEMA chartio_read_only AAN chartio_schema_user;
-
Bekijk de databaserelaties met het commando d.
d
Schema | Naam | Typ | Eigenaar ———-+————————-+———-+————– openbaar | Accounts | tafel | postgres openbaar | Bezoekers | tafel | postgres openbaar | Gebruikers | tafel | postgres openbaar | Abonnementen | tafel | postgres
-
Uw Accounts-tabel bevat gevoelige informatie en u wilt dat Chartio alleen toegang heeft tot de Account_ID en Date__Created kolommen ._ Voer het volgende uit om een weergave toe te voegen aan het chartio_read_only-schema en toegang tot die weergave te verlenen aan de chartio_schema_user.
CREATE VIEW chartio_read_only.”Accounts” AS SELECT Account_ID, Date_Created FROM Accounts; GRANT SELECT ON chartio_read_only.”Accounts” AAN chartio_schema_user;
-
Verleen toestemming om alle gegevens uit de tabel Bezoekers te selecteren.
MAAK VIEW chartio_read_only.”Bezoekers” ALS SELECTEER * VAN Bezoekers; GRANT SELECT ON chartio_read_only.”Bezoekers” AAN chartio_schema_user;
Als u nu de chartio_schema_user met uw database verbindt, heeft deze alleen toegang tot de twee beperkte weergaven die u aan het schema hebt verleend.
Raadpleeg de PostgreSQL-documentatie voor meer informatie.