Сбор событий аудита
Сбор событий аудита осуществляется посредством отдельного плагина для Keycloak.
Исполняемый код плагина поставляется в базовой комплектации приложения.
Плагин наследует слушателя событий Keycloak по умолчанию org.keycloak.events.EventListenerProvider и
реализует отправку каждого полученного события из Keycloak в топик Apache Kafka.
Для работы с Apache Kafka используется нативное расширение Quarkus Extension for Apache Kafka.
События в Keycloak делятся на 2 категории: события пользователей и события администратора. Полный список событий
пользователя описан в org.keycloak.events.EventType.
Плагин работает глобально на уровне всех областей безопасности (realms), для которых была произведена соответствующая настройка. Это значит, что события областей безопасности (realms) отправляются в один топик Apache Kafka.
Чтобы настроить сбор событий аудита для области безопасности (realm), выполните шаги, описанные ниже.
Настройка области безопасности (realm)
-
Выберите область безопасности (realm), для которой вы хотите выполнить настройки.
-
В главном меню в разделе Manage выберите пункт Events.
-
В открывшейся форме Events перейдите по ссылке Event config — система перенаправит вас на форму настройки области безопасности (realm) на вкладку Events/Event listeners.
-
На вкладке Events/Event listeners в поле Event Listener выберите из выпадающего списка слушателя событий techplat-audit-listener и подтвердите свой выбор, нажав на кнопку Save.
-
Перейдите на вкладку Events/User Events Settings и выполните действия:
-
В поле Save Events установите значение ON — вы включите отправку пользовательских событий в топик Apache Kafka.
-
В поле Expiration задайте период, в течение которого сообщения будут храниться в базе данных.
-
Нажмите на кнопку Save, чтобы подтвердить свои действия, — на экране отобразится блок с типами сохраненных событий и кнопка Add Saved Types.
-
При необходимости вы можете удалить уже сохраненные события в базе данных, нажав на кнопку Clear Events.
-
Нажмите на кнопку Add Saved Types.
-
В открывшейся форме выберите необходимые события для отправки и подтвердите свой выбор, нажав на кнопку Add.
-
-
Перейдите на вкладку Events/Admin Events Settings и выполните действия:
-
В поле Save Events установите значение ON — вы включите отправку событий администратора в топик Apache Kafka.
-
В поле Expiration задайте период, в течение которого сообщения будут храниться в базе данных.
-
Нажмите на кнопку Save — заданные настройки будут сохранены.
-
При необходимости вы можете удалить уже сохраненные события в базе данных, нажав на кнопку Clear Admin Events.
Плагин не учитывает параметр Include Representation.
-