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