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

15 мая 2024

ID 270053

POST /api/v1/kuma/assets/import

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

Если указан FQDN актива, он играет роль уникального идентификатора актива в рамках тенанта. Если имя актива не указано, оно заполняется либо значением FQDN, либо значением первого IP-адреса. Активы, импортированные из KSC не могут быть обновлены, поэтому в процессе импорта могут возникать конфликты по FQDN, если в тенанте уже существует KSC-актив с таким FQDN. Возникновение такого конфликта препятствует обработке конфликтующего актива, но не препятствует обработке других активов, указанных в теле запроса. Позволяет заполнять пользовательские поля по uuid из настроек assetsCustomFields.

Доступ: Главный администратор, Администратор тенанта, Аналитик второго уровня, Аналитик первого уровня, Менеджер SOC, Доступ к объектам КИИ, Подтверждающий.

Тело запроса

Формат: 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"`

CustomFields []CustomField `json:"customFields"`

}

 

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 CustomFields struct {

ID string `json:"id"`

Value string `json:"value"`

}

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

Имя

Тип данных

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

Описание

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

tenantID

Строка

Да

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

00000000-0000-0000-0000-000000000000

assets

[]Asset

Да

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

 

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

Имя

Тип данных

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

Описание

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

fqdn

Строка

Если не указан 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

Попытка импорта активов в общий тенант

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-адрес

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

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

Доступ запрещен.

-

404

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

tenant not found

-

406

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

tenant disabled

-

500

Любая другая внутренняя ошибка.

Переменная.

Переменная.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!