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

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

Створення нових користувачів та надання їм прав доступу до інструментів реєстру здійснюється в консолі адміністратора сервісу Keycloak.

Доступ до реалмів реєстру

Адміністратор Платформи повинен мати доступ до 4-х reaml[1] реєстру: -admin, officer-portal, -citizen-portal, external-system.

Table 1. Реалми реєстру та їх призначення
Realm Призначення

-admin

Реалм для доступу до адміністративних інструментів, таких як Gerrit, Jenkins, Camunda реєстру.

-officer-portal

Призначення ролей для доступу до Кабінету Посадової особи (Officer Portal) та звітів (Redash).

-citizen-portal

Призначення ролей для доступу до Кабінету отримувача послуг (Citizen Portal).

-external-system

Призначення ролей для доступу до зовнішніх систем(наприклад, "Трембіта" та ін.).

realms list

2. Створення нового користувача в Keycloak

Для створення нового користувача в Keycloak, необхідно виконати наступні кроки:

  • Перейдіть до необхідного realm відповідного реєстру:

    • на вкладці Users натисніть View all users;

    • натисніть кнопку Add user.

keycloak view users

  • У відкритому вікні введіть дані користувача:

    • Username — унікальний ідентифікатор користувача у системі.

    • Email — електронна пошта користувача (поле не є обов’язковим).

    • First Name — ім’я користувача (поле не є обов’язковим).

    • Last Name — прізвище (поле не є обов’язковим).

    • User Enabled — позначка, що користувач активований у системі (якщо вона не активна, доступ такого користувача до систем буде обмежено).

  • Натисніть кнопку Save та перейдіть на вкладку Credentials.

keycloak add user

  • Введіть пароль у полі Password та підтвердьте його в полі Password Confirmation.
    Активуйте позначку Temporary, щоб згенерувати тимчасовий пароль.

З метою безпеки необхідно змінити тимчасовий пароль при першому логіні.
  • Натисніть кнопку Save Password.

keycloak set credentials

  • Перейдіть на вкладку Role Mappings та призначте необхідні ролі користувачу.

  • Натисніть кнопку Add selected, щоб обрана роль відображалася в секції Assigned Roles.

keycloak assign roles check

3. Налаштування доступу адміністратора регламенту

У реалмі -admin створіть користувача та призначте йому наступні ролі:

admin user roles list

  • gerrit-administrators — адміністратори Gerrit, роль необхідна для розгортання регламенту та підтвердження змін (проходження Quality gates);

  • jenkins-administrators — адміністратори Jenkins, роль необхідна для запуску clean-up job, перегляду згенерованих та доданих до Jenkins pipelines, перегляду логів та ін.;

  • camunda-admin — адміністратор Camunda Cockpit, роль необхідна для перегляду доступних бізнес-процесів, правил, задач тощо.

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

  • перейдіть до вкладки GroupsAvailable Groups;

  • оберіть camunda-admin;

  • натисніть join.

В результаті, група має з’явитися в переліку Group Membership.

admin user groups

4. Типи ролей для Кабінетів посадової особи та отримувача послуг реєстру

Ролі у системі Keycloak розподілені на системні та регламентні:

  • Системні — створюються Платформою під час розгортання реєстру або встановлення Платформи (наприклад, officer, citizen, auditor тощо).

  • Регламентні — створюються під час розгортання реєстру та налаштовуються в регламенті реєстру → директорія roles → у відповідному конфігураційному файлі .yml.

Наприклад, створення ролей Кабінету посадової особи відбувається через налаштування їх у відповідному файлі officer.yml:

registry roles

5. Адміністрування доступу користувачів до Кабінету посадової особи

Для створення нового користувача Кабінету посадової особи необхідно виконати наступні кроки:

  • Перейдіть до реалму -officer-portal відповідного реєстру:

    • на вкладці Users натисніть кнопку View all users → далі натисніть кнопку Add user.

officer realm users list

  • Виконайте кроки зі створення користувача, описані вище, та встановіть роль officer на вкладці Role Mappings.

  • Оберіть необхідні регламентні ролі (наприклад, head-officer).

  • Оберіть роль auditor у разі необхідності доступу до системних звітів Redash — Журнал подiй системи та Журнал дій користувача)

  • Натисніть кнопку Add selected.

officer sidorenko user roles

  • Перейдіть на вкладку Attributes та встановіть значення для ключів параметрів drfo, edrpou та fullName, що пов’язані з КЕП користувача.

Наприклад:

  • drfo:1010101014;

  • edrpou: 34554362;

  • fullName: Сидоренко Василь Леонідович.

officer sidorenko user attributes

У разі невідповідності значень атрибутів до значень, заданих у КЕП, користувач не матиме можливості увійти до Кабінету посадової особи та підписувати задачі КЕП.

6. Адміністрування доступу користувачів до Кабінету отримувача послуг

Створення користувача Кабінету отримувача послуг відбувається при першому вході до Кабінету. Користувачеві пропонується пройти початковий бізнес-процес — «Створення суб’єкта», де необхідно вказати Email.

В результаті дані користувача з’являться в Keycloak, у реалмі -citizen, з відповідними ролями (legal, entrepreneur, individual та ін.) та атрибутами.

citizen realm users list

citizen legal roles

citizen legal attributes

7. Адміністрування доступу до зовнішніх систем

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

Всі доступи надаються на рівні ролей та клієнта trembita-invoker (у випадку із СЕВ ДЕІР «Трембіта»). У разі необхідності, є можливість додати регламентні ролі, що будуть залучені для побудови бізнес-процесів.


1. Realm - це концепція в Keycloak, яка відноситься до об’єкта, що керує набором користувачів, а також їхніми обліковими даними, ролями та групами.