Что такое Keycloak?

Поделиться постом

Содержание

Рано или поздно крупные компании, имеющие большое количество пользователей или несколько приложений сталкиваются с проблемами идентификации и управления доступом. Основные из них:

  • Отсутствие централизованной системы хранения данных. В организации может быть несколько программных продуктов или систем, данные из которых храниться в разных местах
  • Уязвимость данных пользователей и шифрование. Часто компании используют незащищенный протокол LDAP для доступа к информации на серверах каталогов
  • Сложность интеграции. Для того чтобы различные системы могли корректно работать друг с другом, необходимо написание интеграционного адаптера, что требует временных затрат. По мере увеличения количества программных продуктов данная ситуация будет усугубляться
  • Дополнительные затраты на интеграцию. Если в компании отсутствует единая точка входа, то для каждого нового приложения потребуется дополнительный адаптер

Поэтому возникает необходимость использования единого сервера с возможностью доступа к различным сервисам или приложениям с единой системой идентификации и управления доступом. С такой задачей поможет справиться система Keycloak. Из всех представителей подобных решений она является наиболее гибкой. В системе могут быть созданы различные сценарии использования, настройки достаточно гибкие, а функционал масштабируемый.

Keycloak уже внедрили такие крупные представители российского рынка,
как Fix Price, X5 Group, Россельхозбанк, Сбер и многие другие.

Основная терминология

Рассмотрим некоторые ключевые термины, которые необходимо понимать:

Идентификация – процедура распознавания пользователя, путем проверки имени, логина, пароля и т.д. Рассматриваемая система проверяет эти данные и определяет, имеет ли пользователь доступ к запрашиваемому ресурсу.

Аутентификация –  это процесс подтверждения того, что пользователь является тем, за кого он себя выдает. В Keycloak аутентификация выполняется с использованием токенов или сертификатов, которые подтверждают личность пользователя.

Авторизация  предоставление или отказ в доступе к определенным ресурсам на основе ролей, разрешений и политик безопасности. В Keycloak авторизация выполняется с использованием правил доступа, которые определяют, какие действия пользователь может выполнять с определенными ресурсами.

Идентификация и авторизация
  • Учетные данные – это фрагменты данных, которые Keycloak использует для проверки личности пользователя. Некоторые примеры – пароли, цифровые сертификаты или даже отпечатки пальцев.
  • Клиентские адаптеры – это плагины, которые вы устанавливаете в среду своего приложения, чтобы иметь возможность взаимодействовать и быть защищенными с помощью Keycloak. Сама система предлагает ряд адаптеров для различных платформ, которые вы можете скачать. Также вы можете приобрести адаптеры сторонних производителей.
  • Realm – контейнер для клиентов (приложений). Это автономный домен безопасности, в котором находятся все компоненты модели безопасности (пользователи, группы, роли, клиенты и т.д.). Каждая область имеет свой собственный набор политик безопасности, конфигурации и механизмы аутентификации.

Что такое Keycloak?

Keycloak — это система идентификации и управления доступом с открытым исходным кодом (Open Source), которая позволяет управлять идентификацией пользователей, контролировать доступ к приложениям и данным, обеспечивая единую точку входа (SSO). 
 
Keycloak упрощает настройку доступа, восстановление пароля, редактирование профиля и рассылки одноразовых паролей, избавляя разработчиков от необходимости создавать дополнительные формы входа. С Keycloak эти процессы могут быть интегрированы всего несколькими щелчками мыши.

Возможности системы

  • Защиты токенов. Система обеспечивает генерацию, хранение и управление токенами безопасности, такими как JWT и SSO
  • Авторизации через социальные сети. Также администратор может настраивать сложные политики доступа
  • Защиты данных. Платформа имеет встроенные функции безопасности, такие как двухфакторная аутентификация, шифрование паролей и аудит действий пользователей
  • Назначения ролей для администраторов с ограничениями функционала
  • Управления учетными записями. Keycloak позволяет администраторам контролировать и управлять учетными записями пользователей, включая создание, обновление, блокировку и удаление
  • Интеграции с другими системами. Keycloak поддерживает интеграцию с различными приложениями и платформами, облегчая процесс аутентификации для конечных пользователей
  • Настройки внешнего вида как административной панели, так и формы регистрации пользователей
  • Гибкой кастомизации под нужды пользователя с возможностью внедрения дополнительных плагинов

Система поддерживает несколько стандартов аутентификации и авторизации пользователей: OpenID Connect, SAML, OAuth 2.0. При этом в зависимости от стандарта предлагаются готовые шаблоны адаптеров

Архитектура

Keycloak состоит из нескольких основных компонентов, которые взаимодействуют друг с другом для обеспечения надежной и гибкой системы идентификации и управления доступомОсновными компонентами системы являются:

  • Keycloak Server: основной компонент системы, который обеспечивает аутентификацию и авторизацию пользователей, а также поддерживает интеграцию с различными сервисами и приложениями. Он также предоставляет интерфейс управления для администраторов и разработчиков.
  • Keycloak Admin Console: интерфейс управления, который позволяет администраторам управлять пользователями, ролями, группами
    и другими аспектами системы.
  • Keycloak Clients: приложения, которые используют Keycloak для аутентификации и получения доступа к ресурсам. Они могут быть
    как веб-приложениями, так и мобильными или серверными приложениями.
  • Keycloak Realm: области, в которых определяются пользователи, роли, группы и политики доступа. Каждый realm представляет собой отдельную область управления доступом, что позволяет гибко настраивать систему для разных групп пользователей или приложений.

Режимы запуска сервера Keycloak

Существует два режима запуска Keycloak:

  • Development Mode
  • Production Mode

Development Mode – в этом режиме Keycloak предоставляет дополнительные функции, помогающие в разработке и тестировании, такие как оперативная перезагрузка изменений конфигурации, упрощенное ведение журнала
и автоматическое создание схемы базы данных. Режим разработки
предназначен только для использования в среде разработки и не должен использоваться в рабочей среде

Production Mode – в этом режиме Keycloak обеспечивает улучшенные функции производительности и безопасности. Рекомендуется использовать в сочетании с другими технологиями, такими как балансировщики нагрузки, базы данных и кэши, для обеспечения высокой доступности и производительности.

Использование Keycloak в бизнесе

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

  • E-commerce. Может использоваться для аутентификации пользователей на веб-сайтах электронной коммерции, управления учетными записями и авторизации доступа к различным функциям сайта
  • Финансы. Банки и финансовые учреждения могут использовать Keycloak для аутентификации клиентов и управления их учетными данными
  • Здравоохранение. Больницы и медицинские центры могут внедрить систему для обеспечения безопасности и контроля доступа к медицинским данным
  • Образование. Университеты и колледжи могут использовать Keycloak для управления учетными записями студентов и преподавателей, а также для авторизации доступа к учебным материалам и ресурсам
  • Промышленность. Промышленные предприятия могут контролировать доступ к производственным системам и учета рабочего времени сотрудников
  • Управление. Государственные учреждения могут управлять доступом к правительственным сайтам и приложениям, а также контролировать и учитывать пользовательские учетные записи

Внедрение и поддержка системы Keycloak

Стоит отметить, что при внедрении Keycloak компании часто сталкиваются с проблемами корректной настройки системы, поскольку работы ведутся в нескольких проекциях. Нужно обладать определенным опытом во внедрении подобных решений и уметь читать техническую документацию.

Дайнемик Сан обладает компетенциями и опытом, которые позволят максимально комфортно и в кратчайшие сроки реализовать рассматриваемое решение. Мы оказываем услуги как по внедрению, так и по поддержке системы Keycloak.

Мы успешно реализовали проект по мониторингу аналитических систем для Газпрома, в рамках которого необходимо было организовать вход в приложение через централизованный сервер, а также произвести интеграцию с уже имеющимися на предприятии системами, содержащими информацию о пользователях.

Также у нас есть опыт кастомизации системы под нужды заказчика. Например, в проекте защиты экспертов, был изменен внешний вид страницы входа под корпоративный стиль, добавлены дополнительные окна, подключена функция проверки кодов для доступа к информации, создан дополнительный упрощенный интерфейс для некоторых ролей административной панели.

Мы с радостью поможем внедрить или доработать Keycloak на вашем предприятии, окажем услуги по его поддержке. Подробнее можно узнать здесь.

Заключение

Система Keycloak является мощным и гибким инструментом для управления доступом и аутентификацией в корпоративных системах. Она предоставляет множество функциональных возможностей, которые позволяют организациям обеспечивать безопасность своих ресурсов и управлять доступом пользователей к ним.

Поделиться постом

Похожие статьи

Наши контакты

Мы ответим на вашу заявку в течение 1-2 рабочих дней

Москва, Зеленоград, Георгиевский проспект, дом 5, стр. 1, офис 70

    персональных данных