KUMA поддерживает работу с несколькими типами баз данных.
При создании коннектора вам требуется задать значения для общих параметров коннектора и индивидуальных параметров подключения к базе данных.
Для коннектора на вкладке Основные параметры вам требуется задать значения следующих параметров:
Для подключения к базе данных на вкладке Основные параметры вам требуется задать значения следующих параметров в разделе Соединение:
При необходимости вы можете изменить или создать секрет.
При создании подключений могут некорректно обрабатываться строки с учетными данными, содержащими специальные символы. Если при создании подключения возникает ошибка, но вы уверены в том, что значения параметров корректны, укажите специальные символы в процентной кодировке.
Создание сертификата, подписанного центром сертификации
При использовании TLS невозможно указать IP-адрес в качестве URL.
Указывается в секундах. Значение по умолчанию: 10 секунд.
Для коннектора на вкладке Дополнительные параметры вам требуется задать значения следующих параметров:
UTF-8
.KUMA конвертирует ответы SQL в кодировку UTF-8. Вы можете настроить SQL-сервер на отправку ответов в кодировке UTF-8 или выбрать их кодировку на стороне KUMA.
В рамках одного коннектора вы можете создать подключение для нескольких поддерживаемых баз данных.
Если коллектор с коннектором типа sql не удаётся запустить, необходимо проверить, пуст ли state-файл /opt/kaspersky/kuma/collector/<идентификатор коллектора
>/sql/state-<идентификатор файла
>.
Если state-файл пуст, необходимо его удалить и выполнить перезапуск коллектора.
Поддерживаемые типы SQL и особенности их использования
Поддерживаются следующие типы SQL:
Примеры URL:
sqlserver://{user}:{password}@{server:port}/{instance_name}?database={database}
– (рекомендуемый вариант)sqlserver://{user}:{password}@{server}?database={database}
В качестве плейсхолдера в SQL-запросе используются символы @p1
.
Если вам требуется подключиться с доменными учетными данными, укажите имя учетной записи в формате <домен>%5C<пользователь>
. Например: sqlserver://domain%5Cuser:password@ksc.example.com:1433/SQLEXPRESS?database=KAV
.
Пример URL: mysql://{user}:{password}@tcp({server}:{port})/{database}
В качестве плейсхолдера в SQL-запросе используются символ ?
.
Пример URL: postgres://{user}:{password}@{server}/{database}?sslmode=disable
В качестве плейсхолдера в SQL-запросе используются символы $1
.
Пример URL: postgres://{user}:{password}@{server}:{port}/{database}?sslmode=disable
В качестве плейсхолдера в SQL-запросе используются символы $1
.
Пример URL: sqlite3://file:{file_path}
В качестве плейсхолдера в SQL-запросе используется знак вопроса: ?
.
При обращении к SQLite3, если начальное значение идентификатора используется в формате datetime, в SQL-запрос нужно добавить преобразование даты с помощью функции sqlite datetime. Например, select * from connections where datetime(login_time) > datetime(?, 'utc') order by login_time. В этом примере connections
– это таблица SQLite, а значение переменной ?
берется из поля Начальное значение идентификатора, и его следует указывать в формате {date}T{time}Z (например, - 2021-01-01T00:10:00Z).
Начиная с версии 2.1.3 KUMA использует новый драйвер для подключения к oracle. При обновлении KUMA переименует секрет для подключения в oracle-deprecated и коннектор продолжит работу. Если после запуска коллектора с типом драйвера oracle-deprecated не удается получить события, создайте новый секрет с драйвером oracle и используйте его для подключения.
Мы рекомендуем использовать новый драйвер.
Пример URL секрета с новым драйвером oracle:
oracle://{user}:{password}@{server}:{port}/{service_name}
oracle://{user}:{password}@{server}:{port}/?SID={SID_VALUE}
Пример URL секрета с прежним драйвером oracle-deprecated:
oracle-deprecated://{user}/{password}@{server}:{port}/{service_name}
В качестве плейсхолдера в SQL-запросе используется переменная :val
.
При обращении к Oracle DB, если начальное значение идентификатора используется в формате datetime, нужно учитывать тип поля в самой базе данных и при необходимости добавить дополнительные преобразования строки со временем в запросе для обеспечения корректной работы sql коннектора. Например, если в базе создана таблица Connections, в которой есть поле login_time, возможны следующие преобразования:
select * from connections where login_time > to_timestamp(:val, 'YYYY-MM-DD"T"HH24:MI:SS"Z"')
select * from connections_tz where login_time > to_timestamp_tz(:val, 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM')
Подробнее о функциях to_timestamp и to_timestamp_tz см. в официальной документации Oracle.
Для обращения к Oracle DB необходимо установить пакет Astra Linux libaio1.
Пример URL:
firebirdsql://{user}:{password}@{server}:{port}/{database}
В качестве плейсхолдера в SQL-запросе используется знак вопроса: ?
.
Если возникает проблема подключения к firebird на Windows, используйте полный путь до файла с базой данных. Например:
firebirdsql://{user}:{password}@{server}:{port}/C:\Users\user\firebird\db.FDB
Коннектор работает с ClickHouse только по TCP порту 9000 по умолчанию без шифрования TLS и 9440 по умолчанию, если используется режим TLS. Если на сервере с ClickHouse настроен режим шифрования TLS настроен, а в коннекторе выбран режим Выключено, или наоборот, соединение с базой данных не будет установлено.
Если вы хотите подключиться к ClickHouse KUMA, следует в параметрах коннектора SQL указать тип секрета PublicPki, который содержит закрытый ключ PEM, закодированный в base64, и открытый ключ.
В параметрах SQL коннектора для типа соединения ClickHouse требуется указывать Режим TLS: режим Выключено недопустимо указывать, если для аутентификации используется сертификат. Если вы выбираете параметр НестандартныйCA, в поле Столбец идентификатора следует указывать ID секрета типа certificate.
Также требуется указывать Тип Авторизации:
Флажок Секрет отдельно используется, чтобы можно было указать URL отдельно, не в секрете.
В SQL-запросах поддерживается последовательный запрос сведений из базы данных. Например, если в поле Запрос указать запрос select * from <название таблицы с данными> where id > <плейсхолдер>
, то при первом обращении к таблице в качестве значения плейсхолдера будет использоваться значение поля Начальное значение идентификатора. При этом в сервисе, в котором используется SQL-коннектор, сохраняется идентификатор последней прочитанной записи, и во время следующего обращения к базе данных в качестве значения плейсхолдера в запросе будет использоваться идентификатор этой записи.