Настройка KeyCloak
Подсистема управления доступом и её пользовательский интерфейс в SALT.BOX реализованы на основе программного продукта с открытым исходным кодом Keycloak, распространяемого по лицензии Apache License 2.0.
Вход в KeyCloak
Войдите в веб-интерфейс подсистемы управления доступом по адресу:
https://<адрес_сервера_Salt.Box>/auth/keycloak/
Если развёртывание SALT.BOX выполнено в контейнеризаторе приложений Docker, используйте пароль учётной записи admin, сохранённый в файле /secrets/keycloak-admin-password в папке проекта Рис. 1.
![]() |
|---|
Создание нового реалма
Учётная запись admin принадлежит реалму Keycloak по умолчанию с идентификатором master.
По соображениям безопасности не рекомендуется создавать пользователей SALT.BOX в данном реалме.
Откройте список реалмов Рис. 2 [1] и нажмите кнопку Создание реалма Рис. 2 [2] для создания нового реалма.
Задайте имя реалма, например, salt.box, как на рисунке Рис. 3, и нажмите кнопку Создать.
Новый реалм будет создан.
![]() |
|---|
![]() |
|---|
Создание клиента
-
Выберите пункт меню Клиенты главного меню KeyCloak Рис. 4.
Клиентом Keycloak является веб-приложениеsaltbox_core, входящее в состав SALT.BOX.
Зарегистрируйте это приложение в KeyCloak, для чего откройте диалог создания клиента, нажав кнопкуСоздание клиентаРис. 4 [1].
Рисунок 4. Страница клиентов
-
На вкладке Общие настройки диалога создания клиента Рис. 5 введите параметры:
Поле Значение Комментарий Тип клиента OpenID Connectобязательное поле ID клиента saltbox_coreобязательное поле Имя клиента client_saltbox_coreлюбое наименование затем нажмите
Далее.
Рисунок 5. Окно создания клиента: вкладка общих настроек
-
На вкладке Настройка возможностей диалога создания клиента Рис. 6 установите флажки:
Поле Значение Стандартный поток ✓ Прямой доступ ✓ затем нажмите
Далее.
Рисунок 6. Окно создания клиента: вкладка настроек функциональных возможностей
-
Оставьте без изменений параметры на вкладке Настройки входа Рис. 7, нажмите
Сохранить.
Будет создан новый клиент KeyCloak.
Рисунок 7. Окно создания клиента: вкладка настроек параметров входа
Создание роли клиента
SALT.BOX предоставляет полномочия на управление коллекциями пользователям с ролью collections_admin.
Создайте эту роль для клиента saltbox_core реалма salt.box.
Выполните действия, указанные ниже.
-
На странице Клиенты откройте созданный клиент saltbox_core и перейдите на вкладку Роли.
Нажмите кнопкуСоздание ролиРис. 8.
Рисунок 8. Вкладка Роли на странице Клиенты. Кнопка
Создание роли -
Введите параметры роли в диалоговом окне создания роли Рис. 9:
Поле Значение Комментарий Наименование роли collections_adminобязательное поле Описание произвольная строка затем нажмите
Сохранить.
Рисунок 9. Диалоговое окно создания роли
Созданную роль далее можно будет назначить любому пользователю SALT.BOX: см. Назначение роли пользователю.
Также Вы можете узнать у разработчика программного продукта наименования и назначение других встроенных ролей SALT.BOX и правила нотации для доступа к ресурсам SALT.BOX.
Создание пользователя
-
Введите данные и создайте нового пользователя:
-
Выберите пункт меню Пользователи главного меню KeyCloak Рис. 10.
Нажмите кнопкуДобавить пользователянад таблицей пользователей Рис. 10 [1].
Рисунок 10. Страница управления учётными записями пользователей
-
В открывшемся окне введите данные пользователя Рис. 11:
Поле Значение Комментарий Имя пользователя userобязательное поле E-mail Имя Фамилия
Рисунок 11. Ввод данных пользователя
-
В случае необходимости укажите требуемые дополнительные действия с учётной записью пользователя, например, обязательную смену пароля при первом входе пользователя (Update Password) Рис. 12.
В окне создания пользователя появится плиткаUpdate PasswordРис. 11 [1].
Рисунок 12. Добавление требуемых действий пользователя
-
Нажмите кнопку
СоздатьРис. 11.
Будет создан новый пользователь, отобразится окно Настройки пользователя Рис. 13.
-
-
Задайте пароль для созданного пользователя.
-
На странице Пользователи откройте созданный аккаунт
userи перейдите на вкладку Учетные данные Рис. 13.
Нажмите кнопкуУстановить парольРис. 13.
Рисунок 13. Вкладка управления учётными данными пользователя
-
Задайте пароль пользователя в диалоговом окне Рис. 14.
Рисунок 14. Установка пароля пользователя
-
Назначение роли пользователю
Теперь назначьте ранее созданную роль collections_admin (см. Создание роли клиента) учетной записи user, чтобы предоставить ей разрешения на управление коллекциями.
-
На странице Пользователи откройте созданный аккаунт
userи перейдите на вкладку Сопоставление ролей.
Нажмите кнопкуНазначить рольРис. 15 [1].
Рисунок 15. Вкладка сопоставления ролей
-
Введите название роли
collections_adminв строку поиска и нажмите кнопку → Рис. 16 [1].
Рисунок 16. Назначение роли пользователю
-
Поставьте флажок на записи с ролью
collections_admin, ассоциированной с клиентомsaltbox_coreРис. 16 [2]. -
Нажмите кнопку
НазначитьРис. 16 [3].
Рольcollections_adminбудет назначена пользователюuser.
Пользователюuserбудут доступны объекты корневой коллекции.
Смена пароля пользователя
В пользовательском интерфейсе SALT.BOX отсутствует функция смены пароля пользователя. Управление учётными записями пользователей, в том числе смена пароля пользователя, осуществляется в интерфейсе подсистемы управления учётными данными KeyCloak.
Самостоятельная смена пароля пользователем
-
Перейдите в консоль учётной записи пользователя SALT.BOX по ссылке:
https://<DNS-имя или адрес KeyCloak>/auth/keycloak/realms/salt.box/account/DNS-имя или адрес установки KeyCloak совпадает с адресом веб-интерфейса SALT.BOX, если установка системы выполнена в Docker на один хост.
-
Войдите в консоль с теми же логином и паролем, которые Вы используете для входа в пользовательский интерфейс SALT.BOX. Откроется страница Личная информация.
В узком окне браузера боковое меню свёрнуто, в этом случае откройте меню разделов кнопкой ☰ в левом верхнем углу окна браузера. -
Перейдите последовательно в меню: Безопасность → Вход (в англоязычном интерфейсе: Account security → Signing in).
Страница установки параметров входа доступна по прямому адресу:
https://<DNS-имя или адрес KeyCloak>/auth/keycloak/realms/salt.box/account/account-security/signing-in -
На странице Вход в блоке Пароль нажмите кнопку Обновить справа от строки
Создан <дата>. -
Выполните повторный вход (повторный вход — это дополнительная мера безопасности, необходимая при смене пароля и выполнении других ответственных операций с учётными данными пользователя). Откроется форма Обновить пароль.
-
Введите новый пароль дважды и нажмите Отправить.
Новый пароль для входа в пользовательский интерфейс SALT.BOX начнёт действовать немедленно. Старый пароль перестанет действовать.
Смена пароля администратором SALT.BOX
Смена пароля пользователя администратором может потребоваться при создании новых учётных записей или если забыт пароль.
-
Перейдите в консоль администратора KeyCloak по ссылке:
https://<DNS-имя или адрес KeyCloak>/auth/keycloak/admin/ -
Войдите в консоль под учётной записью
admin, используя пароль из файла/opt/saltbox-compose/secrets/keycloak_admin_passwordна сервере SALT.BOX. -
В боковом меню выберите пункт Manage realms (Управление realm). Откроется страница Manage realms (Управление realm).
-
Перейдите на страницу редактирования учётных данных пользователя. Для этого:
- на странице Manage realms (Управление realm) выберите реалм salt.box;
- в боковом меню выберите пункт Users (Пользователи);
- на странице Users (Пользователи) выберите нужного пользователя;
- на странице детальной информации о пользователе откройте вкладку Credentials (Учетные данные).
-
На вкладке Credentials (Учетные данные) нажмите кнопку Reset password (Сбросить пароль) в правой части строки
Password .... Откроется форма сброса пароля. -
В форме сброса пароля в поле Password (Пароль) задайте новый пароль. Введите тот же пароль в поле подтверждения New password confirmation (Подтверждение нового пароля).
Установите флажок Temporary (Временный), если хотите использовать введённый пароль как временный. При входе в систему с временным паролем пользователь должен будет установить новый постоянный пароль самостоятельно.
Дополнительная информация
Более подробную информацию о настройке KeyCloak можно найти здесь:
Документация KeyCloak


