• Русский
  • Введение

    Введение в Keycloak

    Keycloak — это решение для управления идентификацией и доступом (IAM) корпоративного уровня с открытым исходным кодом, разрабатываемое под руководством Red Hat. Оно обеспечивает унифицированную аутентификацию, авторизацию и управление пользователями для приложений, API и микросервисов, поддерживая множество популярных протоколов аутентификации. В основе дизайна лежит централизованный контроль идентификаций, высокая безопасность, масштабируемость и адаптация к облачным средам.

    Ключевые особенности

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

    2. Протоколы аутентификации
      Полная поддержка основных протоколов аутентификации, включая OpenID Connect (OIDC), SAML 2.0 и OAuth 2.0, совместима с различными клиентскими приложениями (веб, мобильные, API).

    3. Безопасность
      Встроенная многофакторная аутентификация (MFA), единый вход (SSO), федерация идентичностей и тонкое управление правами доступа. Поддержка управления политиками паролей, интеграция с LDAP/Active Directory, ротация ключей и зашифрованное хранение.

    4. Возможности интеграции
      Предоставляет богатые API и клиентские адаптеры для интеграции с приложениями на Java, Python, Node.js и других технологиях. Поддержка пользовательских потоков аутентификации и адаптеров хранения пользователей.

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

    Типичные сценарии использования

    • Корпоративный единый вход (SSO): обеспечивает унифицированную аутентификацию для внутренних корпоративных систем, таких как ERP, CRM и OA, позволяя пользователям входить в несколько систем с одной учетной записью.
    • Управление идентификацией облачных приложений: предоставляет авторизацию API и аутентификацию между сервисами для микросервисов Kubernetes и бессерверных приложений.
    • Управление внешними пользователями: обработка регистрации, входа и управления правами пользователей для B2C и B2B платформ, поддержка социальной аутентификации (Google, GitHub) и федерации идентичностей третьих сторон.
    • Модернизация устаревших систем: замена устаревших систем аутентификации, предоставляя стандартизированные интерфейсы идентификации для наследуемых приложений и обеспечивая плавный переход к современной архитектуре управления идентификацией.

    Введение в Alauda Build of Keycloak

    Alauda Build of Keycloak — это глубоко оптимизированное дистрибутивное решение Keycloak, разработанное для Kubernetes, обеспечивающее полный жизненный цикл управления экземплярами Keycloak в кластерах Kubernetes через контроллер (Operator). Расширяет API Kubernetes, предоставляя декларативный подход к конфигурации, автоматизируя эксплуатацию и обслуживание Keycloak, позволяя пользователям развертывать и управлять IAM в облачной среде.

    Ключевые особенности

    1. Kubernetes-нативный Operator
      Управляет полным жизненным циклом экземпляров Keycloak через Custom Resource Definitions (CRD) Kubernetes, поддерживая декларативную конфигурацию и автоматическую синхронизацию.

    2. Импорт Realm через CRD
      Поддержка декларативного импорта конфигураций Realm с помощью CRD KeycloakRealmImport, что обеспечивает удобное управление конфигурацией идентификаций в стиле GitOps.

    3. Высокая доступность
      Поддержка развертывания с несколькими инстансами и настраиваемым количеством реплик, обеспечивая непрерывность сервиса через автоматическое переключение при сбоях.

    4. Гибкая поддержка баз данных
      Поддержка PostgreSQL и других баз данных, совместимых с JDBC, через настраиваемые параметры подключения, управляемые с помощью Kubernetes Secrets.

    5. Управление TLS и Ingress
      Встроенная поддержка настройки TLS-сертификатов и экспонирования через Ingress с гибкими вариантами доступа как внутри кластера, так и по внешним hostname.

    6. Усиление безопасности
      Поддержка ограничений безопасности Kubernetes, включая запуск без прав root, сброс возможностей и профили seccomp, соответствующие требованиям корпоративной безопасности.

    Keycloak против Red Hat Single Sign-On (RH-SSO)

    КатегорияKeycloakRed Hat Single Sign-On (RH-SSO)
    ПоддержкаСообщество (инженеры Red Hat + участники сообщества)Коммерческая команда Red Hat
    Цикл выпускаБыстрая итерация с частыми обновлениями, акцент на новые технические возможностиМедленная итерация, строгое тестирование для корпоративной стабильности
    Жизненный цикл поддержкиКороткий (обычно 6–12 месяцев на версию)До 7+ лет коммерческой поддержки (включая патчи безопасности и исправления ошибок)
    СтабильностьМожет содержать экспериментальные функции; стабильность зависит от сценарияКорпоративная стабильность, проверенная на основных корпоративных системах
    ФункциональностьОхватывает основные функции управления идентификацией, включая некоторые экспериментальныеСтабильный набор функций с дополнительными корпоративными улучшениями (расширенный мониторинг, эксклюзивные инструменты поддержки)
    Документация и поддержкаДокументация сообщества, нет официального SLA; вопросы решаются через обсуждения сообществаОфициальная документация Red Hat и база знаний с поддержкой на уровне SLA
    ЛицензияApache License 2.0 (открытый исходный код и бесплатно)Требуется коммерческая подписка Red Hat
    СсылкаKeycloak Official DocumentationRed Hat Single Sign-On Documentation