Работа с PostgreSQL Proxy
Начиная с Indeed PAM 3.0 стало возможно открывать SQL-сессии через PostgreSQL Proxy. Это позволяет просматривать текстовый лог SQL-сессий, благодаря чему обеспечивается более полный контроль над сессиями и упрощается расследование инцидентов.
Настройка клиента СУБД
Часто у клиентов СУБД есть особенность работы: после подключения к серверу БД для выполнения SQL-запросов открывается отдельная сессия. В этом случае в PAM так же создается несколько сессий, что может доставлять неудобства при просмотре текстовых логов.
Чтобы SQL-запросы выполнялись в той же сессии, что и подключение к серверу БД, нужно настроить клиент СУБД. Ниже приведена информация, как это сделать на примере клиента DBeaver.
- Откройте DBeaver.
- В левой части экрана, в окне Базы данных (Database Navigator) найдите в списке доступных подключений нужный сервер, нажмите на него левой кнопкой мыши и нажмите на клавиатуре F4.
- В открывшемся окне перейдите на вкладку Метаданные (Metadata), поставьте флаг Настройки базы <имя сервера> (Datasource <servername> settings).
- Для параметра Открывать отдельное соединение для чтения метаданных (Open separate connection for metadata read) укажите опцию Never из выпадающего списка.
- Перейдите на вкладку Редактор SQL (SQL Editor).
- Для параметра Открывать отдельное соединение для каждого редактора (Open separate connection for each editor) укажите опцию Never из выпадающего списка.
- Сохраните изменения нажатием кнопки OK.
- Повторите все перечисленные действия для всех ваших серверов БД.
Взаимодействие через SSL
PostgreSQL Proxy может работать с PostgreSQL Server через SSL. Для этого должно быть выполнено два условия:
- использование SSL включено в PostgreSQL Proxy;
- использование SSL включено в PostgreSQL Server.
Чтобы проверить, включено ли использование SSL в PostgreSQL Proxy:
- Откройте файл конфигурации PostgreSQL Proxy appsettings.json.
- Если для параметра
SslIsRequired
установлено значениеtrue
, то использование SSL включено. По умолчанию включено.
Чтобы проверить, включено ли использование SSL в PostgreSQL Server:
- Откройте файл конфигурации PostgreSQL Server postgresql.conf.
- Если для параметра
ssl
установлено значениеon
, а также имеются необходимые сертификаты, то использование SSL включено. По умолчанию отключено.
Если для одного из указанных компонентов использование SSL включено, а для другого отключено, то соединение установлено не будет, произойдет ошибка подключения.
Возможно взаимодействие без SSL?
Да, взаимодействие между PostgreSQL Proxy и PostgreSQL Server может происходить и без использования SSL. Для этого требуется, чтобы в PostgreSQL Proxy и в PostgreSQL Server использование SSL было отключено.
Указание адреса PostgreSQL Proxy в PAM
- Откройте консоль управления Indeed PAM.
- Перейдите в раздел Конфигурация → Системные настройки.
- В секции PostgreSQL Proxy заполните поле Адрес PostgreSQL Proxy.
Открытие сессии через PostgreSQL Proxy
Описано в руководстве пользователя, в пункте Подключение к ресурсу через PostgreSQL Proxy.
Просмотр текстовых логов SQL-сессии
Чтобы просмотреть текстовые логи сессии, открытой через PostgreSQL Proxy:
- Откройте консоль управления Indeed PAM.
- Откройте раздел Активные сессии.
- Выберите нужную сессию.
- Нажмите Текстовый лог.
Учитывайте, что разные SQL-клиенты могут по-разному сохранять текст SQL-запросов. Например, psql вырезает комментарии из SQL-запросов, а pgAdmin оставляет.
Текстовый лог, отображаемый в профиле сессии, не обновляется автоматически. Для получения актуального текстового лога, требуется периодически нажимать Обновить.
В текстовом логе не сохраняются результаты запросов.
В текстовый лог попадают только исходящие SQL-запросы (клиент → сервер). Исходящие запросы (сервер → клиент) не попадают.
Ограничения
- Двухфакторная аутентификация поддерживается только для инсталляций с аутентификацией через RADIUS, где вторым фактором является подтверждение запроса в приложении. Для инсталляций с аутентификацией через PAM параметр Использовать двухфакторную аутентификацию будет игнорироваться, то есть второй фактор запрашиваться не будет, подключение откроется без него.
- Подтверждение администратором открытия сессии не поддерживается. Отключите параметр Открытие сессии требует подтверждения администратора PAM в разделе Политики → Сессии, иначе открыть SQL-сессию будет невозможно.
- Указание причины открытия сессии поддерживается частично. Если включен параметр Требовать указать причину подключения в политике сессии, то пользователям потребуется вводить причину в то же поле, где имя учетной записи. Подробная информация в пункте Подключение к ресурсу через PostgreSQL Proxy.