PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Ограничете потребителския достъп на PostgreSQL с помощта на схема и изгледи

За да ограничите достъпа на PostgreSQL до конкретни таблици и колони, можете да използвате схема и селективни изрази GRANT.

Вижте следващите инструкции как да ограничите достъпа до определени таблици.

Въпреки това, ако трябва да ограничите достъпа до конкретни колони, може да се наложи да използвате комбинация от схеми и изгледи, за да ограничите достъпа. Можете също да направите това, ако вашата база данни има над 1000 таблици и се опитвате да се свържете с Chartio.

  1. Свържете се с вашата PostgreSQL база данни с помощта на psql или pgadmin. Изпълнете следното, за да върнете списък с таблици във вашата база данни.

    sudo -u postgres psql c име на база данни;

  2. Създайте схема, специфична за потребителя само за четене на Chartio, изпълнете следното:

    CREATE SCHEMA chartio_read_only; CREATE ROLE chartio_schema_user ПАРОЛА ЗА ВХОД ‘secure_password’; ПРЕДОСТАВЯ ВРЪЗКА ВЪРХУ БАЗА ДАННИ име на база данни НА chartio_schema_user; ПРЕДОСТАВЯТЕ ИЗПОЛЗВАНЕ НА СХЕМА chartio_read_only НА chartio_schema_user;

  3. Разгледайте връзките на базата данни с помощта на командата d.

    г

    Схема | Име          | Въведете  | Собственик ———-+—————————+———-+————— публичен | Сметки      | таблица | postgres public | Посетители      | таблица | postgres public | Потребители         | таблица | postgres public | Абонаменти | таблица | postgres

  4. Вашата таблица с акаунти съдържа чувствителна информация и искате Chartio да има достъп само до колоните Account_ID и Date__Created ._ Изпълнете следното, за да добавите изглед към схемата chartio_read_only и да предоставите достъп до този изглед на chartio_schema_user.

    CREATE VIEW chartio_read_only.”Accounts” КАТО SELECT Account_ID, Date_Created FROM Accounts; GRANT SELECT ON chartio_read_only.”Accounts” НА chartio_schema_user;

  5. Предоставете разрешения за избор на всички данни от таблицата с посетителите.

    CREATE VIEW chartio_read_only.”Visitors” КАТО ИЗБЕРЕТЕ * ОТ Посетители; ПРЕДОСТАВЯ ИЗБОР НА chartio_read_only.”Visitors” НА chartio_schema_user;

Сега, ако свържете chartio_schema_user към вашата база данни, той ще има достъп само до двата ограничени изгледа, които сте предоставили на схемата.

За повече информация вижте документацията на 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. Аргументи на командния ред на PSQL в DO скрипт

  2. Как да чета всички редове от огромна таблица?

  3. Експортиране на AWS Postgres RDS таблица към AWS S3

  4. Присъединете четири таблици, включващи LEFT JOIN без дубликати

  5. Кога се избира за заключване и отключване на актуализиране?