Настройка KeyCloak

Пользовательский интерфейс консоли администратора KeyCloak может отличаться от приведенного в данном руководстве.

Для работы со "Спектром" при включенной авторизации необходимо настроить пользователей в KeyCloak.

  1. Выбрать нужный Realm (рабочее пространство) в выпадающем списке над меню или создать новый (на скриншоте ниже выбрано значение "test-docs-realm"). После задания нужного Realm перейти в раздел Клиенты (Clients) и нажать кнопку Создать клиента (Create client):

    image$admin keycloak web
  2. В поле Client ID нужно ввести идентификатор клиента и нажать кнопку Далее (Next). Заданный ID клиента будет в дальнейшем использоваться в параметрах конфигурации “Спектра”.

  3. На следующей странице:

    • включить переключатель Аутентификация клиента (Client authentication),

    • выставить флаг Standart Flow,

    • выставить флаг Direct access grants, и далее нажать кнопку Сохранить (Save).

      Эти параметры позднее можно изменить в настройках клиента.

  4. Перейти во вкладку Настройки (Settings), в поле Валидация URI перенаправления (Valid redirect URIs) добавить IP-адрес "Спектра" в формате:

    PROTO://IP:XXXX/*

    где

    • PROTO — http или https, в зависимости от настроек SSL "Спектра";

    • IP — IP адрес "Спектра";

    • XXXX — порт "Спектра" для доступа к веб-интерфейсу.

      Нажать кнопку Сохранить (Save).

  5. Во вкладке Учетные данные (Credentials) есть поле Секрет (Client secret), значение которого будет в дальнейшем использоваться в параметрах конфигурации "Спектра". Значение можно скопировать в буфер обмена, нажав на соответствующую кнопку возле поля.

  6. Перейти во вкладку Роли (Roles), нажать кнопку "Создать роль (Create role).

  7. На экране создания роли ввести имя роли и нажать Сохранить (Save). В примере, приведенном в данном руководстве, должны быть созданы две роли: spectrum-ro и spectrum-rw.

  8. Перейти в пункт меню Пользователи (Users) и на странице Пользователи (User list) нажать кнопку Создать пользователя (Create new user).

  9. На экране создания пользователя:

    • ввести желаемое имя пользователя,

    • включить E-mail подтвержден (Email verified),

    • нажать кнопку Создать (Create).

      В примере, приведенном в данном руководстве, будет создано два пользователя: "sprtest" и "sprtest-rw".

  10. Перейти в пункт меню Пользователи и выбрать созданного пользователя, нажав на его имя.

  11. Перейти во вкладку Учетные данные (Credentials), нажать кнопку Установить пароль (Set password).

  12. В появившемся окне задать пароль, повторить пароль и выключить признак Временный (Temporary), если не требуется смена пароля пользователем при первом входе. Нажать кнопку Сохранить (Save).

  13. Перейти во вкладку Сопоставление ролей (Role mapping), нажать кнопку Назначить роль (Assign role).

  14. На экране назначения ролей:

    (1) в выпадающем списке фильтра выбрать Отсортировать по клиентам (Filter by client),

    (2) ввести полностью или частично имя необходимой роли / общей части имени ролей, созданной ранее,

    (3) выбрать роли для назначения данному пользователю, выставив соответствующие флаги,

    нажать кнопку Назначить (Assign).

    image$admin assign roles

    В примере, приведенном в данном руководстве, пользователю sprtest назначается роль spectrum-ro, а пользователю sprtest-rw — spectrum-ro и spectrum-rw.

  15. После настройки включить настроенный Realm, если этого не было сделано ранее. Для этого перейти в пункт меню Настройки реалма (Realm settings) и включить переключатель Включен (Enabled)в правом верхнем углу окна.