0 added
0 removed
Original
2026-01-01
Modified
2026-02-19
1
<ul><li>/</li>
1
<ul><li>/</li>
2
<li>/</li>
2
<li>/</li>
3
</ul><p>DevOps • Инженерам • 14 апреля 2025 • 13 мин чтения</p>
3
</ul><p>DevOps • Инженерам • 14 апреля 2025 • 13 мин чтения</p>
4
<p>Если вы когда-либо логинились через Google, GitHub или Facebook, не создавая аккаунт - вы уже сталкивались с SSO (Single Sign-On). Именно так работает Keycloak - опенсорс-платформа для идентификации и управления доступом.</p>
4
<p>Если вы когда-либо логинились через Google, GitHub или Facebook, не создавая аккаунт - вы уже сталкивались с SSO (Single Sign-On). Именно так работает Keycloak - опенсорс-платформа для идентификации и управления доступом.</p>
5
<p>Расскажем, что такое Keycloak простыми словами - откуда он взялся, как устроен внутри и почему это решение выбирают даже те, кто раньше предпочитал самописные.</p>
5
<p>Расскажем, что такое Keycloak простыми словами - откуда он взялся, как устроен внутри и почему это решение выбирают даже те, кто раньше предпочитал самописные.</p>
6
<h2>Почему Keycloak важен?</h2>
6
<h2>Почему Keycloak важен?</h2>
7
<p><strong>Современные приложения</strong>- это множество микросервисов. Удержать контроль над доступом сложно. Keycloak - решение от Red Hat, которое централизует управление пользователями, ролями и правами. Он экономит время на разработку, снижает риски уязвимостей, поддерживает OAuth2, OpenID Connect, SAML и хранит пользователей централизованно.</p>
7
<p><strong>Современные приложения</strong>- это множество микросервисов. Удержать контроль над доступом сложно. Keycloak - решение от Red Hat, которое централизует управление пользователями, ролями и правами. Он экономит время на разработку, снижает риски уязвимостей, поддерживает OAuth2, OpenID Connect, SAML и хранит пользователей централизованно.</p>
8
<p><strong>С его помощью можно:</strong></p>
8
<p><strong>С его помощью можно:</strong></p>
9
<ul><li>подключать вход через соцсети;</li>
9
<ul><li>подключать вход через соцсети;</li>
10
<li>управлять доступом централизованно;</li>
10
<li>управлять доступом централизованно;</li>
11
<li>защищать API токенами;</li>
11
<li>защищать API токенами;</li>
12
<li>делегировать авторизацию внешним системам.</li>
12
<li>делегировать авторизацию внешним системам.</li>
13
</ul><p>Для DevOps это не просто удобство - это необходимость. Без Keycloak система превращается в набор незащищённых точек входа.</p>
13
</ul><p>Для DevOps это не просто удобство - это необходимость. Без Keycloak система превращается в набор незащищённых точек входа.</p>
14
<h3><strong>Кто использует Keycloak?</strong></h3>
14
<h3><strong>Кто использует Keycloak?</strong></h3>
15
<p>Банки, госструктуры, вузы, стартапы и корпорации ценят его за простоту, масштабируемость и поддержку протоколов.</p>
15
<p>Банки, госструктуры, вузы, стартапы и корпорации ценят его за простоту, масштабируемость и поддержку протоколов.</p>
16
<h3>Как он работает?</h3>
16
<h3>Как он работает?</h3>
17
<p>Установил, подключил - и пользователи логинятся. Админ настраивает доступ, разработчик - интегрирует API. Безопасность: аудит, MFA, логирование - уже встроены. Keycloak - это стандарт в мире микросервисов.</p>
17
<p>Установил, подключил - и пользователи логинятся. Админ настраивает доступ, разработчик - интегрирует API. Безопасность: аудит, MFA, логирование - уже встроены. Keycloak - это стандарт в мире микросервисов.</p>
18
<h3><strong>Принцип работы</strong></h3>
18
<h3><strong>Принцип работы</strong></h3>
19
<p>Один аккаунт - множество сервисов. Это и есть SSO. Keycloak написан на Java и поддерживает стандарты<strong>OAuth2, OIDC и SAML</strong>.</p>
19
<p>Один аккаунт - множество сервисов. Это и есть SSO. Keycloak написан на Java и поддерживает стандарты<strong>OAuth2, OIDC и SAML</strong>.</p>
20
<p><strong>Он подходит:</strong></p>
20
<p><strong>Он подходит:</strong></p>
21
<ul><li><strong>разработчикам</strong>- для быстрой авторизации;</li>
21
<ul><li><strong>разработчикам</strong>- для быстрой авторизации;</li>
22
<li><strong>бизнесу</strong>- для управления доступом;</li>
22
<li><strong>бизнесу</strong>- для управления доступом;</li>
23
<li><strong>пользователям</strong>- для удобного входа.</li>
23
<li><strong>пользователям</strong>- для удобного входа.</li>
24
</ul><p>Встроены MFA, политики паролей, подтверждение почты и восстановление доступа.</p>
24
</ul><p>Встроены MFA, политики паролей, подтверждение почты и восстановление доступа.</p>
25
<ul><li>На курсе<strong><a>"Безопасность проекта: аутентификация в Keycloak"</a></strong>мы продемонстрируем, где можно найти готовые решения и как их эффективно интегрировать.</li>
25
<ul><li>На курсе<strong><a>"Безопасность проекта: аутентификация в Keycloak"</a></strong>мы продемонстрируем, где можно найти готовые решения и как их эффективно интегрировать.</li>
26
</ul><h3>Возможности Keycloak</h3>
26
</ul><h3>Возможности Keycloak</h3>
27
<ol><li><strong>Роли и политики</strong>- назначение прав по ролям, группам и атрибутам.</li>
27
<ol><li><strong>Роли и политики</strong>- назначение прав по ролям, группам и атрибутам.</li>
28
<li><strong>Поддержка протоколов</strong>- подключение к большинству платформ.</li>
28
<li><strong>Поддержка протоколов</strong>- подключение к большинству платформ.</li>
29
<li><strong>Безопасность</strong>- защита микросервисов, двухфакторка, внешние IDP, журнал входов.</li>
29
<li><strong>Безопасность</strong>- защита микросервисов, двухфакторка, внешние IDP, журнал входов.</li>
30
</ol><p><strong>Keycloak</strong>- это щит DevSecOps-инженера: строит безопасную систему без костылей.</p>
30
</ol><p><strong>Keycloak</strong>- это щит DevSecOps-инженера: строит безопасную систему без костылей.</p>
31
<p>Дарим демодоступ к обучению на 1 день, чтобы вы познакомились с материалами и спикерами курса!</p>
31
<p>Дарим демодоступ к обучению на 1 день, чтобы вы познакомились с материалами и спикерами курса!</p>
32
<p>Начните бесплатно изучать работу с Keyсloak</p>
32
<p>Начните бесплатно изучать работу с Keyсloak</p>
33
<h3>Пример запуска через Docker</h3>
33
<h3>Пример запуска через Docker</h3>
34
<p>docker run -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ quay.io/keycloak/keycloak:latest \ start-dev</p>
34
<p>docker run -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ quay.io/keycloak/keycloak:latest \ start-dev</p>
35
<p>После запуска можно перейти по адресу http://localhost:8080 и настроить Realm, клиентов и пользователей.</p>
35
<p>После запуска можно перейти по адресу http://localhost:8080 и настроить Realm, клиентов и пользователей.</p>
36
<h3>Пример подключения в Node.js</h3>
36
<h3>Пример подключения в Node.js</h3>
37
<p>const Keycloak = require('keycloak-connect');const session = require('express-session');const memoryStore = new session.MemoryStore();</p>
37
<p>const Keycloak = require('keycloak-connect');const session = require('express-session');const memoryStore = new session.MemoryStore();</p>
38
<p>const keycloak = new Keycloak({ store: memoryStore });app.use(keycloak.middleware());</p>
38
<p>const keycloak = new Keycloak({ store: memoryStore });app.use(keycloak.middleware());</p>
39
<p><strong>Keycloak</strong>- это щит DevSecOps-инженера: строит безопасную систему без костылей.</p>
39
<p><strong>Keycloak</strong>- это щит DevSecOps-инженера: строит безопасную систему без костылей.</p>
40
<h2>SSO и микросервисная архитектура</h2>
40
<h2>SSO и микросервисная архитектура</h2>
41
<p>Если в вашем проекте несколько микросервисов, без общей системы аутентификации всё превращается в хаос. Каждый сервис требует логин, отдельную сессию и свою безопасность.</p>
41
<p>Если в вашем проекте несколько микросервисов, без общей системы аутентификации всё превращается в хаос. Каждый сервис требует логин, отдельную сессию и свою безопасность.</p>
42
<h3>Что такое SSO?</h3>
42
<h3>Что такое SSO?</h3>
43
<p><strong>SSO (Single Sign-On)</strong>- это механизм, при котором пользователь входит один раз и получает доступ ко всем приложениям без повторного ввода логина и пароля.</p>
43
<p><strong>SSO (Single Sign-On)</strong>- это механизм, при котором пользователь входит один раз и получает доступ ко всем приложениям без повторного ввода логина и пароля.</p>
44
<p><strong>Пример</strong>: у вас фронтенд, API, админка и аналитика. С Keycloak пользователь входит один раз - и работает с ними всеми, без лишних проверок.</p>
44
<p><strong>Пример</strong>: у вас фронтенд, API, админка и аналитика. С Keycloak пользователь входит один раз - и работает с ними всеми, без лишних проверок.</p>
45
<h3><strong>Как работает SSO в Keycloak?</strong></h3>
45
<h3><strong>Как работает SSO в Keycloak?</strong></h3>
46
<p><strong>Keycloak:</strong></p>
46
<p><strong>Keycloak:</strong></p>
47
<ul><li>аутентифицирует пользователя;</li>
47
<ul><li>аутентифицирует пользователя;</li>
48
<li>создаёт сессию;</li>
48
<li>создаёт сессию;</li>
49
<li>выдаёт токен (JWT) с правами;</li>
49
<li>выдаёт токен (JWT) с правами;</li>
50
<li>передаёт его между сервисами.</li>
50
<li>передаёт его между сервисами.</li>
51
</ul><p>Токен можно автоматически обновлять (refresh token), и пользователь не замечает сложностей.</p>
51
</ul><p>Токен можно автоматически обновлять (refresh token), и пользователь не замечает сложностей.</p>
52
<h3>Почему это удобно?</h3>
52
<h3>Почему это удобно?</h3>
53
<ul><li><strong>Безопасно</strong>- меньше точек атаки.</li>
53
<ul><li><strong>Безопасно</strong>- меньше точек атаки.</li>
54
<li><strong>Просто в управлении</strong>- один центр доступа.</li>
54
<li><strong>Просто в управлении</strong>- один центр доступа.</li>
55
<li><strong>Экономно</strong>- не нужно дублировать код.</li>
55
<li><strong>Экономно</strong>- не нужно дублировать код.</li>
56
<li><strong>Гибко</strong>- можно подключить Telegram, LDAP и др.</li>
56
<li><strong>Гибко</strong>- можно подключить Telegram, LDAP и др.</li>
57
</ul><p><strong>Изучите Keycloak, чтобы защищать данные без сложностей!</strong>На курсе от Слёрм вы получите фундаментальные знания по обеспечению безопасности проекта</p>
57
</ul><p><strong>Изучите Keycloak, чтобы защищать данные без сложностей!</strong>На курсе от Слёрм вы получите фундаментальные знания по обеспечению безопасности проекта</p>
58
<h3><strong>Установка и настройка</strong></h3>
58
<h3><strong>Установка и настройка</strong></h3>
59
<p>Keycloak легко развернуть даже новичку в DevOps.</p>
59
<p>Keycloak легко развернуть даже новичку в DevOps.</p>
60
<p>Быстрый запуск через Docker</p>
60
<p>Быстрый запуск через Docker</p>
61
<p>docker run -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ quay.io/keycloak/keycloak:latest \ start-dev</p>
61
<p>docker run -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ quay.io/keycloak/keycloak:latest \ start-dev</p>
62
<p>После запуска заходите на http://localhost:8080, входите как admin и настраиваете realm, клиентов и пользователей.</p>
62
<p>После запуска заходите на http://localhost:8080, входите как admin и настраиваете realm, клиентов и пользователей.</p>
63
<h3>Интеграция с приложением</h3>
63
<h3>Интеграция с приложением</h3>
64
<p>Чтобы подключить Keycloak:</p>
64
<p>Чтобы подключить Keycloak:</p>
65
<ol><li>Зарегистрируйте приложение как<strong>client</strong>.</li>
65
<ol><li>Зарегистрируйте приложение как<strong>client</strong>.</li>
66
<li>Выберите протокол (чаще OpenID Connect).</li>
66
<li>Выберите протокол (чаще OpenID Connect).</li>
67
<li>Укажите URL редиректов.</li>
67
<li>Укажите URL редиректов.</li>
68
<li>Настройте авторизацию.</li>
68
<li>Настройте авторизацию.</li>
69
</ol><p><strong>Пример на Node.js:</strong></p>
69
</ol><p><strong>Пример на Node.js:</strong></p>
70
<p>const Keycloak = require('keycloak-connect');const session = require('express-session');const keycloak = new Keycloak({ store: memoryStore });app.use(keycloak.middleware());</p>
70
<p>const Keycloak = require('keycloak-connect');const session = require('express-session');const keycloak = new Keycloak({ store: memoryStore });app.use(keycloak.middleware());</p>
71
<p>Есть библиотеки для Java, .NET, Python, PHP.</p>
71
<p>Есть библиотеки для Java, .NET, Python, PHP.</p>
72
<h3>Безопасность</h3>
72
<h3>Безопасность</h3>
73
<p>В панели администратора можно:</p>
73
<p>В панели администратора можно:</p>
74
<ul><li>включить 2FA;</li>
74
<ul><li>включить 2FA;</li>
75
<li>задать правила паролей;</li>
75
<li>задать правила паролей;</li>
76
<li>настроить подтверждение по почте;</li>
76
<li>настроить подтверждение по почте;</li>
77
<li>ограничить вход по IP;</li>
77
<li>ограничить вход по IP;</li>
78
<li>подключить Google, Telegram, LDAP и др.</li>
78
<li>подключить Google, Telegram, LDAP и др.</li>
79
</ul><h3>Инсталляции для продакшн</h3>
79
</ul><h3>Инсталляции для продакшн</h3>
80
<p><strong>Рекомендации:</strong></p>
80
<p><strong>Рекомендации:</strong></p>
81
<ul><li>использовать Kubernetes или Docker Compose;</li>
81
<ul><li>использовать Kubernetes или Docker Compose;</li>
82
<li>подключить внешнюю БД (PostgreSQL, MySQL);</li>
82
<li>подключить внешнюю БД (PostgreSQL, MySQL);</li>
83
<li>настроить HTTPS и ключи;</li>
83
<li>настроить HTTPS и ключи;</li>
84
<li>включить аудит и резервное копирование.</li>
84
<li>включить аудит и резервное копирование.</li>
85
</ul><p><strong>Keycloak</strong>подходит как стартапам, так и распределённым системам.</p>
85
</ul><p><strong>Keycloak</strong>подходит как стартапам, так и распределённым системам.</p>
86
<h3>Использование в бизнесе</h3>
86
<h3>Использование в бизнесе</h3>
87
<p><strong>Система входа</strong>- это критичный элемент. Ошибки могут привести к утечкам и штрафам. Keycloak решает это:</p>
87
<p><strong>Система входа</strong>- это критичный элемент. Ошибки могут привести к утечкам и штрафам. Keycloak решает это:</p>
88
<ul><li><strong>В банках</strong>- контроль доступа к операциям.</li>
88
<ul><li><strong>В банках</strong>- контроль доступа к операциям.</li>
89
<li><strong>В госуслугах</strong>- единый вход в сервисы.</li>
89
<li><strong>В госуслугах</strong>- единый вход в сервисы.</li>
90
<li><strong>В образовании</strong>- логин студентов, преподавателей, админов.</li>
90
<li><strong>В образовании</strong>- логин студентов, преподавателей, админов.</li>
91
<li><strong>В e-commerce</strong>- соцсети, разграничение прав менеджеров.</li>
91
<li><strong>В e-commerce</strong>- соцсети, разграничение прав менеджеров.</li>
92
</ul><h3><strong>Пример: SaaS</strong></h3>
92
</ul><h3><strong>Пример: SaaS</strong></h3>
93
<p>У каждого клиента - свой Realm и свои пользователи. Вы управляете доступом масштабируемо - от 10 до 10 000 пользователей.</p>
93
<p>У каждого клиента - свой Realm и свои пользователи. Вы управляете доступом масштабируемо - от 10 до 10 000 пользователей.</p>
94
<h3>Пример: Интранет</h3>
94
<h3>Пример: Интранет</h3>
95
<p>Компания с филиалами. Подключается:</p>
95
<p>Компания с филиалами. Подключается:</p>
96
<ul><li>LDAP;</li>
96
<ul><li>LDAP;</li>
97
<li>вход по e-mail/телефону;</li>
97
<li>вход по e-mail/телефону;</li>
98
<li>MFA;</li>
98
<li>MFA;</li>
99
<li>разграничение прав (HR, бухгалтерия и др.).</li>
99
<li>разграничение прав (HR, бухгалтерия и др.).</li>
100
</ul><p>Keycloak сокращает затраты, ускоряет онбординг, повышает безопасность.</p>
100
</ul><p>Keycloak сокращает затраты, ускоряет онбординг, повышает безопасность.</p>
101
<h2>Заключение</h2>
101
<h2>Заключение</h2>
102
<p><strong>Keycloak</strong>- это база для безопасности. Он:</p>
102
<p><strong>Keycloak</strong>- это база для безопасности. Он:</p>
103
<ul><li>экономит ресурсы;</li>
103
<ul><li>экономит ресурсы;</li>
104
<li>упрощает масштабирование;</li>
104
<li>упрощает масштабирование;</li>
105
<li>защищает пользователей;</li>
105
<li>защищает пользователей;</li>
106
<li>поддерживает DevSecOps-подход.</li>
106
<li>поддерживает DevSecOps-подход.</li>
107
</ul><p>Если вы хотите быстро внедрить авторизацию и построить надёжную систему - это ваш выбор.</p>
107
</ul><p>Если вы хотите быстро внедрить авторизацию и построить надёжную систему - это ваш выбор.</p>
108
<p>🔐<strong>Готовы освоить Keycloak и прокачать навыки в DevSecOps?</strong></p>
108
<p>🔐<strong>Готовы освоить Keycloak и прокачать навыки в DevSecOps?</strong></p>
109
<p>Записывайтесь на курс<strong><a>"Безопасность проекта: аутентификация в Keycloak"</a></strong>и получите реальный опыт работы с одной из самых востребованных платформ идентификации. Без теории ради теории. Только практика и пошаговое внедрение в ваш стек.</p>
109
<p>Записывайтесь на курс<strong><a>"Безопасность проекта: аутентификация в Keycloak"</a></strong>и получите реальный опыт работы с одной из самых востребованных платформ идентификации. Без теории ради теории. Только практика и пошаговое внедрение в ваш стек.</p>
110
<p><strong>Всё - чтобы ваш проект был защищён с самого старта.</strong></p>
110
<p><strong>Всё - чтобы ваш проект был защищён с самого старта.</strong></p>
111
<h3><strong>Статью подготовили</strong></h3>
111
<h3><strong>Статью подготовили</strong></h3>
112
<p>Понравилась статья? Будем рады вашему лайку и репосту - вдруг кому-то тоже пригодится:)</p>
112
<p>Понравилась статья? Будем рады вашему лайку и репосту - вдруг кому-то тоже пригодится:)</p>
113
<h3><strong>Читайте также:</strong></h3>
113
<h3><strong>Читайте также:</strong></h3>
114
114