Назначение ролей PostgreSQL
Сервис Managed Service for PostgreSQL не дает доступа к предопределенным ролям
mdb_superuser— для пользователей, которые не являются владельцами базы данных, но должны управлять привилегиями так же как владельцы.mdb_admin— для пользователей, которые не являются владельцами базы данных, но должны получать административные привилегии.mdb_monitor— для пользователей, которые должны читать различные параметры конфигурации, статистику и другую системную информацию.mdb_replication— для пользователей, которые должны иметь возможность выполнять логическую репликацию.
Примечание
В PostgreSQL роли могут включать в себя другие роли. Пользователь (то есть роль, которая может авторизоваться в базе данных) может быть членом одной или нескольких других ролей и получать их права. Подробнее о членстве в ролях
Чтобы назначить роль пользователю, используйте интерфейсы Yandex Cloud: назначение роли запросом GRANT отменяется при следующей операции с базой.
Примечание
В Managed Service for PostgreSQL не предусмотрено создание пользовательских ролей. Права пользователя определяются совокупностью назначенных ему привилегий.
Роль mdb_superuser
Роль mdb_superuser позволяет управлять привилегиями на объекты в базе данных.
Роль mdb_admin
Роль mdb_admin включает в себя следующие привилегии:
- Использование привилегий предопределенных ролей:
pg_monitorpg_signal_backend
Подробнее о предопределенных ролях см. в документации PostgreSQL.
- Использование подписки для логической репликации (
CREATE | DROP | ALTER SUBSCRIPTION). - Использование расширений:
dblinkpg_repackpostgres_fdwpg_cron
- Использование специфических функций расширений:
pg_stat_kcache_reset()из расширенияpg_stat_kcache;pg_stat_reset(),pg_stat_statements_reset()из расширенияpg_stat_statements.
Роль mdb_monitor
Роль mdb_monitor включает в себя следующие привилегии:
- Чтение и выполнение различных представлений и функций для мониторинга.
- Использование расширений:
pg_stat_statements
- Использование функций для работы с обычными файлами:
pg_ls_logdir()pg_ls_waldir()pg_ls_archive_statusdir()pg_ls_tmpdir ()
Роль mdb_replication
Роль mdb_replication включает в себя следующие привилегии:
- Подключение к кластеру с использованием протокола логической репликации (
replication=database). - Использование функций репликации:
pg_create_logical_replication_slot()pg_drop_replication_slot()