Что это простыми словами

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 — это инструмент, он не привязан к конкретному языку программирования. Им пользуются разные роли:

Иногда к Keycloak подключаются фронтенд-разработчики — когда делают кнопку входа на сайте. Но основная работа с ним — на стороне backend и DevOps.

Аналоги / чем заменяется

Keycloak решает ту же задачу, что и другие IAM-системы:

Главное отличие Keycloak от зарубежных — он бесплатный и разворачивается на своих серверах. Это важно для российских компаний после ухода платных сервисов.

Переход между IAM-системами не быстрый, но концепции общие: кто работал с Auth0 или Okta, понимает логику OAuth и SSO, а значит, разберётся и с Keycloak. Синтаксис и настройки отличаются, но задачи и принципы те же.

Что не путать

Насколько это важно при отборе

Короткий ответ: важно понимание концепций 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.

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