Mdpaudit
Поддерживаются только производитель.Компонент обеспечивает передачу данных аудита из прикладных модулей через Apache Kafka в системный сервис аудита
URI format
<span style="color: rgb(0,0,0);">mdpaudit:[info | error][?options]</span>
Options:
Параметр
- Значение по умолчанию
objectId
-
Идентификатор объекта.
-
По умолчанию: null
objectType
-
Тип объекта.
-
По умолчанию: Exchange
eventGroup
-
Группа события, одно из значений:
APPLICATION- бизнес-аудит,SYSTEM- системный аудит,SECURITY- аудит безопасности. -
По умолчанию: SYSTEM
eventType
-
Тип события.
-
По умолчанию: null
moduleName
-
Название модуля.
-
По умолчанию: null
operationSysName
-
Системное наименование типа действия, определяется прикладным модулем и зависит от типа объекта аудита и действия, которое проводится по нему.
-
По умолчанию: null
commandText
-
Имя метода сервиса, в котором произошло событие.
-
По умолчанию: null
description
-
Описание.
-
По умолчанию: null
userLogin
-
Логин пользователя.
-
По умолчанию: System
userAccountId
-
ID учетной записи пользователя.
-
По умолчанию: null
userHostIp
-
IP-адрес хоста пользователя.
-
По умолчанию: null
userHostName
-
Имя хоста пользователя.
-
По умолчанию: null
objectLocalName
-
Локальное имя объекта.
-
По умолчанию: Exchange
versionKey
-
Ключ версии.
-
По умолчанию: null
fullName
-
Полное имя.
-
По умолчанию: null
roles
-
Роли пользователя.
-
По умолчанию: null
jti
-
JWT ID (JTI).
-
По умолчанию: null
Сервис аудита также принимает входные данные и выходные данные из метода, где идет аудит, если это необходимо их нужно добавить в property в Exchange camel в виде мапы.
Пример использования с заполнением этих параметров:
//.....setProperty(MDPAuditConst.AUDIT_INPUT_COMMAND_PARAMS, constant(Map.of("test", "test123")))
.setProperty(MDPAuditConst.AUDIT_OUTPUT_COMMAND_PARAMS, constant(Map.of("outtestt", "outtest123")))
.to("mdpaudit:info?commandText=configure&objectId=pos&objectType=Exchange&eventGroup=" + EventGroup.APPLICATION.name() + "&moduleName=qintplcomponents")// ...]] > По умолчанию выходные параметры пустые, а входные следующие:
key
- value
body
- exchange..getIn().getBody()
headers
- exchange..getIn().getHeaders()
msgPackageId
- exchange.getIn().getHeader("msgPackageId")
Для ускорения работы прикладных микросервисов, уменьшения задержек связанных с отправкой событий аудита, в библиотеке mdpauditlib предусмотрена возможность буферизации событий аудита. При ее использовании события аудита не отправляются при каждом вызове API библиотеки, а накапливается в буфере и отправляются пачкой при накоплении заданного количества либо по окончанию очередного заданного периода отправки. Для использования такого режима работы библиотеки необходимо в конфигурационный файл микросервиса, application.yml, добавить:
mdpauditlib:
auditCommonsBufferedFlag: true
auditBufferedSecondsDuration: $``{``BUFFER_DURATION``}
auditBufferedEventsCount: $``{``BUFFER_SIZE``}
Здесь значение true параметра auditCommonsBufferedFlag указывает на включение режима буферизации, BUFFER_DURATION - период отправки накопленных в буфере событий, в секундах, по умолчанию равен 60, BUFFER_SIZE - количество событий в буфере, по достижению которого осуществляется их отправка не дожидаясь окончания периода отправки.
Также есть следующие конфигурации:
Конфигурация
- Значение по умолчанию
mdpaudit.enabled
-
Флаг, определяющий, включена ли функциональность аудита. Если значение
true, аудит включен. -
Тип:
Boolean -
По умолчанию:
true
mdpaudit.maskHeaders
-
Флаг, определяющий, нужно ли маскировать заголовки (headers) в данных аудита.
-
Тип:
Boolean -
По умолчанию:
false
mdpaudit.maskBody
-
Флаг, определяющий, нужно ли маскировать тело (body) сообщения в данных аудита.
-
Тип:
Boolean -
По умолчанию:
false