Что это простыми словами
Keycloak — это программа, которая управляет входом пользователей в приложения и решает, кто что может делать.
Аналогия: представьте проходную в офисном здании. Охранник проверяет пропуск, решает, пускать человека или нет, и определяет, на какие этажи ему можно. Keycloak — такая же проходная для приложений: когда пользователь хочет войти в систему, Keycloak проверяет его логин и пароль, пускает внутрь и говорит приложению, что этому человеку разрешено.
Главное удобство: один раз вошёл — работаешь во всех приложениях компании. Не нужно вводить пароль в каждой системе отдельно.
Официальное определение
Теперь, когда суть понятна, вот как Keycloak описывают в вакансиях и документации. Эту формулировку вы будете встречать у заказчика, в резюме и в речи разработчиков — теперь вы понимаете, что за ней стоит.
«Keycloak — open-source решение для управления идентификацией и доступом (IAM), поддерживающее SSO, OAuth 2.0, OpenID Connect и SAML».
Разберём по словам. «Open-source» — бесплатная программа с открытым кодом, её можно установить у себя без платной лицензии. «IAM» (Identity and Access Management) — управление тем, кто есть кто в системе и кому что можно. «SSO» (Single Sign-On) — один раз вошёл, работаешь везде: не нужно вводить пароль в каждом приложении. «OAuth 2.0» и «OpenID Connect» — стандартные способы (протоколы), которыми приложения договариваются о входе пользователя. «SAML» — ещё один такой стандарт, чуть постарше.
Какую задачу решает
У компании обычно несколько приложений: сайт, внутренняя CRM, мобильное приложение, админка. Если в каждом писать свою систему входа и управления правами — это долго, дорого и опасно: легко ошибиться и открыть лишнее.
Keycloak решает эту проблему централизованно: все приложения обращаются к одной общей «проходной». Пользователь один раз входит в систему — и дальше Keycloak сам говорит каждому приложению, кто это и что ему можно. Разработчикам не нужно каждый раз писать код для регистрации, смены пароля, восстановления доступа — всё это уже есть в Keycloak.
Частый сценарий: компания разрабатывает несколько сервисов, и нужно, чтобы пользователь входил один раз, а не вводил пароль в каждом. Keycloak подключают, и проблема решена.
Кто им пользуется
Keycloak — это инструмент, он не привязан к конкретному языку программирования. Им пользуются разные роли:
Backend-разработчик — подключает Keycloak к своему приложению, настраивает, какие права у каких пользователей, интегрирует вход через Keycloak в API.
DevOps / SRE Engineer — разворачивает Keycloak на серверах, настраивает его работу, следит за надёжностью, обновляет версии.
Иногда к Keycloak подключаются фронтенд-разработчики — когда делают кнопку входа на сайте. Но основная работа с ним — на стороне backend и DevOps.
Аналоги / чем заменяется
Keycloak решает ту же задачу, что и другие IAM-системы:
Auth0 и Okta — зарубежные платные лидеры рынка, работают как облачные сервисы.
AWS Cognito — решение Amazon, если компания работает на их облаке.
Azure AD B2C — от Microsoft, часто используется в корпоративном секторе.
ORY — тоже open-source, похож на Keycloak.
Главное отличие Keycloak от зарубежных — он бесплатный и разворачивается на своих серверах. Это важно для российских компаний после ухода платных сервисов.
Переход между IAM-системами не быстрый, но концепции общие: кто работал с Auth0 или Okta, понимает логику OAuth и SSO, а значит, разберётся и с Keycloak. Синтаксис и настройки отличаются, но задачи и принципы те же.
Что не путать
Keycloak не является базой данных пользователей. Keycloak может хранить пользователей, но это не его главная задача — он управляет входом и правами, а данные могут лежать и в отдельной базе.
Keycloak не является языком программирования. Это готовая программа, её устанавливают и настраивают, а не пишут на ней код.
Keycloak не является фреймворком для разработки. Это отдельный сервис, к которому приложения подключаются, а не библиотека внутри кода.
IAM-система отличается от обычной проверки логина в коде. Обычная проверка — это когда разработчик сам написал код «если пароль верный, пусти». IAM-система — это целая инфраструктура, которая управляет пользователями централизованно для всех приложений сразу.
Насколько это важно при отборе
Короткий ответ: важно понимание концепций IAM, OAuth и SSO, а конкретный инструмент — вторично.
Есть два сценария.
Первый: компания уже использует Keycloak и ищет специалиста, который будет его дорабатывать, администрировать или глубоко интегрировать. Тогда опыт именно с Keycloak — жёсткое требование. Человеку нужно знать архитектуру Keycloak, его настройки, расширения, особенности развёртывания. Такое требование обычно встречается в вакансиях DevOps-инженера или senior backend-разработчика.
Второй: компания просто хочет, чтобы backend-разработчик умел интегрировать вход пользователей через IAM-систему. В таком случае опыт с Auth0, Okta или AWS Cognito вполне подойдёт: концепции OAuth, SSO и управления ролями везде одинаковые. Синтаксис Keycloak человек освоит за пару недель.
Ориентир для рекрутера: если в вакансии указано «опыт с IAM-системами» или «понимание OAuth/OpenID Connect» — кандидат с Auth0 или Okta подойдёт. Если написано «администрирование Keycloak» или «глубокая кастомизация Keycloak» — нужен именно Keycloak.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.