Authentik vs Keycloak: что выбрать SMB в 2026 — разбор
Москва, Щёлковское шоссе, д. 92, корп. 7 · Пн–Пт 9:00–19:00 · +7 903 729-62-41
· 15 мин чтения

Authentik vs Keycloak для корпоративного SSO: что выбрать SMB в 2026

Authentik vs Keycloak для корпоративного SSO: что выбрать SMB в 2026

За 2025–2026 годы наша команда перевела на SSO 12 клиентов: в шести случаях ставили Authentik, в пяти — Keycloak, один кейс был на FreeIPA. Дальше — честное сравнение двух главных игроков рынка open-source идентификации для офисов на 30–80 рабочих мест: где их сильные стороны, а где трудности, на конкретном примере из практики — маркетинговое агентство с 45 РМ и 14 внутренними сервисами.

Зачем вообще SSO небольшому офису

Когда у сотрудника 2–3 сервиса — SSO избыточен. А когда их 8 и больше — его отсутствие превращается в ежедневный ад. У типичного клиента АйТи Фреш в 2026-м:

12 сервисов × 45 человек × регулярная смена паролей = бардак. А с SSO всё становится прозрачно:

Краткие портреты

Keycloak — проект Red Hat, написан на Java (Quarkus), самый зрелый open-source IdP. Им пользуются в энтерпрайзе — от банков до госсектора. Мощный и гибкий, но тяжёлый в установке и эксплуатации.

Authentik же — проект довольно молодой, появился в 2020 году. Он разработан на Python/Django, а интерфейс у него на TypeScript-UI. Изначально его позиционировали как некую «простую open-source Okta», но вот с 2023-го он, надо сказать, сильно вырос и теперь по праву считается serious contender.

Детальное сравнение

КритерийKeycloakAuthentik
Язык реализацииJava (Quarkus)Python (Django)
Минимум RAM4 ГБ2 ГБ
Минимум CPU2 vCPU2 vCPU
ХранениеPostgreSQL/MSSQL/MySQLPostgreSQL
Поддержка OIDCдада
Поддержка SAMLдада
Поддержка LDAP/ADда (встроенный плагин)да (Source)
Поддержка Kerberosдаэкспериментально
2FA (TOTP/WebAuthn)дада
Passkey/FIDO2дада
Сложность настройкивысокаясредняя
Интерфейсфункциональный, неуклюжийсовременный, интуитивный
Русский язык UIчастичноесть, хороший перевод
Документацияобширная, часто устаревшаякомпактная, актуальная
Community/РазработкаRed Hat + большое комьюнитинебольшая команда + комьюнити
Horizontal scalingда, с Infinispanда, простая архитектура
API для автоматизацииREST + AdminREST GraphQL-like

Реальный опыт: как мы развернули Authentik у клиента

Клиент — маркетинговое агентство, 45 сотрудников, 14 сервисов. Хотелось «один логин на всё, и 2FA обязательно». Выбрали Authentik — за простоту UI и более скромные требования.

  1. День 1. Подняли VPS 2 vCPU / 4 ГБ RAM / 40 ГБ SSD за 900 ₽/мес. Установили Authentik из официального docker-compose. За 40 минут получили рабочую админку.
  2. День 2. Подключили Active Directory как Source через LDAP. Настроили синхронизацию: 45 пользователей подтянулись за 6 секунд. Включили правило «логин в Authentik = логин в AD» — пользователи вводят свои доменные пароли, которые никогда не уходят за пределы AD.
  3. День 3. Подключили приложения по одному:
    • Nextcloud — OIDC, 5 минут на приложение.
    • GitLab Self-managed — OIDC, 10 минут (надо было чуть поправить scope).
    • Grafana — OIDC, 5 минут.
    • Gitea — OIDC, 5 минут.
    • Rocket.Chat — OAuth2, 10 минут.
    • BookStack — SAML2, 20 минут (SAML всегда менее приятен).
    • amoCRM — нет поддержки SSO в стандартной подписке, пришлось брать Pro-тариф.
    • NetBird VPN — OIDC, 5 минут.
    • Redmine (с плагином) — OIDC, 15 минут.
    • Wiki.js — OIDC, 5 минут.
    • Portainer — OIDC, 5 минут.
    • Proxmox — OIDC, 10 минут.
    • Synology NAS — SAML2, 30 минут (пляски с сертификатом).
    • Mattermost — SAML2, 20 минут.
  4. День 4. Включили обязательный 2FA через TOTP (Google Authenticator). Провели обучение 45 сотрудников в двух группах — 1,5 часа каждая.

Что пошло не так и как исправили

Когда стоит взять Keycloak, а не Authentik

Когда Authentik — правильный выбор

Стоимость проектов

ЭтапAuthentikKeycloak
Установка сервера15 000 ₽22 000 ₽
Интеграция с AD/LDAP12 000 ₽15 000 ₽
Подключение 5 приложений25 000 ₽30 000 ₽
Настройка 2FA и политик10 000 ₽13 000 ₽
Обучение и документация8 000 ₽10 000 ₽
Итого70 000 ₽90 000 ₽

Что мы ведём на абонентке

Сравнение Keycloak и Authentik по техническим параметрам: требования к RAM, CPU, поддержка протоколов
Keycloak требует больше ресурсов, но поддерживает Kerberos, тогда как Authentik легковеснее и проще в настройке.

Первый запуск: чем отличаются Authentik и Keycloak на практике

Authentik ставлю из официального compose-файла. Документация прямо называет этот способ вариантом для тестов и небольших продакшен-инсталляций и требует хост минимум с 2 ядрами CPU и 2 ГБ RAM. До первого запуска в .env кладу пароль PostgreSQL и секретный ключ:

wget https://docs.goauthentik.io/compose.yml
echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env
docker compose pull
docker compose up -d

Пароль PostgreSQL длиннее 99 символов не поддерживается — это ограничение самой СУБД, о нём предупреждает документация. Внутри контейнера Authentik слушает 9000 (HTTP) и 9443 (HTTPS); наружу порты меняю переменными COMPOSE_PORT_HTTP и COMPOSE_PORT_HTTPS. После старта захожу на http://<сервер>:9000 и задаю пароль встроенного пользователя akadmin. Два момента проверяю сразу: не смонтированы ли в контейнеры /etc/timezone и /etc/localtime (Authentik работает в UTC, и подмена часового пояса ломает OAuth и SAML), и нужен ли worker-у доступ к Docker-сокету. Сокет монтируется для автоматического развёртывания outpost-ов; если outpost-ы не нужны, убираю монтирование или ставлю Docker Socket Proxy.

Keycloak запускается в двух режимах. kc.sh start-dev включает HTTP, отключает строгую проверку hostname и использует локальный кэш — только для проб. kc.sh start без настроенного hostname и TLS намеренно не стартует и выдаёт ошибку: это принцип secure by default. Поэтому к Keycloak я заранее готовлю сертификат, имя и обратный прокси, а консоль администратора публикую на отдельном hostname или пути и закрываю её снаружи — так советует руководство по продакшен-настройке.

Подключение Active Directory: какие параметры проверяю

В Authentik источник LDAP создаётся в разделе Directory → Federation and Social login. Что выставляю:

В Keycloak решение, которое потом сложно отменить, — Edit Mode у провайдера LDAP. READ_ONLY запрещает менять атрибуты и пароль из Keycloak. WRITABLE пишет изменения обратно в каталог. UNSYNCED хранит изменения только в своей базе. Документация предупреждает: начальные мапперы создаются под выбранный режим и при его смене не перестраиваются. Поэтому режим выбираю при создании провайдера — для AD почти всегда READ_ONLY. Там же есть Periodic Full sync и Periodic Changed users sync, а вход по Kerberos без ввода пароля включается опцией Allow Kerberos authentication.

Мониторинг IdP: как понять, что вход сейчас работает

Если IdP лежит, не пускает никуда, поэтому проверки ставлю в Zabbix в первый же день. У Keycloak есть четыре эндпоинта здоровья — /health/started, /health/live, /health/ready и сводный /health. Они включаются опцией сборки --health-enabled=true и по умолчанию висят на порту управления 9000, а не на основном. Ответ 200 значит UP, 503 — сбой. Балансировщик направляю по /health/ready: пока идёт миграция базы при старте, этот эндпоинт отдаёт DOWN, и трафик на узел не пойдёт. Для Authentik дополнительно слежу за контейнерами server и worker и за резервной копией PostgreSQL — после истории с бэкапами выше это пункт номер один.

FAQ

Зачем SSO офису на 50 РМ?
Сотрудник каждое утро логинится в 7–12 разных сервисов. Без SSO это 12 паролей, половина слабых. SSO — один логин, 2FA, прозрачное отключение при увольнении.
Что лучше для SMB: Authentik или Keycloak?
Для офиса до 100 РМ — чаще Authentik: проще UI, легче установка, меньше RAM. Keycloak — мощнее, но требует больше опыта. Есть Java-разработчики — берите Keycloak.
Можно ли подружить с Active Directory?
Оба подтягивают пользователей из AD по LDAP. Логин в SSO идёт паролем из AD, блокировка доменной учётки = блокировка везде.
Сколько стоит внедрение?
Базовый SSO для 30–60 РМ с 5–7 приложениями — от 70 000 ₽, срок 3–4 дня. Каждое дополнительное приложение — 4 000–8 000 ₽.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

Источники

📄
Скачайте подробный разбор в PDF Кейсы, статистика, типовые ошибки и чек-лист самопроверки — 12 страниц
Скачать PDF

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Письмо придёт в течение минутыНе нашли его во «Входящих» — загляните в папку «Спам» или «Промоакции» и нажмите «Не спам». Так все следующие выпуски будут приходить прямо в основную почту.
Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.