Скрипт предназначен для:
- Экспорта учетных записей из локальной SQLite-базы Kaspersky Unified Monitoring and Analysis Platform (KUMA)\
- Формирования CSV-файла\
- Автоматической загрузки этого CSV в словарь KUMA через REST API
- Подключение к базе KUMA в режиме read-only
- Фильтрация пустых и некорректных записей
- Экспорт уникальных значений
- Загрузка данных в словарь KUMA
- Автоматическое удаление CSV после успешной отправки
- Логирование всех этапов работы
Из таблицы accounts выбираются поля:
Поле в БД Поле в CSV
object_sid SID display_name userName domain domainName
Фильтруются записи:
- пустые SID
- пустые имена пользователей
- пустые домены
Результат сохраняется в файл:
kuma_export.csv
CSV отправляется через API:
POST /api/v3/dictionaries/update
С авторизацией по Bearer Token.
После успешной загрузки файл автоматически удаляется.
- Python 3.7+
- Доступ к серверу KUMA
- Локальный доступ к SQLite базе KUMA
Установите зависимости:
pip install requests
(модули sqlite3, csv, os, logging входят в стандартную
библиотеку Python)
DB_PATH = "/opt/kaspersky/kuma/core/.../raft/sm/db"
URL = "https://KUMA_IP:7223/api/v3/dictionaries/update"
Пример:
URL = "https://10.10.10.5:7223/api/v3/dictionaries/update"
DICTIONARY_ID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
TOKEN = "YOUR_API_TOKEN"
python3 sqlite_to_table.py
Не храните API токен в публичных репозиториях.
Рекомендуется использовать переменные окружения или .env файлы.
Протестировано:
- Kaspersky KUMA API Version 3
- Python 3.8+