Skip to main content
Version: Privileged Access Manager 3.0

Работа с PostgreSQL Proxy

Начиная с Indeed PAM 3.0 стало возможно открывать SQL-сессии через PostgreSQL Proxy. Это позволяет просматривать текстовый лог SQL-сессий, благодаря чему обеспечивается более полный контроль над сессиями и упрощается расследование инцидентов.

Настройка клиента СУБД

Часто у клиентов СУБД есть особенность работы: после подключения к серверу БД для выполнения SQL-запросов открывается отдельная сессия. В этом случае в PAM так же создается несколько сессий, что может доставлять неудобства при просмотре текстовых логов.

Чтобы SQL-запросы выполнялись в той же сессии, что и подключение к серверу БД, нужно настроить клиент СУБД. Ниже приведена информация, как это сделать на примере клиента DBeaver.

  1. Откройте DBeaver.
  2. В левой части экрана, в окне Базы данных (Database Navigator) найдите в списке доступных подключений нужный сервер, нажмите на него левой кнопкой мыши и нажмите на клавиатуре F4.
  3. В открывшемся окне перейдите на вкладку Метаданные (Metadata), поставьте флаг Настройки базы <имя сервера> (Datasource <servername> settings).
  4. Для параметра Открывать отдельное соединение для чтения метаданных (Open separate connection for metadata read) укажите опцию Never из выпадающего списка.
  5. Перейдите на вкладку Редактор SQL (SQL Editor).
  6. Для параметра Открывать отдельное соединение для каждого редактора (Open separate connection for each editor) укажите опцию Never из выпадающего списка.
  7. Сохраните изменения нажатием кнопки OK.
  8. Повторите все перечисленные действия для всех ваших серверов БД.

Указание адреса PostgreSQL Proxy в PAM

  1. Перейдите в раздел КонфигурацияСистемные настройки.
  2. В секции PostgreSQL Proxy заполните поле Адрес PostgreSQL Proxy.

Открытие сессии через PostgreSQL Proxy

Описано в руководстве пользователя, в пункте Подключение к ресурсу через PostgreSQL Proxy.

Просмотр текстовых логов SQL-сессии

Чтобы просмотреть текстовые логи сессии, открытой через PostgreSQL Proxy:

  1. Откройте раздел Активные сесии.
  2. Выберите нужную сессию.
  3. Нажмите Текстовый лог.
Информация

Учитывайте, что разные SQL-клиенты могут по-разному сохранять текст SQL-запросов. Например, psql вырезает комментарии из SQL-запросов, а pgAdmin оставляет.

Текстовый лог, отображаемый в профиле сессии, не обновляется автоматически. Для получения актуального текстового лога, требуется периодически нажимать Обновить.

В текстовом логе не сохраняются результаты запросов.

В текстовый лог попадают только исходящие SQL-запросы (клиент → сервер). Исходящие запросы (сервер → клиент) не попадают.

Ограничения

  • Двухфакторная аутентификация поддерживается только для инсталляций с аутентификацией через RADIUS, где вторым фактором является подтверждение запроса в приложении. Для инсталляций с аутентификацией через PAM параметр Использовать двухфакторную аутентификацию будет игнорироваться, то есть второй фактор запрашиваться не будет, подключение откроется без него.
  • Подтверждение администратором открытия сессии не поддерживается. Отключите параметр Открытие сессии требует подтверждения администратора PAM в разделе ПолитикиСессии, иначе открыть SQL-сессию будет невозможно.
  • Указание причины открытия сессии поддерживается частично. Если включен параметр Требовать указать причину подключения в политике сессии, то пользователям потребуется вводить причину в то же поле, где имя учетной записи. Подробная информация в пункте Подключение к ресурсу через PostgreSQL Proxy.