В этом разделе вы узнаете, как:
Раздел Пользователи и роли состоит из двух вкладок — Пользователи и Групповые роли.
На вкладке Пользователи отображается список учетных записей, с помощью которых можно подключаться к базе данных и выполнять определенные действия. Каждый пользователь имеет:
уникальное имя;
пароль для аутентификации;
назначенные роли, которые определяют права доступа.
Вы можете назначить пользователю предопределенные роли, групповые роли, а также сделать его членом другого пользователя для временного повышения привилегий.
Первый пользователь с именем dbadmin создается при развертывании кластера и отображается на вкладке Пользователи. Этот пользователь является владельцем базы данных, которая также создается при развертывании кластера.
Пользователю dbadmin можно назначать роли и делать его владельцем других баз данных, но нельзя удалить.
Предопределенные роли — системные роли PostgreSQL® с фиксированными правами, которые не могут быть изменены. Доступны следующие предопределенные роли:
pg_read_all_data — чтение данных (таблиц, представлений, последовательностей), как будто у роли есть права SELECT на эти объекты и права USAGE на все схемы, но явно эти права не назначены.
pg_write_all_data — запись всех данных (таблиц, представлений, последовательностей), как будто у роли есть права INSERT, UPDATE и DELETE на эти объекты и права USAGE на все схемы, но явно эти права не назначены.
pg_monitor — доступ к инструментам мониторинга и статистике базы данных.
pg_signal_backend — управление подключениями других пользователей.
Подробнее о предопределенных ролях читайте в официальной документации PostgreSQL®.
Групповые роли — роли для управления доступом групп пользователей. Права для этих ролей назначаются через SQL-запросы после подключения к базе данных.
Вместо того, чтобы назначать одинаковые права каждому пользователю отдельно, вы можете:
Создать групповую роль.
Назначить ей предопределенные или другие групповые роли.
Назначить эту групповую роль нескольким пользователям.
Все пользователи в групповой роли получат одинаковый набор прав.
Если разработчик должен замещать администратора:
Создайте групповую роль с повышенными привилегиями.
Назначьте эту роль разработчику.
После окончания замещения отзовите роль.
Разработчик временно получит повышенные привилегии, а потом вернется к своему обычному набору прав.
Создайте групповые роли и назначьте им предопределенные роли:
analyst — назначьте pg_read_all_data (только чтение).
developer — назначьте pg_read_all_data и pg_write_all_data (чтение и запись).
monitoring_team — назначьте pg_monitor (только мониторинг).
Затем добавляйте новых сотрудников в нужную групповую роль. Все они автоматически получат назначенный набор прав.
При необходимости вы можете создать иерархию ролей, назначив одной групповой роли другую.