Keycloak — открытый сервер идентификации и управления доступом (IdP), поддерживает OpenID Connect, OAuth 2.0 и SAML 2.0. На практике он становится «центром тяжести» для входа в систему, SSO и разграничения прав в микросервисной архитектуре. За 4 часа участники научатся переводить бизнес‑требования в модели ролей/атрибутов, выбирать правильные grant‑flows, задавать сроки жизни токенов, понимать состав токена и интегрировать API через шлюз.
■ Практика за 4 часа (на кейсе Shop&Ship)
Поднимем Keycloak в Docker Compose и создадим учебный realm Shop&Ship.
Разберём roles / groups / client scopes / mappers и спроектируем матрицу доступа: пользователи, операторы поддержки, интеграционные сервисы.
Сформируем ID/Access/Refresh токены и посмотрим, какие claims туда попадут (email/role/tenant и т. п.).
Включим MFA (TOTP) и базовые password policies.
Поймём разницу RBAC (roles) и ABAC (attributes) и где уместны Authorization Services (resource‑based permissions).
Показуем интеграцию за шлюзом (Kong OIDC plugin): проверка JWT/JWKS, проброс ролей в заголовки.
■ Вы уйдёте с результатами
Технический кругозор по IAM: ключевые понятия OIDC/OAuth2, как выбирать flow (Auth Code + PKCE vs Client Credentials), как читать токены и настраивать scopes/claims.
Проектные артефакты для документации:
экспорт realm’а (JSON) с клиентами, ролями, группами;
матрица ролей и полномочий (шаблон);
чек‑лист выбора grant‑flow и шаблон non‑functional требований (TTL токенов, MFA, политика паролей, сессии).
Понимание, как Keycloak встраивается в архитектуру: фронт → шлюз API → сервисы, отладка и точки ответственности.
■ Программа на 4 часа
Контекст и модель (0:00–0:25) — OIDC 101: потоки, токены, роли/атрибуты, где в архитектуре живёт Keycloak.
Разворачиваем стенд (0:25–0:45) — Docker Compose, первый вход в Admin Console, создание realm Shop&Ship.
Клиенты и токены (0:45–1:30) — Web/SPA (Auth Code + PKCE), M2M (client credentials), scopes, mappers, просмотр ID/Access токенов.
Роли, группы, матрица прав (1:30–2:10) — realm roles vs client roles, группы, наследование; сборка матрицы в шаблоне.
Авторизация и политики (2:10–2:40) — RBAC/ABAC, обзор Authorization Services, когда нужны resource‑permissions.
Интеграция со шлюзом (2:40–3:10) — Kong OIDC: верификация JWT, проброс ролей.