Keycloak

Это руководство описывает подготовку внешнего провайдера Keycloak к интеграции с Геном.

Инструкция подготовлена на примере Keycloak версии 20.0.2.

Создание пространства

Если в Keycloak не существует пространство (REALM) для Геном, создайте его:

  1. На панели навигации разверните выпадающий список пространств.

  2. На панели со списком пространств нажмите кнопку Create realm.

  3. В поле Realm name введите название пространства.

  4. Убедитесь, что переключатель Enabled находится в положении On.

  5. Нажмите кнопку Create.

Создание приложения (клиента)

Чтобы создать приложение:

  1. На панели навигации разверните выпадающий список пространств и выберите нужное.

  2. На панели навигации выберите Manage  Clients.

  3. Нажмите кнопку Create client.

  4. На этапе General Settings заполните форму следующим образом:

    • Client type: OpenID Connect.

    • Client ID: идентификатор клиента.

    Значения прочих полей заполните произвольно.

  5. Нажмите кнопку Next.

  6. На этапе Capability config заполните форму следующим образом:

    • Client authentication: On.

    • Authorization: Off.

    • Standard Flow: включен.

    • Direct Access Grants: включен.

    • Implicit Flow: выключен.

  7. Нажмите кнопку Save. Будет открыта страница со сведениями о клиенте.

  8. Во вкладке 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>/
  9. Нажмите кнопку Save.

Создание ролей

Создайте роли, перечисленные в таблице:

Таблица 1. Роли
Role name Description

bmc_access

Пользователь BMC

inventory

Администратор инвентаря

obj_model

Администратор объектной модели

role_model

Администратор информационной безопасности

ssh_access_no_sudo

Пользователь SSH без sudo

ssh_access_sudo

Пользователь SSH с sudo

sw_mgmt_admin

Администратор сценариев автоматизации

vsn_config

Администратор объектов мониторинга

  1. На панели навигации выберите Manage  Clients.

  2. В колонке Client ID нажмите на ссылку с идентификатором нужного клиента.

  3. Выберите вкладку Roles.

  4. Нажмите кнопку Create role.

  5. Заполните форму в соответствии с таблицей Роли.

  6. Нажмите кнопку Save.

  7. С помощью строки навигации в верхней части страницы вернитесь во вкладку Roles.

Назначение роли пользователям и группам

Чтобы назначить роль пользователям Keycloak:

  1. На панели навигации выберите Manage  Users.

  2. В колонке Username нажмите на ссылку с названием учётной записи нужного пользователя.

  3. Выберите вкладку Role mapping.

  4. Нажмите кнопку Assign role.

  5. Раскройте выпадающий список Filter by realm roles и выберите Filter by clients.

  6. Выберите нужные роли и нажмите кнопку Assign.

Чтобы назначить роль группе пользователей Keycloak:

  1. На панели навигации выберите Manage  Groups.

  2. В колонке Group name нажмите на ссылку с названием нужной роли.

  3. Выберите вкладку Role mapping.

  4. Нажмите кнопку Assign role.

  5. Раскройте выпадающий список Filter by realm roles и выберите Filter by clients.

  6. Выберите нужные роли и нажмите кнопку Assign.

Создание технической учётной записи

Создайте учётную запись, которую Геном будет использовать для получения из IAM данных о пользователях и ролях.

  1. На панели навигации разверните выпадающий список пространств и выберите пространство master.

  2. На панели навигации выберите Manage  Users.

  3. Нажмите кнопку Add user. Будет открыта форма Create user.

  4. В поле Username укажите значение genome-tech-user.

  5. Нажмите кнопку Save. Будет открыта страница с данными пользователя.

  6. Выберите вкладку Credentials.

  7. Нажмите кнопку Set password.

  8. Заполните форму:

    • В полях Password и Password confirmation введите пароль технического пользователя и его подтверждение.

    • Переведите переключатель Temporary в положение Off.

  9. Нажмите кнопку Save.

  10. Подтвердите установку пароля.

  11. Выберите вкладку Role mapping.

  12. Нажмите кнопку Assign role.

  13. Раскройте выпадающий список Filter by realm roles и выберите Filter by clients.

  14. Для пространства Геном выберите следующие роли:

    • view-clients;

    • view-users;

    • view-realm.

  15. Нажмите кнопку Assign.