Настройка 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] и нажмите кнопку Создание реалма
для создания нового реалма.
Задайте имя реалма, например, 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.
-
-
Задайте пароль для созданного пользователя.
Назначение роли пользователю
Теперь назначьте ранее созданную роль collections_admin
(см. Создание роли клиента) учетной записи user
, чтобы предоставить ей разрешения на управление коллекциями.
-
На странице Пользователи откройте созданный аккаунт
user
и перейдите на вкладку Сопоставление ролей.
НажмитеНазначить роль
Рис. 15.
Рисунок 15. Вкладка сопоставления ролей -
Введите название роли
collections_admin
в строку поиска и нажмите кнопку Рис. 16 [1].
Рисунок 16. Назначение роли пользователю -
Поставьте флажок на записи с ролью
collections_admin
, ассоциированной с клиентомsaltbox_core
Рис. 16 [2]. -
Нажмите
Назначить
Рис. 16 [3].
Рольcollections_admin
будет назначена пользователюuser
.
Пользователюuser
будут доступны объекты корневой коллекции.
Дополнительная информация
Более подробную информацию о настройке KeyCloak можно найти здесь:
Документация KeyCloak