Работа с PostgreSQL и MSSQL Proxy
Компоненты MSSQL Proxy и PostgreSQL Proxy позволяют открывать SQL-сессии через консольные и графические клиенты. Поддерживается текстовое логирование SQL-сессии, благодаря чему упрощается расследование инцидентов.
Для подключения к ресурсам MSSQL и PostgreSQL требуется отдельная лицензия.
Настроить клиент СУБД
При подключении к серверу и работе с ним через SQL-клиент может создаваться несколько сессий. В этом случае в PAM тоже создается несколько сессий, что доставляет неудобства при просмотре логов.
Чтобы в рамках одного подключения к серверу была одна сессия, необходимо настроить SQL-клиент. Настройка на примере клиента DBeaver:
- Установите клиент DBeaver. По умолчанию установлен английский язык.
- В левой части экрана в окне Database Navigator найдите в списке доступных подключений нужный сервер.
Нажмите на него левой кнопкой мыши и в контекстном меню выберите Edit Connection. - В открывшемся окне перейдите на вкладку Metadata и включите опцию Datasource <servername> settings.
- Для параметра Open separate connection for metadata read выберите Never из выпадающего списка.
- Перейдите на вкладку SQL Editor и включите опцию Datasource <servername> settings.
- Для параметра Open separate connection for each editor выберите опцию Never из выпадающего списка.
- Нажмите OK.
- Повторите перечисленные действия для всех серверов БД.
Настроить SSL-шифрование
Для корректной работы необходимо настроить SSL как для прокси, так и на сервере.
- PostgreSQL Proxy
- MSSQL Proxy
Чтобы настроить работу PostgreSQL Proxy через SSL, включите использование SSL в PostgreSQL Proxy и на сервере PostgreSQL Server. Для этого:
- Откройте файл конфигурации PostgreSQL Proxy по пути /etc/indeed/indeed-pam/sql-proxy/appsettings.json.
- Для параметра
SslIsRequiredустановите значениеtrueи сохраните изменения. - Откройте файл конфигурации PostgreSQL Server postgresql.conf.
- Для параметра
sslустановите значениеon. - Для параметра
ssl_cert_file =укажите путь до SSL-сертификата. - Сохраните изменения.
Чтобы настроить работу MSSQL Proxy через SSL, включите использование SSL в MSSQL Proxy и на сервере Microsoft SQL Server. Для этого:
- Откройте файл конфигурации MSSQL Proxy по пути /etc/indeed/indeed-pam/tsql-proxy/appsettings.json.
- Для параметра
SslIsRequiredустановите значениеtrueи сохраните изменения. - Откройте клиент SQL Server Configuration Manager.
- Раскройте вкладку SQL Server Network Configuration и выберите протокол для вашего экземпляра SQL Server.
- Для параметра Force Encryption установите значение Yes.
- Перейдите на вкладку Certificate и загрузите SSL-сертификат.
- Нажмите Apply и ОК.
Возможно взаимодействие без SSL?
Да, для этого отключите использование SSL в прокси и на сервере.
Указать адреса MSSQL и PostgreSQL Proxy
- Перейдите в раздел Конфигурация → Системные настройки.
- Заполните поле Адрес PostgreSQL Proxy или Адрес MSSQL Proxy.
Открыть SQL-сессию
Чтобы открыть SQL-сессию, перейдите в консоль пользователя и подключитесь к ресурсу через MSSQL Proxy или PostgreSQL Proxy.
Просмотреть логи SQL-сессии
SQL-клиенты могут по-разному сохранять текст SQL-запросов. Например, psql вырезает комментарии из SQL-запросов, а pgAdmin оставляет.
В текстовый лог попадают только исходящие SQL-запросы (клиент → сервер), и не сохраняются их результаты.
Чтобы просмотреть текстовые логи сессии, открытой через MSSQL Proxy или PostgreSQL Proxy:
- Откройте консоль администратора и перейдите в раздел Активные сессии.
- Выберите нужную сессию.
- Нажмите Текстовый лог.
Чтобы получить актуальный текстовый лог, нажмите Обновить.
Если при работе возникают проблемы или ошибки, соберите логи PostgreSQL Proxy или MSSQL Proxy и обратитесь в техническую поддержку.
Ограничения
- Пользователь может открывать сессии через MSSQL Proxy и PostgreSQL Proxy только от имени учетной записи, добавленной в PAM с паролем. Подключение не будет установлено, если в разрешении выбрана:
- учетная запись, добавленная в PAM без пароля;
- пользовательская учетная запись, для которой запрашиваются учетные данные при открытии сессии.
- Двухфакторная аутентификация поддерживается только для инсталляций с аутентификацией через RADIUS, где вторым фактором является подтверждение запроса в приложении.
- Для инсталляций с аутентификацией через PAM параметр Использовать двухфакторную аутентификацию игнорируется, то есть при подключении второй фактор не запрашивается.
- Пользователю не нужно подтверждение от администратора, чтобы открыть сессию. Отключите параметр Открытие сессии требует подтверждения администратора PAM в политике сессии, иначе открыть SQL-сессию невозможно.
- При открытии сессии пользователям требуется ввести причину подключения, если в политике сессий включена опция Требовать указать причину подключения.