Skip to content

Краткое руководство по работе с интерфейсом Keycloak

Keycloak предоставляет веб-интерфейс, через который можно управлять пользователями, ролями, клиентами, правами доступа и другими аспектами авторизации. Вот основные сущности и как с ними работать

Realms (Области)

  • Что это: изолированные окружения пользователей, клиентов и настроек

    Пример: a-ceramica — Realm, в котором настроены все клиенты и пользователи проекта A-Ceramica

  • Что можно делать:

    • Создавать независимые среды для разных проектов или окружений (например, production, staging)

    • Все действия — только внутри текущего realm

При входе в админку первым делом убедись, что выбран нужный realm (в выпадающем списке слева вверху)

Clients (Клиенты)

  • Что это: приложения, которые используют Keycloak для входа. Это может быть frontend, backend, мобильное приложение и т.д.

    Пример:

    • nuxt-auth — для авторизации из Nuxt-фронта
    • fastapi-backend — для валидации токенов на backend
  • Что настраивается:

    • Тип клиента (конфиденциальный, публичный, сервис-аккаунт и т.д.)
    • Разрешённые редиректы
    • Типы авторизации: логин по паролю, по токену и т.д.
    • Секреты, роли, разрешения

Client Scopes (Области клиента)

  • Что это: преднастроенные наборы данных и разрешений, которые автоматически добавляются в токен

  • Зачем нужно: Чтобы токены содержали только нужную информацию (например, e-mail, роли, права)

  • Пример: Scope custom-attributes добавляет кастомный атрибут personalID

Users (Пользователи)

  • Что это: конечные пользователи (например, партнёры, клиенты, админы), которые могут входить через фронт или админку

  • Что можно делать:

    • Создавать пользователей вручную
    • Назначать им роли (из realm или client-ролей)
    • Задавать пароли, e-mail, и т.д.

Groups (Группы)

  • Что это: способ объединять пользователей с одинаковыми ролями и правами

  • Зачем нужно: Можно задать роли на группу, и все пользователи в группе получат их автоматически

  • Пример: Создать группу Партнёры с ролями view-profile, manage-account и добавлять туда пользователей

Отличное замечание. Дополним раздел двумя важными пунктами, которые часто упускают новички, но которые полезны при сопровождении системы — Sessions и Events.

Sessions (Сессии)

  • Что это: Сессии показывают, кто сейчас авторизован, в каких приложениях и с каким токеном

  • Зачем нужно:

    • Посмотреть активных пользователей
    • Завершить сессии вручную (например, после смены прав или взлома)
    • Отладить, работает ли логин

Внутренний ресурс компании