Сбор событий аудита

Сбор событий аудита осуществляется посредством отдельного плагина для 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)

  1. Выберите область безопасности (realm), для которой вы хотите выполнить настройки.

  2. В главном меню в разделе Manage выберите пункт Events.

  3. В открывшейся форме Events перейдите по ссылке Event config — система перенаправит вас на форму настройки области безопасности (realm) на вкладку Events/Event listeners.

  4. На вкладке Events/Event listeners в поле Event Listener выберите из выпадающего списка слушателя событий techplat-audit-listener и подтвердите свой выбор, нажав на кнопку Save.

    techplat audit listener
  5. Перейдите на вкладку Events/User Events Settings и выполните действия:

    1. В поле Save Events установите значение ON — вы включите отправку пользовательских событий в топик Apache Kafka.

    2. В поле Expiration задайте период, в течение которого сообщения будут храниться в базе данных.

    3. Нажмите на кнопку Save, чтобы подтвердить свои действия, — на экране отобразится блок с типами сохраненных событий и кнопка Add Saved Types.

    4. При необходимости вы можете удалить уже сохраненные события в базе данных, нажав на кнопку Clear Events.

    5. Нажмите на кнопку Add Saved Types.

    6. В открывшейся форме выберите необходимые события для отправки и подтвердите свой выбор, нажав на кнопку Add.

      user event settings
  6. Перейдите на вкладку Events/Admin Events Settings и выполните действия:

    1. В поле Save Events установите значение ON — вы включите отправку событий администратора в топик Apache Kafka.

    2. В поле Expiration задайте период, в течение которого сообщения будут храниться в базе данных.

    3. Нажмите на кнопку Save — заданные настройки будут сохранены.

    4. При необходимости вы можете удалить уже сохраненные события в базе данных, нажав на кнопку Clear Admin Events.

      Плагин не учитывает параметр Include Representation.
      admin event settings