Импорт активов

Особенности идентификации, создания и обновления активов

Активы идентифицируются по-разному в зонах с динамическими и статическими адресами:

Условия автоматического создания активов также зависят от зоны адресов:

Правила создания активов на основе отчетов сетевых сканеров не отличается от создания активов в зонах статических адресов. Если название актива не указано, то оно заполняется либо значением FQDN, либо значением первого IP-адреса.

Условия обновления данных актива указаны в таблице ниже. В случае коллизий, когда существующие активы не удается сопоставить с новыми данными, создаются новые активы.

 

Актив, созданный вручную

Актив, импортированный из Kaspersky Security Center

Актив, созданный на основе событий

Актив, созданный на основе отчетов сетевых сканеров

Актив обновляется вручную

Нет ограничений

Нет ограничений

Нет ограничений

Нет ограничений

Актив обновляется данными из Kaspersky Security Center

Если совпадают IP-адрес и FQDN активов:

  • Активу добавляются данные из Kaspersky Security Center.
  • Актив считается импортированным из Kaspersky Security Center.

При совпадении сервера Kaspersky Security Center и идентификатора агента обновятся данные об активе.

Если совпадают IP-адрес и FQDN активов:

  • Активу добавляются данные из Kaspersky Security Center.
  • Актив считается импортированным из Kaspersky Security Center.

Добавится информация об уязвимостях совпадают IP-адреса и FQDN активов.

Актив обновляется данными из событий

  • Зона динамических адресов: если совпадают FQDN активов, обновится IP-адрес актива.
  • Зона статических адресов: если совпадают IP-адреса активов, добавится FQDN актива.
  • Зона динамических адресов: если совпадают FQDN активов, обновится IP-адрес актива.
  • Зона статических адресов: если совпадают IP-адреса активов, добавится FQDN актива.
  • Зона динамических адресов: если совпадают FQDN активов, обновится IP-адрес актива.
  • Зона статических адресов: если совпадают IP-адреса активов, добавится FQDN актива.
  • Зона динамических адресов: если совпадают FQDN активов, обновится IP-адрес актива.
  • Зона статических адресов: если совпадают IP-адреса активов, добавится FQDN актива.

Актив обновляется данными из отчетов сетевых сканеров

Добавится информация об уязвимостях, если:

  • В зоне динамических адресов совпадают IP-адреса и FQDN активов.
  • В зоне статических адресов совпадают IP-адреса активов.

Добавится информация об уязвимостях совпадают IP-адреса и FQDN активов.

Добавится информация об уязвимостях, если:

  • В зоне динамических адресов совпадают IP-адреса и FQDN активов.
  • В зоне статических адресов совпадают IP-адреса активов.

Добавится информация об уязвимостях, если:

  • В зоне динамических адресов совпадают IP-адреса и FQDN активов.
  • В зоне статических адресов совпадают IP-адреса активов.

Возникновение конфликтов при обновлении данных об активах препятствует обработке конфликтующего актива, но не препятствует обработке других активов, указанных в теле запроса.

POST /api/v1/assets/import

Массовое создание или обновление активов.

Доступ: администратор, аналитик.

Тело запроса

Формат: JSON

type Request struct {

    TenantID string  `json:"tenantID"`

    Assets   []Asset `json:"assets"`

}

 

type Asset struct {

    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"`

}

 

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"`

}

Обязательные поля Request

Имя

Тип данных

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

Описание

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

tenantID

string

Да

Идентификатор тенанта

00000000-0000-0000-0000-000000000000

assets

[]Asset

Да

Массив импортируемых активов

 

Обязательные поля Asset

Имя

Тип данных

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

Описание

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

fqdn

string

Если не указан ipAddresses

FQDN актива. Рекомендуется указывать именно FQDN, а не просто имя хоста. Приоритетный признак для идентификации актива.

my-asset-1.example.com

my-asset-1

ipAddresses

[]string

Если не указан fqdn

Массив IP-адресов актива. IPv4 или IPv6. Первый элемент массива используется как второстепенный признак для идентификации актива.

["192.168.1.1", "192.168.2.2"]

["2001:0db8:85a3:0000:0000:8a2e:0370:7334"]

Ответ

HTTP-код: 200

Формат: JSON

type Response struct {

    InsertedIDs  map[int64]interface{} `json:"insertedIDs"`

    UpdatedCount uint64                `json:"updatedCount"`

    Errors       []ImportError         `json:"errors"`

}

 

type ImportError struct {

    Index   uint64 `json:"index"`

    Message string `json:"message"`

}

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

HTTP-код

Описание

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

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

400

Не указан идентификатор тенанта (tenantID)

tenantID required

 

400

Попытка импорта активов в shared тенант

import into shared tenant not allowed

 

400

В теле запроса не указан ни один актив

at least one asset required

 

400

Не указано ни одно из обязательных полей

one of fields required

asset[<index>]: fqdn, ipAddresses

400

Неверный FQDN

invalid value

asset[<index>].fqdn

400

Неверный IP address

invalid value

asset[<index>].ipAddresses[<index>]

400

Дублируется IP адрес

duplicated value

asset[<index>].ipAddresses

400

Неверный MAC адрес

invalid value

asset[<index>].macAddresses[<index>]

400

Дублируется MAC адрес

duplicated value

asset[<index>].macAddresses

403

Пользователь не имеет необходимой роли в указанном тенанте

access denied

 

404

Указанный тенант не найден

tenant not found

 

406

Указанный тенант отключен

tenant disabled

 

500

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

вариативное

вариативное

В начало