HTML Diff
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