Підсистема управління користувачами та ролями

Загальний опис

Підсистема, що забезпечує управління користувачами та їх доступом, налаштуваннями автентифікації, авторизації, single sign-on (SSO) та інтеграції з зовнішніми Identity Providers в Платформи реєстрів.

Функції підсистеми

  • Автентифікація користувачів

  • Авторизація користувачів

  • Управління користувачами та ролями

  • Налаштування механізмів аутентифікації

Технічний дизайн підсистеми

user management.drawio

В Платформі доступно декілька способів аутентифікації:

Компоненти підсистеми

Назва компоненти Namespace Представлення в реєстрі Походження Репозиторій Призначення

Сервіс управління користувачами та ролями

user-management

keycloak

3rd-party

Аутентифікація та авторизація користувачів

Операційна база даних Keycloak

user-management

keycloak-postgresql

3rd-party

-

Зберігання даних та налаштувань

Сервіс цифрових підписів

user-management

digital-signature-ops

origin

gerrit:/mdtu-ddm/low-code-platform/platform/backend/applications/digital-signature-ops

Компонент цифрового підпису що використовує можливості бібліотеки цифрового підпису IIT Java та забезпечує функціонал по роботі з цифровим підписом

Keycloak оператор

user-management

keycloak-operator

epam-origin

Управління налаштуваннями сервісу аутентифікації

OpenShift OAuth

openshift-authentication

oauth-openshift

3rd-party

-

Внутрішній OAuth сервер OpenShift для забезпечення аутентифікації та авторизації всередині Платформи оркестрації контейнерів. Має інтеграцію з Keycloak

Оператор синхронізації користувацьких груп

group-sync-operator

group-sync-operator-controller-manager

3rd-party

Синхронізація користувачів та ролей між платформою оркестрації OpenShift та Keycloak

Експортер метрик

user-management

prometheus-postgres-exporter

3rd-party

github:/epam/edp-ddm-pg-exporter-chart

Збір та виставлення метрик postgresql для їх подальшого збору підсистемою моніторингу подій та сповіщення

Технологічний стек

При проектуванні та розробці підсистеми, були використані наступні технології:

Атрибути якості підсистеми

Security

Підсистема розроблена з урахуванням безпекової складової та підтримує різні протоколи аутентифікації, включаючи OpenID Connect, OAuth 2.0 та SAML, що дозволяє забезпечити безпечний механізм аутентифікації та авторизації.

Scalability

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

Детальніше можна ознайомитись в розділі Платформа оркестрації контейнерів

Reliability

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

Observability

Підсистема управління користувачами та ролями підтримує журналювання вхідних запитів та збір метрик продуктивності для подальшого аналізу через веб-інтерфейси відповідних підсистем Платформи.

Детальніше з дизайном підсистем можна ознайомитись у відповідних розділах: