AdTech AI PostgreSQL О компании
PostgreSQL · Безопасность 14 февраля, 2025 Сергей Томулевич

PostgreSQL ACL Server

Уровни доступа к серверу PostgreSQL: подходы по netmask, DNS, через коннектор pgbouncer. Конфигурация ролей и упрощение pg_hba.conf.

Уровни доступа к базам данных PostgreSQL — постоянный предмет спора между администраторами и разработчиками по поводу привилегий суперпользователя. Разберёмся с типовой схемой доступа.

Доступ к серверу PostgreSQL

Выделим три категории пользователей, требующих доступа к серверу:

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

Сетевые подходы

Netmask: серверы разделены по сегментам приватной сети (например, 10.1.0.0/16 для приложений, 10.2.0.0/16 для реплик).

DNS: использование записей в /etc/hosts с доменными именами для идентификации серверов.

С коннектором: применение pgbouncer для маршрутизации подключений на разные порты (например, 6432 для приложений, 5432 для реплик).

Конфигурация ролей

Создание групповой роли projects:

CREATE ROLE projects
    NOINHERIT
    NOREPLICATION
    LOGIN
    PASSWORD 'any password';

Пользователи приложений назначаются в эту роль при создании.

Резюме

Предложенный подход обеспечивает универсальную конфигурацию для типовых случаев без необходимости частых изменений файла pg_hba.conf.

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

to@prototypes.ventures