Перейти к основному содержимому
Версия: Новая

Настройка KeyCloak

Подсистема управления доступом и её пользовательский интерфейс в SALT.BOX реализованы на основе программного продукта с открытым исходным кодом Keycloak, распространяемого по лицензии Apache License 2.0.

Вход в KeyCloak

Войдите в веб-интерфейс подсистемы управления доступом по адресу:
https://<адрес_сервера_Salt.Box>/auth/keycloak/
Если развёртывание SALT.BOX выполнено в контейнеризаторе приложений Docker, используйте пароль учётной записи admin, сохранённый в файле /secrets/keycloak-admin-password в папке проекта Рис. 1.

Окно входа в KeyCloak
Рисунок 1. Окно входа в KeyCloak

Создание нового реалма

Учётная запись admin принадлежит реалму Keycloak по умолчанию с идентификатором master.
По соображениям безопасности не рекомендуется создавать пользователей SALT.BOX в данном реалме.
Откройте список реалмов Рис. 2 [1] и нажмите кнопку Создание реалма Рис. 2 [2] для создания нового реалма.
Задайте имя реалма, например, salt.box, как на рисунке Рис. 3, и нажмите кнопку Создать.
Новый реалм будет создан.

Страница реалма по умолчанию (Master)
Рисунок 2. Страница реалма по умолчанию (Master)


Диалоговое окно создания нового реалма
Рисунок 3. Диалоговое окно создания нового реалма

Создание клиента

  1. Выберите пункт меню Клиенты главного меню KeyCloak Рис. 4.
    Клиентом Keycloak является веб-приложение saltbox_core, входящее в состав SALT.BOX.
    Зарегистрируйте это приложение в KeyCloak, для чего откройте диалог создания клиента, нажав кнопку Создание клиента Рис. 4 [1].

    Страница клиентов
    Рисунок 4. Страница клиентов
  2. На вкладке Общие настройки диалога создания клиента Рис. 5 введите параметры:

    ПолеЗначениеКомментарий
    Тип клиентаOpenID Connectобязательное поле
    ID клиентаsaltbox_coreобязательное поле
    Имя клиентаclient_saltbox_coreлюбое наименование

    затем нажмите Далее.

    Окно создания клиента: вкладка общих настроек
    Рисунок 5. Окно создания клиента: вкладка общих настроек
  3. На вкладке Настройка возможностей диалога создания клиента Рис. 6 установите флажки:

    ПолеЗначение
    Стандартный поток
    Прямой доступ

    затем нажмите Далее.

    Окно создания клиента: вкладка настроек функциональных возможностей
    Рисунок 6. Окно создания клиента: вкладка настроек функциональных возможностей
  4. Оставьте без изменений параметры на вкладке Настройки входа Рис. 7, нажмите Сохранить.
    Будет создан новый клиент KeyCloak.

    Окно создания клиента: вкладка настроек параметров входа
    Рисунок 7. Окно создания клиента: вкладка настроек параметров входа

Создание роли клиента

SALT.BOX предоставляет полномочия на управление коллекциями пользователям с ролью collections_admin.
Создайте эту роль для клиента saltbox_core реалма salt.box.
Выполните действия, указанные ниже.

  1. На странице Клиенты откройте созданный клиент saltbox_core и перейдите на вкладку Роли.
    Нажмите кнопку Создание роли Рис. 8.

    Вкладка Роли на странице Клиенты. Кнопка Создание роли
    Рисунок 8. Вкладка Роли на странице Клиенты. Кнопка Создание роли
  2. Введите параметры роли в диалоговом окне создания роли Рис. 9:

    ПолеЗначениеКомментарий
    Наименование ролиcollections_adminобязательное поле
    Описаниепроизвольная строка

    затем нажмите Сохранить.

    Диалоговое окно создания роли
    Рисунок 9. Диалоговое окно создания роли

Созданную роль далее можно будет назначить любому пользователю SALT.BOX: см. Назначение роли пользователю.
Также Вы можете узнать у разработчика программного продукта наименования и назначение других встроенных ролей SALT.BOX и правила нотации для доступа к ресурсам SALT.BOX.

Создание пользователя

  1. Введите данные и создайте нового пользователя:

    1. Выберите пункт меню Пользователи главного меню KeyCloak Рис. 10.
      Нажмите кнопку Добавить пользователя над таблицей пользователей Рис. 10 [1].

      Страница управления учётными записями пользователей
      Рисунок 10. Страница управления учётными записями пользователей
    2. В открывшемся окне введите данные пользователя Рис. 11:

      ПолеЗначениеКомментарий
      Имя пользователяuserобязательное поле
      E-mail
      Имя
      Фамилия
      Ввод данных пользователя
      Рисунок 11. Ввод данных пользователя
    3. В случае необходимости укажите требуемые дополнительные действия с учётной записью пользователя, например, обязательную смену пароля при первом входе пользователя (Update Password) Рис. 12.
      В окне создания пользователя появится плитка Update Password Рис. 11 [1].

      Добавление требуемых действий пользователя
      Рисунок 12. Добавление требуемых действий пользователя
    4. Нажмите кнопку Создать Рис. 11.
      Будет создан новый пользователь, отобразится окно Настройки пользователя Рис. 13.

  2. Задайте пароль для созданного пользователя.

    1. На странице Пользователи откройте созданный аккаунт user и перейдите на вкладку Учетные данные Рис. 13.
      Нажмите кнопку Установить пароль Рис. 13.

      Вкладка управления учётными данными пользователя
      Рисунок 13. Вкладка управления учётными данными пользователя
    2. Задайте пароль пользователя в диалоговом окне Рис. 14.

      Установка пароля пользователя
      Рисунок 14. Установка пароля пользователя

Назначение роли пользователю

Теперь назначьте ранее созданную роль collections_admin (см. Создание роли клиента) учетной записи user, чтобы предоставить ей разрешения на управление коллекциями.

  1. На странице Пользователи откройте созданный аккаунт user и перейдите на вкладку Сопоставление ролей.
    Нажмите кнопку Назначить роль Рис. 15 [1].

    Вкладка сопоставления ролей
    Рисунок 15. Вкладка сопоставления ролей
  2. Введите название роли collections_admin в строку поиска и нажмите кнопку Рис. 16 [1].

    Назначение роли пользователю
    Рисунок 16. Назначение роли пользователю
  3. Поставьте флажок на записи с ролью collections_admin, ассоциированной с клиентом saltbox_core Рис. 16 [2].

  4. Нажмите кнопку Назначить Рис. 16 [3].
    Роль collections_admin будет назначена пользователю user.
    Пользователю user будут доступны объекты корневой коллекции.

Смена пароля пользователя

В пользовательском интерфейсе SALT.BOX отсутствует функция смены пароля пользователя. Управление учётными записями пользователей, в том числе смена пароля пользователя, осуществляется в интерфейсе подсистемы управления учётными данными KeyCloak.

Самостоятельная смена пароля пользователем

  1. Перейдите в консоль учётной записи пользователя SALT.BOX по ссылке:
    https://<DNS-имя или адрес KeyCloak>/auth/keycloak/realms/salt.box/account/

    DNS-имя или адрес установки KeyCloak совпадает с адресом веб-интерфейса SALT.BOX, если установка системы выполнена в Docker на один хост.

  2. Войдите в консоль с теми же логином и паролем, которые Вы используете для входа в пользовательский интерфейс SALT.BOX. Откроется страница Личная информация.
    В узком окне браузера боковое меню свёрнуто, в этом случае откройте меню разделов кнопкой в левом верхнем углу окна браузера.

  3. Перейдите последовательно в меню: БезопасностьВход (в англоязычном интерфейсе: Account securitySigning in).
    Страница установки параметров входа доступна по прямому адресу:
    https://<DNS-имя или адрес KeyCloak>/auth/keycloak/realms/salt.box/account/account-security/signing-in

  4. На странице Вход в блоке Пароль нажмите кнопку Обновить справа от строки Создан <дата>.

  5. Выполните повторный вход (повторный вход — это дополнительная мера безопасности, необходимая при смене пароля и выполнении других ответственных операций с учётными данными пользователя). Откроется форма Обновить пароль.

  6. Введите новый пароль дважды и нажмите Отправить.
    Новый пароль для входа в пользовательский интерфейс SALT.BOX начнёт действовать немедленно. Старый пароль перестанет действовать.

Смена пароля администратором SALT.BOX

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

  1. Перейдите в консоль администратора KeyCloak по ссылке:
    https://<DNS-имя или адрес KeyCloak>/auth/keycloak/admin/

  2. Войдите в консоль под учётной записью admin, используя пароль из файла /opt/saltbox-compose/secrets/keycloak_admin_password на сервере SALT.BOX.

  3. В боковом меню выберите пункт Manage realms (Управление realm). Откроется страница Manage realms (Управление realm).

  4. Перейдите на страницу редактирования учётных данных пользователя. Для этого:

    1. на странице Manage realms (Управление realm) выберите реалм salt.box;
    2. в боковом меню выберите пункт Users (Пользователи);
    3. на странице Users (Пользователи) выберите нужного пользователя;
    4. на странице детальной информации о пользователе откройте вкладку Credentials (Учетные данные).
  5. На вкладке Credentials (Учетные данные) нажмите кнопку Reset password (Сбросить пароль) в правой части строки Password .... Откроется форма сброса пароля.

  6. В форме сброса пароля в поле Password (Пароль) задайте новый пароль. Введите тот же пароль в поле подтверждения New password confirmation (Подтверждение нового пароля).
    Установите флажок Temporary (Временный), если хотите использовать введённый пароль как временный. При входе в систему с временным паролем пользователь должен будет установить новый постоянный пароль самостоятельно.

Настройка двухфакторной аутентификации

В данном разделе описана процедура настройки двухфакторной аутентификации пользователя для входа в пользовательский интерфейс SALT.BOX с использованием аппаратного ключа безопасности.

ВНИМАНИЕ

Для корректной работы режима двухфакторной аутентификации в сети должно быть настроено DNS-разрешение имени сайта, на котором доступен пользовательский интерфейс SALT.BOX.
На сайте должен быть действительный SSL-сертификат.

Инструкцию по установке локального SSL-сертификата смотрите в разделе Администрирование / Развёртывание сервера SALT.BOX / Работа с локальным SSL-сертификатом.

Включение режима двухфакторной аутентификации по токену

  1. Перейдите в консоль учётной записи KeyCloak по ссылке:
    https://<DNS-имя KeyCloak>/auth/keycloak/admin/

  2. Войдите в консоль под учётной записью admin, используя пароль из файла /opt/saltbox-compose/secrets/keycloak_admin_password на сервере SALT.BOX.

  3. В боковом меню выберите пункт Manage realms (Управление realm). Откроется страница Manage realms (Управление realm).

  4. Включите двухфакторную аутентификацию по токену в реалме salt.box. Для этого (Рис. 17):

    1. на странице Manage realms (Управление realm) выберите реалм salt.box;
    2. в боковом меню выберите пункт Authentication (Аутентификация);
    3. на странице Authentication (Аутентификация) откройте вкладку Flows (Сценарии);
    4. откройте сценарий browser Built-in (browser Встроенный).
    5. В дереве потока аутентификации (flow) forms последовательно выберите: подпоток Browser - Conditional 2FA, далее — шаг WebAuthn Authenticator.
    6. В выпадающем списке выберите Alternative (Альтернатива), если шагу двухфакторной аутентификации с помощью токена есть альтернатива, или Required (Обязательно), если шаг двухфакторной аутентификации с помощью токена обязателен.
    Включение режима двухфакторной аутентификации по токену
    Рисунок 17. Включение режима двухфакторной аутентификации по токену

Регистрация токена

  1. Перейдите в консоль учётной записи пользователя SALT.BOX по ссылке:
    https://<DNS-имя KeyCloak>/auth/keycloak/realms/salt.box/account/

  2. Перейдите последовательно в меню: БезопасностьВход (в англоязычном интерфейсе: Account securitySigning in).
    Страница установки параметров входа доступна по прямому адресу:
    https://<DNS-имя KeyCloak>/auth/keycloak/realms/salt.box/account/account-security/signing-in

  3. На странице Вход в блоке Ключ доступа нажмите кнопку Настроить Ключ доступа Рис. 22.

  4. Подключите к Вашему компьютеру аппаратный ключ безопасности и убедитесь, что он определяется операционной системой.

  5. На открывшейся странице регистрации ключа доступа нажмите кнопку Регистрация Рис. 18.

    Регистрация ключа доступа
    Рисунок 18. Регистрация ключа доступа


  6. В форме выбора хранилища криптографического ключа выберите вариант использования ключа безопасности (Use a phone, tablet or security key) Рис. 19.

    Выбор хранилища криптографического ключа
    Рисунок 19. Выбор хранилища криптографического ключа


  7. Введите PIN-код для доступа к ключу и продолжите регистрацию (в этом примере — кнопкой Next) Рис. 20.

    Ввод PIN-кода для доступа к ключу
    Рисунок 20. Ввод PIN-кода для доступа к ключу


  8. Введите текстовую метку ключа и подтвердите регистрацию (в этом примере — кнопкой OK) Рис. 21.

    Ввод текстовой метки ключа
    Рисунок 21. Ввод текстовой метки ключа


  9. Зарегистрированный ключ появится в консоли пользователя в KeyCloak Рис. 22.

    Зарегистрированный ключ в консоли пользователя
    Рисунок 22. Зарегистрированный ключ в консоли пользователя


  10. Настройка двухфакторной аутентификации пользователя с использованием аппаратного ключа безопасности завершена.
    В дальнейшем при входе пользователя в систему после ввода логина и пароля у пользователя будет запрашиваться ключ безопасности Рис. 23.

Запрос ключа безопасности на странице входа в систему
Рисунок 23. Запрос ключа безопасности на странице входа в систему

Дополнительная информация

Более подробную информацию о настройке KeyCloak можно найти здесь:
Документация KeyCloak