Функции#
IAM Proxy#
Platform V IAM Proxy выполняет следующие основные функции:
Аутентификация пользователя при доступе к приложению посредством какого-либо провайдера аутентификации (например Platform V KeyCloak.SE). В рамках функций аутентификации IAM Proxy поддерживает:
Взаимодействие с внешним провайдером аутентификации по OpenID Connect;
Поддержка custom IdP;
Передача проверенной информации о пользователе внутренним приложениям в удобном виде: JWT, http headers, custom;
Функции авторизации, включая:
Авторизация доступа к защищаемым приложениям по ролям: дает возможность ограничить обращение к backend приложениям на основе ролей из токена (по маске роли, регулярное выражение);
Дает возможность на прокси ограничить обращение к серверам-приложений на основе обращения к внешнему серверу авторизации (дополнительный слой авторизации на основе URL(RBAC) и атрибутов запросов(ABAC)), что позволяет вынести функции безопасности на отдельный компонент(прокси) и упростить авторизацию на приложении;
Кэширование авторизационных политик. Возможность принятия локальных авторизационных решений.
Проксирование, поддержка HTTP, включая:
Поддержка проксирования http 1/1.1/2, ws, sse - Предоставляет возможность заказчику использовать в своих web-приложениях технологии WebSocket и Server-send events;
Балансировка - Round Robin, Hash, IP Hash, Least Connections;
Mtls - Терминирование mtls, mtls с backend сервисами;
Поддержка sticky-session (по комплексным критериям);
Ведение сессии прокси - позволяет ограничить время жизни по неактивности, абсолютному времени, выполнить привязку по ip (или любому другому критерию).
KeyCloak.SE#
Keycloak.SE выполняет следующие основные функции:
Аутентификация пользователя при доступе к приложению. В рамках функции аутентификации возможно:
Настраивать собственные сценарии ( flow ) аутентификации;
Использовать функции одноразовых паролей OTP: TOTP/HOTP;
Реализовать аутентификацию по X.509 сертификатам;
Использовать поддержку WebAuthn;
Настраивать парольные политики.
Авторизация пользователя на выполнение операции / действия в приложении. В KeyCloak.SE реализованы базовые функции авторизации. Более расширенная функциональность авторизации возможна при использовании Объединенного Сервиса Авторизации. В рамках функций авторизации в KeyCloak.SE возможно:
Реализовать ведение каталога ресурсных серверов / ресурсов / полномочий;
Настроить политики авторизации: User-Based, Role/Group-Based, JavaScript-Based, Time-Based, Client-Base, Aggregated;
Включать авторизационную информацию в JWT-токены.
Поддержка сценариев в рамках отраслевых проколов: OpenID Connect, Oauth 2.0, SAML 2.0, User Managed Access (UMA).
Хранение данных, включая данные аутентификационного профиля пользователя, аутентификационного профиля приложения ( client), авторизационных данных. В рамках хранения данных обеспечивается выполнения следующих функций:
Персистентность данных в СУБД / LDAP каталоге;
Поддержка внешних хранилищ данных (federation);
Кэширование данных;
Identity Brokering;
Мультитенантность (realms).
Функции самообслуживания пользователей (Self-service) включая функции:
Регистрации в Identity Provider;
Управление согласиями;
Личный кабинет (account console);
Account Linking.
Функции администрирования, включая:
Admin REST API;
Административная консоль;
Управление учетными записями пользователей / сессиями;
Export / Import;
События / аудит.
Функции управления аутентификационными профилями и дополнительные функции для защищаемых приложений (client), включая:
Регистрация приложений: OIDC. Dynamyc client registration, SAML v2 Entity Descriptors;
Политики регистрации, client registration cli;
Token Exchange.
Объединенный сервис авторизации (ОСА)#
Объединенный сервис авторизации (ОСА) выполняет следующие основные функции:
Механизмы Role-Based Access Control (RBAC) авторизации, включая:
RBAC с динамическим расчётом групп на основании атрибутов сеанса (например, канал);
Центральное хранилище ролевых моделей (XML в СУБД);
Клиентские библиотеки (java) с кешированием в распределённом сессионном хранилище;
UI, рабочее место администратора.
Механизмы Attribute-Based Access Control (ABAC) авторизации, включая:
Поддержка языка политик - XACML (eXtensible Access Control Markup Language);
Формирование политик авторизации (конвертирование) из DSL.
Функции принятия авторизационного решения - Policy Decision Point (PDP), включая:
Централизованный API: XAML, JSON, Profile;
Принятие авторизационного решения в клиентской библиотеке.
Функции централизованного хранения / динамического получения из внешних источников атрибутов пользователя с привязкой к пользователям (Policy Information Point), включая:
REST API для получения атрибутов;
Административный UI для создания атрибутов.