Chcete-li omezit přístup PostgreSQL ke konkrétním tabulkám a sloupcům, můžete použít schéma a selektivní příkazy GRANT.
Podívejte se na následující pokyny, jak omezit přístup k určitým tabulkám.
Pokud však potřebujete omezit přístup ke konkrétním sloupcům, možná budete muset k omezení přístupu použít kombinaci schémat a zobrazení. Můžete to také udělat, pokud má vaše databáze více než 1000 tabulek a pokoušíte se připojit k Chartio.
-
Připojte se k databázi PostgreSQL pomocí psql nebo pgadmin. Spuštěním následujícího vrátíte seznam tabulek ve vaší databázi.
sudo -u postgres psql c název databáze;
-
Vytvořte schéma specifické pro uživatele Chartio pouze pro čtení a spusťte následující:
CREATE SCHEMA chartio_read_only; CREATE ROLE chartio_schema_user PŘIHLAŠOVACÍ HESLO ‘zabezpečené_heslo’; GRANT CONNECT ON DATABASE název databáze TO chartio_schema_user; GRANT POUŽÍVÁNÍ NA SCHÉMACH chartio_read_only TO chartio_schema_user;
-
Podívejte se na databázové vztahy pomocí příkazu d.
d
Schéma | Jméno | Zadejte | Majitel ———-+————————-+———-+————– veřejnost | Účty | stůl | postgres veřejnost | Návštěvníci | stůl | postgres veřejnost | Uživatelé | stůl | postgres veřejnost | Předplatné | stůl | postgres
-
Vaše tabulka Účty obsahuje citlivé informace a chcete, aby Chartio mělo přístup pouze ke sloupcům Account_ID a Date__Created ._ Spusťte následující, chcete-li přidat pohled do schématu chartio_read_only a udělit přístup k tomuto zobrazení uživateli chartio_schema_user.
CREATE VIEW chartio_read_only.”Accounts” AS SELECT Account_ID, Date_Created FROM Accounts; GRANT SELECT ON chartio_read_only.”Accounts” TO chartio_schema_user;
-
Udělte oprávnění k výběru všech dat z tabulky Návštěvníci.
CREATE VIEW chartio_read_only.”Visitors” AS SELECT * FROM Visitors; GRANT SELECT ON chartio_read_only.”Visitors” TO chartio_schema_user;
Pokud nyní připojíte chartio_schema_user ke své databázi, bude mít přístup pouze ke dvěma omezeným pohledům, které jste schématu udělili.
Další informace naleznete v dokumentaci PostgreSQL.