Keycloak
Это руководство описывает подготовку внешнего провайдера Keycloak к интеграции с Геном.
Инструкция подготовлена на примере Keycloak версии 20.0.2.
Создание пространства
Если в Keycloak не существует пространство (REALM) для Геном, создайте его:
-
На панели навигации разверните выпадающий список пространств.
-
На панели со списком пространств нажмите кнопку Create realm.
-
В поле Realm name введите название пространства.
-
Убедитесь, что переключатель Enabled находится в положении On.
-
Нажмите кнопку Create.
Создание приложения (клиента)
Чтобы создать приложение:
-
На панели навигации разверните выпадающий список пространств и выберите нужное.
-
На панели навигации выберите .
-
Нажмите кнопку Create client.
-
На этапе General Settings заполните форму следующим образом:
-
Client type: OpenID Connect.
-
Client ID: идентификатор клиента.
Значения прочих полей заполните произвольно.
-
-
Нажмите кнопку Next.
-
На этапе Capability config заполните форму следующим образом:
-
Client authentication: On.
-
Authorization: Off.
-
Standard Flow: включен.
-
Direct Access Grants: включен.
-
Implicit Flow: выключен.
-
-
Нажмите кнопку Save. Будет открыта страница со сведениями о клиенте.
-
Во вкладке Settings измените значения следующих параметров:
-
Root URL: укажите URL узла управления платформой:
https://<genome>/ -
Home URL: укажите URL узла управления платформой:
https://<genome>/ -
Valid Redirect URIs: список адресов, на которые Keycloak может перенаправить пользователя при успешной аутентификации.
Укажите URL Геном, Grafana и узла управления подсистемой мониторинга:
https://<genome>/after-auth https://<monitoring>/vision/api/v1/auth/login https://<grafana>/vision/api/v1/auth/login-grafanaПри доступности приложений по доменному имени и IP-адресу укажите все возможные варианты, например:
https://genome.example.com/after-auth https://192.168.0.1/after-auth https://monitoring.example.com/vision/api/v1/auth/login https://192.168.0.2/vision/api/v1/auth/login https://grafana.example.com/vision/api/v1/auth/login-grafana https://192.168.0.3/vision/api/v1/auth/login-grafana -
Valid post logout redirect URIs:
https://<genome>/after-logout -
Web Origins: заполните так же, как и Valid redirect URIs.
-
Admin URL: укажите URL узла управления платформой.
https://<genome>/
-
-
Нажмите кнопку Save.
Создание ролей
Создайте роли, перечисленные в таблице:
| Role name | Description |
|---|---|
|
Пользователь BMC |
|
Администратор инвентаря |
|
Администратор объектной модели |
|
Администратор информационной безопасности |
|
Пользователь SSH без sudo |
|
Пользователь SSH с sudo |
|
Администратор сценариев автоматизации |
|
Администратор объектов мониторинга |
-
На панели навигации выберите .
-
В колонке Client ID нажмите на ссылку с идентификатором нужного клиента.
-
Выберите вкладку Roles.
-
Нажмите кнопку Create role.
-
Заполните форму в соответствии с таблицей Роли.
-
Нажмите кнопку Save.
-
С помощью строки навигации в верхней части страницы вернитесь во вкладку Roles.
Назначение роли пользователям и группам
Чтобы назначить роль пользователям Keycloak:
-
На панели навигации выберите .
-
В колонке Username нажмите на ссылку с названием учётной записи нужного пользователя.
-
Выберите вкладку Role mapping.
-
Нажмите кнопку Assign role.
-
Раскройте выпадающий список Filter by realm roles и выберите Filter by clients.
-
Выберите нужные роли и нажмите кнопку Assign.
Чтобы назначить роль группе пользователей Keycloak:
-
На панели навигации выберите .
-
В колонке Group name нажмите на ссылку с названием нужной роли.
-
Выберите вкладку Role mapping.
-
Нажмите кнопку Assign role.
-
Раскройте выпадающий список Filter by realm roles и выберите Filter by clients.
-
Выберите нужные роли и нажмите кнопку Assign.
Создание технической учётной записи
Создайте учётную запись, которую Геном будет использовать для получения из IAM данных о пользователях и ролях.
-
На панели навигации разверните выпадающий список пространств и выберите пространство
master. -
На панели навигации выберите .
-
Нажмите кнопку Add user. Будет открыта форма Create user.
-
В поле Username укажите значение
genome-tech-user. -
Нажмите кнопку Save. Будет открыта страница с данными пользователя.
-
Выберите вкладку Credentials.
-
Нажмите кнопку Set password.
-
Заполните форму:
-
В полях Password и Password confirmation введите пароль технического пользователя и его подтверждение.
-
Переведите переключатель Temporary в положение Off.
-
-
Нажмите кнопку Save.
-
Подтвердите установку пароля.
-
Выберите вкладку Role mapping.
-
Нажмите кнопку Assign role.
-
Раскройте выпадающий список Filter by realm roles и выберите Filter by clients.
-
Для пространства Геном выберите следующие роли:
-
view-clients;
-
view-users;
-
view-realm.
-
-
Нажмите кнопку Assign.