
Keycloak — единый вход (SSO) для ваших приложений
Keycloak одной командой: единый вход по OpenID Connect и SAML, пользователи, роли, двухфакторка, вход через Google, GitHub и LDAP. PostgreSQL, HTTPS, бэкапы.
У каждого внутреннего сервиса свой логин: Grafana, вики, CRM, админки. Сотрудник уходит — доступы приходится закрывать в десяти местах, а двухфакторка есть только там, где её сделали разработчики.
Keycloak — сервер единого входа от Red Hat: пользователи входят один раз и попадают во все подключённые приложения. Протоколы OpenID Connect, OAuth 2.0 и SAML, роли и группы, двухфакторка, вход через Google, GitHub, корпоративный AD/LDAP, свои страницы входа. Стандарт для своих приложений и для готовых сервисов, которые умеют SSO.
Что получаете
- Keycloak 26.8.1 — последняя стабильная версия, в production-режиме, с PostgreSQL 17 (база не торчит наружу).
- Адрес прописан правильно — токены и ссылки входа выдаются на ваш домен, за прокси Keycloak понимает
X-Forwarded-*. - Временный администратор создаётся при установке, пароль — в итоге и в
rs keycloak admin. - Свой адрес с HTTPS — сертификат Let's Encrypt выпускается и продлевается сам.
- Бэкапы одной командой — дамп базы (realms, пользователи, клиенты) и настройки; хранятся последние 14.
- Доступ только с ваших IP — если вход нужен только из офиса и VPN.
Кому подойдёт
- Командам с несколькими внутренними сервисами, которым нужен один вход и одно место для отключения доступа.
- Разработчикам: авторизация для своих приложений по OpenID Connect без написания своей.
- Компаниям с AD/LDAP, которые хотят SSO для веб-сервисов.
Как установить
- Подготовьте сервер с Ubuntu или Debian. Направьте A-запись домена, например
sso.example.com, на IP сервера. - Скопируйте команду из блока «Скачать» — он появится после входа. В команде ваш личный токен, он действует 12 часов.
- Выполните её на сервере и ответьте на вопросы:
Language / Язык (en / ru) [en]: ru
Версия Keycloak (последняя стабильная: 26.8.1) [26.8.1]:
Каталог установки (данные, настройки, бэкапы) [/opt/keycloak]:
Режим: public — свой домен с HTTPS (Let's Encrypt), local — порт на этом сервере для вашего прокси (public / local) [local]: public
Домен (A-запись должна указывать на этот сервер): sso.example.com
Email для Let's Encrypt: admin@example.com
Пускать только с этих IP/подсетей:
- Войдите в консоль
https://sso.example.com/admin/временным администратором из итога установки. - Создайте постоянного администратора в realm
master(Users → Add user, рольadmin), войдите под ним и удалите временного. - Создайте отдельный realm для своих приложений и подключайте их там (Clients → Create client), а не в
master.
Системные требования
| Минимум | С запасом | |
|---|---|---|
| ОС | Ubuntu 22.04 / 24.04, Debian 12+ | Ubuntu 24.04 |
| Процессор | 1 vCPU, amd64 или arm64 | 2 vCPU |
| Память | 2 ГБ | 4 ГБ |
| Диск | 10 ГБ | 20 ГБ SSD |
У Keycloak есть руководство по размеру для кластеров; для одного сервера цифры наши, минимум проверяет установщик. Первый запуск — до нескольких минут: Keycloak собирается под настройки и создаёт таблицы.
- Права root (
sudo). Docker поставится сам. - Для режима с доменом: A-запись на сервер и свободные порты 80 и 443.
- Доступ к Docker Hub. Если он заблокирован, добавьте зеркало:
RS_REGISTRY_MIRROR=https://mirror.gcr.io.
Управление после установки
rs keycloak status адрес, версия и доступное обновление, бэкапы
rs keycloak admin показать временного администратора
rs keycloak backup бэкап в /opt/keycloak/backups (хранятся 14)
rs keycloak upgrade [версия] бэкап → новая версия
rs keycloak access "203.0.113.10" пускать только эти IP (off — снять)
rs keycloak stop | start остановить / запустить
rs keycloak down удалить контейнеры, данные остаются
rs keycloak purge полное удаление по шагам, бэкапы не трогаются
Повторный запуск установки безопасен: данные, ключи и версия сохраняются. Все команды и частые ошибки — в вики.
Вопросы
Сколько стоит? Установка сейчас бесплатная. Keycloak — открытый проект под лицензией Apache 2.0.
Keycloak или authentik? Keycloak — стандарт для своих приложений и крупных внедрений: много протоколов и интеграций, большое сообщество. authentik проще в настройке, у него есть портал приложений и прокси-авторизация для сервисов без своего логина. Для внутренних сервисов небольшой команды обычно удобнее authentik.
Что будет при смене домена? Адрес вшит в токены. Установите заново с новым доменом (или KC_PUBLIC_URL=https://… rs keycloak install в режиме local) и обновите адрес в настройках подключённых приложений.
Официальные ресурсы
Материалы доступны после входа и подтверждения email.
