Условия и область realm
Установите релиз Keycloak, имя realm в маршруте, его идентификатор и действовавшую настройку сохранения admin events. Пользовательские входы и административные изменения хранятся раздельно. Include representation влияет на доступность содержимого запроса; его отсутствие не означает отсутствия изменения. Состав событий сверяйте с версией установленного Keycloak. Настройки, права и очистка журнала здесь не изменяются.
Чтение API или копии
Пример GET показывает документированный admin-events endpoint, UTC-границы в epoch milliseconds и ограниченную страницу. Realm в URL — имя, не realmId. Значения в примере условные. Для уже полученного массива второй пример jq выбирает resourcePath. Проверьте страницы и временной охват: первые 100 записей не обязательно весь период. Ошибку доступа нельзя интерпретировать как отсутствие событий.
Разбор примера
Пример AdminEventRepresentation содержит UPDATE для USER и users/user-demo, а authDetails отдельно обозначает контекст аутентификации. Автор изменения и целевой пользователь — разные сущности. Поля optional; в примере намеренно нет time, error и representation, поэтому результат и полное содержимое операции не устанавливаются. Короткий путь ресурса нельзя считать реальным DN или ID пользователя иной системы.
Интерпретация
Сначала проверьте точный ресурс, тип операции, время и error в полной записи. Representation — записанный документ запроса, а не автоматически полный снимок «после»; длина и состав зависят от настройки. Не восстанавливайте незафиксированное прежнее значение. Административный client или service account не устанавливает человека, выполнившего изменение через внешнюю систему. Сверьте операцию с журналом управления и одобренной задачей.
Следующий шаг
Разрешите authDetails.userId/clientId в правильном realm, сохраните исходные IDs и сопоставьте сеанс либо журнал приложения-инициатора. Текущее состояние пользователя полезно для проверки сейчас, но может включать последующие изменения. Для вывода о последствиях найдите отдельный вход или действие целевого объекта. Не объединяйте одинаковые имена пользователей разных realms; область остаётся частью доказательства.
Если события нет
Проверьте realm, эпоху/UTC, страницы, права, настройку сохранения и срок доступности данных. Отдельно проверьте, не искалось пользовательское событие вместо административного. Включение сохранения или representation после операции не восстановит историческое содержимое. Зафиксируйте, нет ли события целиком или только payload, и запросите журнал внешнего инструмента управления без выдумывания недостающих полей.