Спецификация WebApi на прием событий Оркестратора
Требуется реализовать WebApi с двумя end-point – для авторизации (не обязательный, если не требуется авторизация) и для приема событий. Все данные в формате JSON (заголовок Content-Type = application/json).
End-point авторизации
Авторизация по токену (JWT token). Адрес этого end-point задается в настройках сервиса LogEventsWebhook как HttpEndPoint:LoginUrl
.
POST: LoginUrl
Данные передаются в теле запроса как объект:
Логин и пароль также задаются в настройках сервиса LogEventsWebhook в секции HttpEndPoint
.
Возвращается токен в теле ответа в виде объекта:
End-point приема событий
Адрес этого end-point задается в настройках сервиса LogEventsWebhook как HttpEndPoint:Url
POST: Url
Данные передаются в теле запроса как объект события (см. таблицу 1):
Токен передается в заголовке Authorization = Bearer \<token\>
Если end-point приема событий не допускает неавторизованный запрос, должен возвращаться http-статус 401 Unauthorized. Если end-point приема событий допускает неавторизованный запрос, HttpEndPoint:LoginUrl можно оставить пустым или null.
Таблица 1 – Описание свойств объекта события
Знак «?» в столбце Тип означает, что значение этого типа может быть null.
Id
Guid
Идентификатор события
EntityId
string
Идентификатор сущности, связанной с событием
UserId
string
Идентификатор пользователя, связанного с событием
OrchTimestampUtc
DateTime
Время события по времени оркестратора в UTC
OperationKey
Guid?
Идентификатор бизнес-операции
Signature
string
Подпись события
WorkerAdminName
string
Имя администратора машины робота
Text
string
Произвольное описание, связанное с событием
EventType
Enum?
Классификация события. См. поле Код в Таблице 2 (ниже)
IP
string
IP-адрес, связанный с событием
TenantId
string
Идентификатор тенанта, в котором произошло событие
EntityData
string
Расширенная информация о сущности, связанной с событием. См. свойство EntityId
SendedAt
DateTime
Дата отправки события в интеграционный end-point
Знак «?» в колонке Тип означает, что может быть null.
Таблица 2 – Классификация событий Оркестратора
В следующих версиях Оркестратора могут добавиться новые события
1
Info
Информационное
2
Error
Ошибка
3
SecurityIncident
Инцидент безопасности
4
Correction
Корректировка
ВНИМАНИЕ! Для ознакомления с перечнем событий Оркестратора см. Приложение 3 - События Оркестратора.
End-point приема событий для интеграции с ArcSight
В качестве примера интеграционного end-point в поставку включена служба Primo.Orchestrator.ArcSight*. Служба конвертирует события в формат ArcSight и сохраняет их в файлах в папке обмена.
Служба Primo.Orchestrator.ArcSight не фильтрует события, в файлах обмена сохраняются все принятые события Оркестратора.
События записываются в файл по мере достижения максимального количества строк (настраивается в конфигурационном файле службы Primo.Orchestrator.ArcSight). Потом события записываются в следующий файл и так далее.
При достижении максимального количества файлов в папке обмена старые файлы удаляются.
Механизм загрузки событий в ArcSight должен быть согласован с настройками Primo.Orchestrator.ArcSight, чтобы успеть загрузить события в ArcSight до их удаления.
В качестве end-point авторизации при настройке LogEventsWebhook необходимо использовать адрес Оркестратора: https://{IP}:44392/api/Account.
В качестве end-point приема событий при настройке LogEventsWebhook необходимо использовать адрес Primo.Orchestrator.ArcSight: https://{IP}:44444/api/OrchEvents.
Ниже приведен пример содержимого файла ArcSight-2022052220.txt из папки обмена:
*Требования к сервису могут быть уточнены по результатам тестирования Заказчиком работы интеграции.\
Инструкции по установке ArcSight:
Last updated
Was this helpful?