Skip to main content

SDK для работы с API Kuma

Project description

KUMA API Python Client

Описание

KUMA API Python Client — это библиотека для взаимодействия с SIEM KUMA, предоставляющая удобный интерфейс как для публичного REST API, так и для приватных API-методов, используемых в веб-интерфейсе системы.

Особенности:

  • Поддержка как стабильного публичного API (документированного), так и приватных методов
  • Унифицированный интерфейс для работы со всеми сущностями KUMA (алерты, события, тенанты и др.)
  • Автоматическая обработка ответов (JSON, текст, бинарные данные)
  • Поддержка аутентификации через Bearer Token

Установка

pip install kuma-api

Инициализация клиента

Для работы с публичным REST API

import kuma_api

# Инициализация клиента с публичным API
client = kuma_api.rest(
    base_url="https://kuma.example.com",
    token="YOUR_BEARER_TOKEN",
    verify='core.cert'  # Путь к SSL-сертификату (рекомендуется для продакшена)
)

Для работы с приватным API (только для внутреннего использования)

# Инициализация клиента с приватным API
client = kuma_api.private(
    url="https://kuma.example.com",
    login="USER",
    password="PASSWORD"
)

Важно: Приватный API может изменяться между версиями KUMA и поддерживает подключение только с одного разрешенного хоста.

Примеры использования REST

Работа с алертами

Поиск

# Поиск алертов по фильтру
status, alerts = client.alerts.search(
    status="new",
    from="2023-01-01T00:00:00Z",
    to="2023-01-31T23:59:59Z",
    tenantID="tenant-123"
)
if status == 200:
    for alert in alerts:
        print(f"Found alert: {alert['id']}")

# Поиск с пагинацией (автоматическая загрузка всех страниц)
status, all_alerts = client.alerts.searchp(limit=500, status="assigned")
if status == 200:
    print(f"Total alerts found: {len(all_alerts)}")

Управление алертами

# Назначение алерта на пользователя
assign_status, _ = client.alerts.assign(
    alerts_ids=["123e4567-e89b-12d3-a456-426614174000"],
    user_id="user-123"
)
if assign_status == 200:
    print("Alert assigned successfully")

# Закрытие алерта с указанием причины
close_status, _ = client.alerts.close(
    alert_id="123e4567-e89b-12d3-a456-426614174000",
    reason="responded"
)
if close_status == 200:
    print("Alert closed")

# Добавление комментария к алерту
comment_status, _ = client.alerts.comment(
    alert_id="123e4567-e89b-12d3-a456-426614174000",
    comment="False positive, ignoring"
)
if comment_status == 200:
    print("Comment added")

Работа с связанными событиями

# Связывание события с алертом
link_status, _ = client.alerts.link_event(
    alert_id="alert-123",
    cluster_id="cluster-456",
    event_id="event-789",
    event_timestamp=1672531200,
    comment="Related event found"
)
if link_status == 200:
    print("Event linked")

# Отвязывание события от алерта
unlink_status, _ = client.alerts.unlink_event(
    alert_id="alert-123",
    event_id="event-789"
)
if unlink_status == 200:
    print("Event unlinked")

Обработка ошибок

status, response = client.alerts.get("invalid-id")
if status != 200:
    print(f"Error {status}: {response}")
    # Для 404: "Alert not found"
    # Для 403: "Access denied"

Документация API

Официальная документация по публичному API доступна по адресу: https://support.kaspersky.com/help/KUMA/3.4/en-US/217973.htm

Примечание: Приватные API-методы не документированы и могут изменяться вендором без предупреждения между версиями системы.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kuma_api-2.1.1.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kuma_api-2.1.1-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file kuma_api-2.1.1.tar.gz.

File metadata

  • Download URL: kuma_api-2.1.1.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kuma_api-2.1.1.tar.gz
Algorithm Hash digest
SHA256 c9646aa7c3dbd406d98f0368dbb792571444d38358ba117c9a14426de26934ec
MD5 21b040a2af14d9d49a480456e1cbc467
BLAKE2b-256 a7f1d35c544101aad4a005cdb1aeaea04d1e965ac8617815ab2f8744556a18fe

See more details on using hashes here.

File details

Details for the file kuma_api-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: kuma_api-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kuma_api-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be627a05d29652eab321357704fed00e69952e894d66a4f92966c97286711034
MD5 b12268f93c3bbb024d2349c868e631d1
BLAKE2b-256 387f41feb46de53079332fa48877489afa98ae0a218a642645b42aa82d4ed140

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page