Облачная платформаEvolution

Пользователи и роли


В этом разделе вы узнаете, как:

Раздел Пользователи и роли состоит из двух вкладок — Пользователи и Групповые роли.

Пользователи

На вкладке Пользователи отображается список учетных записей, с помощью которых можно подключаться к базе данных и выполнять определенные действия. Каждый пользователь имеет:

  • уникальное имя;

  • пароль для аутентификации;

  • назначенные роли, которые определяют права доступа.

Вы можете назначить пользователю предопределенные роли, групповые роли, а также сделать его членом другого пользователя для временного повышения привилегий.

Первый пользователь с именем dbadmin создается при развертывании кластера и отображается на вкладке Пользователи. Этот пользователь является владельцем базы данных, которая также создается при развертывании кластера.

Пользователю dbadmin можно назначать роли и делать его владельцем других баз данных, но нельзя удалить.

Предопределенные роли

Предопределенные роли — системные роли PostgreSQL® с фиксированными правами, которые не могут быть изменены. Доступны следующие предопределенные роли:

  • pg_read_all_data — чтение данных (таблиц, представлений, последовательностей), как будто у роли есть права SELECT на эти объекты и права USAGE на все схемы, но явно эти права не назначены.

  • pg_write_all_data — запись всех данных (таблиц, представлений, последовательностей), как будто у роли есть права INSERT, UPDATE и DELETE на эти объекты и права USAGE на все схемы, но явно эти права не назначены.

  • pg_monitor — доступ к инструментам мониторинга и статистике базы данных.

  • pg_signal_backend — управление подключениями других пользователей.

Подробнее о предопределенных ролях читайте в официальной документации PostgreSQL®.

Групповые роли

Групповые роли — роли для управления доступом групп пользователей. Права для этих ролей назначаются через SQL-запросы после подключения к базе данных.

Вместо того, чтобы назначать одинаковые права каждому пользователю отдельно, вы можете:

  1. Создать групповую роль.

  2. Назначить ей предопределенные или другие групповые роли.

  3. Назначить эту групповую роль нескольким пользователям.

Все пользователи в групповой роли получат одинаковый набор прав.

Примеры использования

Пример 1. Временное повышение привилегий

Если разработчик должен замещать администратора:

  1. Создайте групповую роль с повышенными привилегиями.

  2. Назначьте эту роль разработчику.

  3. После окончания замещения отзовите роль.

Разработчик временно получит повышенные привилегии, а потом вернется к своему обычному набору прав.

Пример 2. Управление доступом для групп сотрудников

Создайте групповые роли и назначьте им предопределенные роли:

  • analyst — назначьте pg_read_all_data (только чтение).

  • developer — назначьте pg_read_all_data и pg_write_all_data (чтение и запись).

  • monitoring_team — назначьте pg_monitor (только мониторинг).

Затем добавляйте новых сотрудников в нужную групповую роль. Все они автоматически получат назначенный набор прав.

При необходимости вы можете создать иерархию ролей, назначив одной групповой роли другую.