Поиск алертов

GET /api/v1/alerts

Доступ: Главный администратор, Администратор тенанта, Аналитик второго уровня, Аналитик первого уровня, Младший аналитик, Работа с НКЦКИ, Доступ к КИИ.

Параметры запроса

Имя

Тип данных

Обязательный

Описание

Пример значения

page

number

Нет

Номер страницы. Начинается с 1. Размер страницы – 250 записей. Если параметр не указан, то используется значение по умолчанию – 1.

1

id

string

Нет

Идентификатор алерта. Если параметр указан несколько раз, то формируется список и применяется логический оператор ИЛИ.

00000000-0000-0000-0000-000000000000

tenantID

string

Нет

Идентификатор тенанта алерта. Если параметр указан несколько раз, то формируется список и применяется логический оператор ИЛИ. Если пользователь не имеет необходимой роли в указанном тенанте, то этот тенант игнорируется.

00000000-0000-0000-0000-000000000000

name

string

Нет

Имя алерта. Регистронезависимое регулярное выражение (PCRE).

alert
^My alert$

timestampField

string

Нет

Имя поля алерта, по которому выполняется сортировка (DESC) и поиск по периоду (from – to). По умолчанию lastSeen.

lastSeen, firstSeen

from

string

Нет

Нижняя границы периода в формате RFC3339. <timestampField> >= <from>

2021-09-06T00:00:00Z (UTC)

2021-09-06T00:00:00.000Z (UTC, с указанием миллисекунд)

2021-09-06T00:00:00Z+00:00 (MSK)

to

string

Нет

Верхняя периода в формате RFC3339. <timestampField> <= <to>

2021-09-06T00:00:00Z (UTC)

2021-09-06T00:00:00.000Z (UTC, с указанием миллисекунд)

2021-09-06T00:00:00Z+00:00 (MSK)

status

string

Нет

Статус алерта. Если параметр указан несколько раз, то формируется список и применяется логический оператор ИЛИ.

new, assigned, escalated, closed

withEvents

bool

Нет

Включить в ответ нормализованные события KUMA, связанные с найденными алертами. Если параметр присутствует в URL query, его значение принимается за true. Указанные пользователем значения игнорируются. Пример: /api/v1/alerts?withEvents

 

withAffected

bool

Нет

Включить в ответ информацию об активах и аккаунтах, связанных с найденными алертами.  Если параметр присутствует в URL query, его значение принимается за true. Указанные пользователем значения игнорируются. Пример: /api/v1/alerts?withAffected

 

Ответ

HTTP-код: 200

Формат: JSON

type Response []Alert

 

type Alert struct {

    ID                string            `json:"id"`

    TenantID          string            `json:"tenantID"`

    TenantName        string            `json:"tenantName"`

    Name              string            `json:"name"`

    CorrelationRuleID string            `json:"correlationRuleID"`

    Priority          string            `json:"priority"`

    Status            string            `json:"status"`

    FirstSeen         string            `json:"firstSeen"`

    LastSeen          string            `json:"lastSeen"`

    Assignee          string            `json:"assignee"`

    ClosingReason     string            `json:"closingReason"`

    Overflow          bool              `json:"overflow"`

    Events            []NormalizedEvent `json:"events"`

    AffectedAssets    []AffectedAsset   `json:"affectedAssets"`

    AffectedAccounts  []AffectedAccount `json:"affectedAccounts"`

}

 

type NormalizedEvent map[string]interface{}

 

type AffectedAsset struct {

    ID               string          `json:"id"`

    TenantID         string          `json:"tenantID"`

    TenantName       string          `json:"tenantName"`

    Name             string          `json:"name"`

    FQDN             string          `json:"fqdn"`

    IPAddresses      []string        `json:"ipAddresses"`

    MACAddresses     []string        `json:"macAddresses"`

    Owner            string          `json:"owner"`

    OS               *OS             `json:"os"`

    Software         []Software      `json:"software"`

    Vulnerabilities  []Vulnerability `json:"vulnerabilities"`

    KSC              *KSCFields      `json:"ksc"`

    Created          string          `json:"created"`

    Updated          string          `json:"updated"`

}

 

type OS struct {

    Name    string `json:"name"`

    Version uint64 `json:"version"`

}

 

type Software struct {

    Name    string `json:"name"`

    Version string `json:"version"`

    Vendor  string `json:"vendor"`

}

 

type Vulnerability struct {

    KasperskyID           string   `json:"kasperskyID"`

    ProductName           string   `json:"productName"`

    DescriptionURL        string   `json:"descriptionURL"`

    RecommendedMajorPatch string   `json:"recommendedMajorPatch"`

    RecommendedMinorPatch string   `json:"recommendedMinorPatch"`

    SeverityStr           string   `json:"severityStr"`

    Severity              uint64   `json:"severity"`

    CVE                   []string `json:"cve"`

    ExploitExists         bool     `json:"exploitExists"`

    MalwareExists         bool     `json:"malwareExists"`

}

 

type AffectedAccount struct {

    Name             string `json:"displayName"`

    CN               string `json:"cn"`

    DN               string `json:"dn"`

    UPN              string `json:"upn"`

    SAMAccountName   string `json:"sAMAccountName"`

    Company          string `json:"company"`

    Department       string `json:"department"`

    Created          string `json:"created"`

    Updated          string `json:"updated"`

}

Возможные ошибки

HTTP-код

Описание

Значение поля message

Значение поля details

400

Неверное значение параметра page

invalid query parameter value

page

400

Неверное значение параметра status

invalid status

<status>

400

Неверное значение параметра timestampField

invalid timestamp field

 

400

Неверное значение параметра from

cannot parse from

вариативное

400

Неверное значение параметра to

cannot parse to

вариативное

400

Значение параметра from больше значения параметра to

from cannot be greater than to

 

500

Любые другие внутренние ошибки

вариативное

вариативное

В начало