Basis Virtual Security
Это руководство описывает настройку сервиса аутентификации Геном на использование внешнего провайдера Basis Virtual Security. Инструкция подготовлена на примере Basis Virtual Security версии 3.1.4.
Для настройки Basis Virtual Security необходимы привилегии администратора.
Для настройки Геном необходимы привилегии суперпользователя.
Для изменения настроек подсистемы мониторинга следуйте инструкции, соответствующей конфигурации развёртывания ядра мониторинга:
Для изменения значений секретов следуйте инструкции Управление секретами.
Обозначения
В этой инструкции приняты следующие обозначения:
-
<genome>— IP-адрес или доменное имя узла управления платформой; -
<grafana>— IP-адрес или доменное имя узла, на котором развёрнута Grafana; -
<monitoring>— IP-адрес или доменное имя узла управления подсистемой мониторинга.
Создание домена
Если в Basis Virtual Security не существует домена для Геном, создайте его:
-
На панели навигации выберите Домены.
-
Нажмите кнопку Создать.
-
Заполните форму:
-
Наименование: название домена, написанное с использованием букв латинского алфавита, цифр и знаков подчёркивания, например,
genome. -
Отображаемое наименование: произвольное описание домена, например,
Геном 2. -
Убедитесь что флаг Активность установлен.
-
-
Нажмите кнопку Создать.
Создание приложения
В Basis Virtual Security выполните следующие действия:
-
На панели навигации разверните выпадающий список доменов и выберите нужный.
-
На панели навигации выберите .
-
Нажмите кнопку Создать.
-
Заполните форму:
-
Идентификатор: идентификатор Геном, например,
genome. -
Наименование: название клиентской системы, например,
Геном 2. -
Описание: заполните произвольно.
-
Тип доступа: Конфиденциальный.
-
Адрес: URL узла управления платформой:
https://<genome>/ -
Убедитесь, что флаг Активность установлен.
-
-
Нажмите кнопку Создать. Basis Virtual Security отобразит страницу созданного приложения.
-
Во вкладке Основное нажмите кнопку Изменить.
-
Измените значения указанных параметров:
-
Типы взаимодействия: Authorization Code Flow.
-
Основной путь:
/ -
Пути перенаправления: список адресов, на которые Basis Virtual Security может перенаправить пользователя при успешной аутентификации.
Укажите URL для Геном, Grafana и подсистемы мониторинга:
https://<genome>/* https://<monitoring>/* https://<grafana>/*Если узлы доступы по нескольким адресам, укажите их все:
https://genome.example.com/* https://192.168.0.1/* https://monitoring.example.com/* https://192.168.0.11/* https://grafana.example.com/* https://192.168.0.12/* -
Доверенные источники CORS: заполните аналогично полю Пути перенаправления.
-
Пароль: используйте автоматически сгенерированное значение или укажите своё. Оно понадобится на этапе настройки Геном.
-
-
Нажмите кнопку Сохранить.
Создание ролей
В Basis Virtual Security создайте роли, перечисленные в таблице:
| Наименование | Описание |
|---|---|
|
Пользователь BMC |
|
Администратор инвентаря |
|
Администратор объектной модели |
|
Администратор информационной безопасности |
|
Пользователь SSH без sudo |
|
Пользователь SSH с sudo |
|
Администратор объектов мониторинга |
-
На панели навигации выберите .
-
В колонке Идентификатор нажмите на ссылку с названием клиентской системы Геном.
-
Выберите вкладку Роли.
-
Нажмите кнопку Создать.
-
Заполните форму в соответствии с таблицей Роли.
-
Нажмите кнопку Создать.
Создание и назначение пользовательских ролей
Подсистема мониторинга позволяет создавать роли, дающие доступ только к определённым ресурсам. Такие роли называются пользовательскими. Для их корректной работы нужно выполнить настройки и на стороне подсистемы мониторинга, и на стороне Basis Virtual Security.
Создание роли в подсистеме мониторинга
Чтобы создать пользовательскую роль:
-
Авторизуйтесь в подсистеме мониторинга.
-
На панели навигации выберите .
-
Нажмите кнопку Добавить роль.
-
Укажите название роли и нажмите кнопку Сохранить. В таблице появится новая колонка с названием созданной роли.
-
Поставьте флаги на пересечении колонки нужной роли со строками привилегий и нажмите кнопку Сохранить.
Создание роли в Basis Virtual Security
Чтобы создать пользовательскую роль в Basis Virtual Security:
-
На панели навигации выберите .
-
В колонке Идентификатор нажмите на ссылку с названием клиентской системы Геном.
-
Выберите вкладку Роли.
-
Нажмите кнопку Создать.
-
В поле Наименование укажите то же название роли, что и в подсистеме мониторинга.
-
Нажмите кнопку Создать.
Настройка отображения области
Настройте отображение области Basis Virtual Security:
-
На панели навигации выберите .
-
В колонке Наименование нажмите на ссылку с названием области roles.
-
Выберите вкладку Отображения и нажмите кнопку Создать.
-
Заполните форму:
-
Наименование:
username. -
Тип отображения: Отображение атрибута пользователя. При выборе нужного значения на форме появятся дополнительные поля.
-
Применимость: выберите Токен доступа, Токен идентификации и Информация о пользователе.
-
Наименование утверждения:
preferred_username. -
Наименование атрибута:
username. -
Убедитесь, что флаги Многозначный и Групповой сняты.
-
-
Нажмите кнопку Создать.
Назначение роли пользователям
Чтобы назначить роль пользователю Basis Virtual Security:
-
На панели навигации выберите .
-
В колонке Логин нажмите на ссылку с названием учётной записи нужного пользователя.
-
Выберите вкладку Роли.
-
На панели Роли уровня клиентской системы выберите клиентскую систему Геном.
-
В колонке Доступные роли выберите нужные роли и нажмите кнопку Назначить выбранные роли.
Настройка платформы
Настройте аутентификацию на стороне платформы:
-
Подключитесь к узлу управления платформой.
-
Внесите изменения в конфигурационный файл
/opt/skala-r/platform-services/configs/auth-service.yml.-
iam.auth_server: URL сервера Basis Virtual Security, например:https://bvs.example.com/ -
iam.client_id: идентификатор клиентской системы. -
iam.client_secret: пароль клиентской системы. -
iam.provider:bvs. -
iam.realm: название домена Геном. -
iam.request_timeout: ограничение по времени на запрос к Basis Virtual Security. -
iam.tls_insecure_skip_verify: пропуск проверки TLS-сертификатов. -
iam.token_introspection.enabled: состояние интроспекции (true— включена,false— выключена). -
iam.token_introspection.interval: длительность интервала дополнительной интроспекции. -
sync.admin_server: URL сервера Basis Virtual Security. -
sync.fetch_interval: периодичность выполнения синхронизации. -
sync.tech_auth_client_id: идентификатор клиента, используемый для авторизации сервиса. -
sync.tech_auth_client_secret: секрет клиента, применяемый для получения токена доступа. -
sync.tech_auth_password: пароль технической учётной записи. -
sync.tech_auth_username: название учётной записи, от имени которой выполняется синхронизация данных.
-
|
Значения ключей |
---
# ...
iam:
provider: bvs
auth_server: "https://bvs.example.com/"
realm: "genome"
client_id: "genome"
client_secret: "********"
tls_insecure_skip_verify: true
request_timeout: 5s
token_introspection:
enabled: true
interval: 10m
# ...
sync:
admin_server: "https://bvs.example.com"
tech_auth_client_id: "genome-tech-user"
tech_auth_client_secret: "********"
tech_auth_username: "genome-tech-user"
tech_auth_password: "********"
fetch_interval: 1h
# ...
Настройка подсистемы мониторинга
Измените значения следующих параметров:
-
auth.admin_server: URL сервера Basis Virtual Security, например:https://bvs.example.com/ -
auth.auth_server: URL сервера Basis Virtual Security, например:https://bvs.example.com/ -
auth.auth_type:bvs. -
auth.client_id: идентификатор клиентской системы на стороне Basis Virtual Security. -
auth.enabled:true. -
auth.tls_insecure_skip_verify: пропуск проверки TLS-сертификата.
|
Не изменяйте значение параметра |
---
# ...
auth:
enabled: true
auth_type: bvs
auth_server: "https://bvs.example.com/"
admin_server: "https://bvs.example.com"
client_id: "genome"
client_secret: vault.auth.client_secret
tls_insecure_skip_verify: true
# ...
Настройка автоматической рассылки уведомлений
Рекомендуется создать и настроить отдельного технического пользователя, который будет использоваться для подключения к Basis Virtual Security и получения списков пользователей и ролей.
Создание технической роли
Создайте в Basis Virtual Security роль, предоставляющую необходимые полномочия:
-
На панели навигации разверните выпадающий список пространств и выберите пространство
master. -
На панели навигации выберите .
-
Нажмите кнопку Создать.
-
В поле Наименование укажите значение
genome-api-read-only. -
Нажмите кнопку Создать. Будет открыта страница созданной роли.
-
Во вкладке Разрешения выберите домен Геном.
-
Переведите указанные переключатели во включенное положение:
-
Просмотр клиентских систем.
-
Просмотр вычислительных узлов.
-
Просмотр сервисов.
-
Просмотр журналов событий.
-
Просмотр провайдеров идентификации.
-
Просмотр политик безопасности.
-
Просмотр доменов.
-
Просмотр групп безопасности.
-
Просмотр пользователей.
-
Просмотр виртуальных машин.
-
Создание технического пользователя
Создайте в Basis Virtual Security технического пользователя:
-
На панели навигации выберите .
-
Нажмите кнопку Создать.
-
В поле Наименование укажите значение
genome-tech-user. -
Нажмите кнопку Создать. Будет открыта страница с данными пользователя.
-
Выберите вкладку Полномочия.
-
На панели Сброс пароля:
-
В поля Новый пароль и Подтверждение введите пароль технического пользователя.
-
Снимите флаг Временный пароль.
-
Нажмите кнопку Сбросить пароль.
-
Подтвердите сброс пароля.
-
-
Выберите вкладку Роли.
-
На панели Роли уровня домена выберите роль
genome-api-read-onlyи нажмите кнопку Назначить выбранные роли.
Настройка подсистемы мониторинга
В настройках подсистемы мониторинга измените значения указанных параметров:
-
iamsyncer.fetch_interval; -
iamsyncer.tech_auth_client_id; -
iamsyncer.tech_auth_username; -
iamsyncer.user_update_enabled.
---
# ...
iamsyncer:
tls_insecure_skip_verify: true
request_timeout: 5
systemd_service: vision_iamsyncer.service
user_update_enabled: true
tech_auth_client_id: "genome"
tech_auth_username: "genome-tech-user"
tech_auth_password: vault.auth.tech_auth_password
fetch_interval: 3600
# ...
-
В хранилище секретов в значении параметра
vault.auth.tech_auth_passwordукажите пароль технического пользователя. -
Если подсистема мониторинга развёрнута на одном узле, примените изменения в конфигурации сервиса
vision_iamsyncerодним из способов:-
Вручную перезапустите службу
vision_iamsyncer:systemctl restart vision_iamsyncer -
Запустите скрипт
/opt/skala-r/vision/tools/update_server_configs.sh.Этот способ рекомендуется в тех случаях, когда менялись ещё какие-либо фрагменты конфигурации для других компонентов.
-
-
Для проверки работы сервиса
vision_iamsyncerвыполните команду:tail -f /opt/skala-r/var/log/vision/server/vision_iamsyncer/vision_iamsyncer.log