Инструкция подготовлена на примере BVS Версия: 3.1.4 (от 21.06.2024)
Терминология:
- BVS - Basis Virtual Security, продукт являющийся провайдером аутентификации и авториризации
- Authentication — идентификация и проверка пользователя.
- Authorization — предоставление доступа пользователю.
- Домен — пространство для управления пользователями, приложениями, ролями и группами. Пользователь принадлежит к конкретному Домену. Домены изолированы друг от друга. Для пользователей Визиона достаточно одного домена
- Клиентские системы — клиенты (приложения), которые могут обращаться к BVS для аутентификации пользователя. Клиентская система - объект, который содержит совокупность параметров, необходимых для связи с определенным приложением.
- Users — Пользователи, которые могут войти в вашу систему. Им можно назначить членство в группе и/или определенные роли.
- Roles — определяют тип/категорию пользователя. Читатель, писатель — типичные роли. Обычно, приложения назначают доступ и разрешения конкретным ролям, а не отдельным пользователям.
Приложения Визиона требующие Клиентских систем:
- Vision Core
1. Добавление домена#
В случае, если нужный домен уже есть в списке, перейдите к следующему пункту инструкции.
В разделе “Домены” нажмите кнопку “Создать”, заполните обязательные поля (например “vision” для имени домена) в появившемся окне и нажмите “Создать”. Созданный домен должен появиться в списке:
2. Добавление клиентской системы для Vision_core#
Выберите необходимый домен в выпадающем списке слева вверху (vision), нажмите на раздел “Безопасность” (раскроется контекстное меню) и выберите раздел “Клиентские системы”.
В открывшейся странице нажмите кнопку “Создать” и в появившемся окне заполните поля:
Поле | Описание | Пример заполнения |
---|---|---|
Идентификатор: | Имя клиентской системы | vision219 |
Наименование: | Произвольное имя | vision219 |
Тип доступа: | Какой тип доступа будет использован | Конфиденциальный (потребуется секретный ключ для инициализации протокола входа) |
Адрес: | IP адрес и порт для клиентской системы | https://192.168.191.219/ |
Активность | Отключенные системы не могут инициировать вход и получать токены доступа | [x] (должен быть выбран) |
После ввода параметров нажмите “Создать”.
2.1 Изменение параметров клиентской системы для Vision_core#
Откройте страницу со списком клиентских систем (“Безопасность” -> “Клиентские системы”), выберите созданную клиентскую систему и на вкладке “Основное” нажмите кнопку “Изменить”. Заполните значения полей:
Поле | Описание | Пример заполнения |
---|---|---|
Типы взаимодействия: | типы взаимодействия разрешенные для клиентской системы | Authorization Code Flow - стандартное OpenID Connect перенаправление основанное на аутентификации с кодом авторизации, Resource Owner Password Grant - клиентская система имеет доступ к имени пользователя и паролю и обменивает их напрямую с сервером авторизации на токен доступа |
Основной путь: | URL по умолчанию, используется если серверу требуется перенаправление или обратная ссылка на клиента | / |
Пути перенаправления: | список URL на которые может быть перенаправлен браузер после успешного входа или выхода | https://192.168.191.219/* |
Доверенные источники CORS: | Список доверенных источников в технологии CORS | https://192.168.191.219/* |
При доступности приложений с нескольких URL (по IP, по домену), указать все допустимые варианты для Пути перенаправления и Доверенных источников CORS.
Введите значение в поле “Пароль”. Данный пароль будет использован в хранилище секретов Визиона.
Прочие параметры конфигурации можно оставить со значениями по умолчанию.
После ввода параметров нажмите “Сохранить”.
3. Добавление ролей для Vision_core#
Для создания новой роли необходимо перейти в параметры клиентской системы (пример: выбрать домен “vision”, нажать “Клиентские системы” и выбрать “vision219”). Перейти на вкладку “Роли” и нажать кнопку “Создать”.
В появившемся меню, заполнить поля в соответствии с ролевой моделью. Названия ролей должны совпадать с названиями определенными в Визион.
Нажмите на кнопку “Создать”, после чего роль будет создана и появится в списке:
4. Редактирование области#
Для корректной передачи username
пользователя следует в области “roles” добавить новое “Отображение”. Для этого следует на странице “Области” открыть области с названием “roles” и нажать кнопку “Создать”
В появившемся меню следует заполнить следующие параметры:
Остальные значения можно оставить по умолчанию и нажать кнопку “Сохранить”
5. Создание пользователя для Визион#
Выберите домен “Vision” и перейдите в раздел Безопасность -> Пользователи. Нажмите “Создать”. Появится окно, в котором нужно заполнить поля и нажать “Создать”:
На вкладке “Основное” для пользователя выберите чек-бокс “E-mail подтвержден” и “Активность” (если не выбрали на стадии создания пользователя).
Перейдите на вкладку “Полномочия”. Введите “Новый пароль”, повторите его в поле “Подтверждение”, уберите чекбокс “Временный пароль” и нажмите “Сбросить пароль”. В появившемся окне подтверждения действия нажмите “Да”.
6. Добавление роли пользователю для Визион#
Для созданного пользователя перейдите на вкладку “Роли”. В разделе “Роли уровня клиентской системы” выберите клиентскую систему “vision219”, выберите одну или несколько ролей и нажмите “Назначить выбранные роли”:
Убедитесь, что для вашей клиентской системы назначены области: Убедитесь, что для созданной клиенткой системы (пример Vision->Клиентcкие системы->vision219->области) в разделе “Области по умолчанию” в окне “Назначенные области” отображаются:
- roles
7. Настройка конфигурации для Vision_core#
В конфигурационный файл /opt/skala-r/etc/vision/server/vision_core/config.yml
необходимо внести изменения в блок auth
auth:
enabled: true
auth_type: keycloak
auth_server: http://bvs-public.skala-r.tech/
realm: vision
client_id: vision219
client_secret: vault.auth.client_secret
tls_insecure_skip_verify: true
request_timeout: 5
Необходимо указать реальное значение Client secret клиента.
Сделайте копию файла хранилища секретов: cp /opt/skala-r/vision/.secrets_vault /opt/skala-r/vision/.secrets_vault_bak
.
Откройте хранилище секретов командой: ansible-vault edit /opt/skala-r/vision/.secrets_vault
. Для оперирования содержимым хранилища требуется ключ, выдаваемый разработчиком Визиона.
Для ключа vault.auth.client_secret
установите значение поля “Пароль” (раздел Основное -> Пароль для Клиентской системы).
Сохраните файл и перезапустите сервис vision_core.service
командой: systemctl restart vision_core.service
.
Проверьте успешный запуск vision_core
командой: systemctl status vision_core.service
и убедитесь, что в логе нет ошибок после перезапуска: journalctl -fu vision_core -n 20
.