Перейти к основному содержимому

Настройка 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] и нажмите кнопку Создание реалма для создания нового реалма.
Задайте имя реалма, например, 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. Вкладка управления учётными данными пользователя
    2. Задайте пароль пользователя в диалоговом окне Рис. 14.

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

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

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

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

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

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

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

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

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