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 pykuma

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

Для работы с публичным 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.0.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.0-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kuma_api-2.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 76fd1f5d4b067e4957ae40c0fbd5398f9b67599b9ff388ff0b49110123990f63
MD5 c456fd9db501bf26fb87ca3bb62b053b
BLAKE2b-256 db721e1380b379821b962f879207d7518e93b2353da164ebd2c09c9b145e7545

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kuma_api-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3988bfac291b5cac949222c63ec99c32b891dd959cd5d11da25952992fb52ccf
MD5 9f40f2e30662a4b88a33a769775b3d0f
BLAKE2b-256 a191717c30d76bae37cb4f71de4bf073097aa379553ce84b5f05b62f58be8063

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