FAM Avanpost
Это руководство описывает настройку сервиса аутентификации Геном на использование внешнего провайдера FAM Avanpost. Инструкция подготовлена на примере FAM Avanpost версии v1.13.6.458.
Для настройки FAM Avanpost необходимы привилегии администратора.
Для настройки Геном необходимы привилегии суперпользователя.
Создание приложения
В FAM Avanpost выполните следующие действия:
-
На панели навигации нажмите Приложения.
-
На странице приложений нажмите кнопку + Добавить приложение.
-
На этапе Основные настройки заполните форму:
-
Наименование: название, которое FAM Avanpost будет использовать для приложения Геном, например,
genome-server. -
Тип: OAuth/OpenID Connect.
-
-
Нажмите кнопку Далее.
-
На этапе Настройки интеграции заполните форму:
-
Secret: секрет, который Геном будет использовать для доступа к FAM Avanpost. Сохраните значение в надёжном месте, оно понадобится при настройке на стороне Геном.
-
Redirect URIs: адрес, на который FAM Avanpost должен перенаправить пользователя при успешной аутентификации.
Укажите URL следующего вида:
https://<genome>/after-authЗдесь
<genome>— доменное имя или IP-адрес узла управления Геном.Если узел управления доступен по нескольким адресам, укажите их все, используя в качестве разделителя пробел, например:
https://genome.example.com/after-auth https://192.168.0.1/after-auth -
Base URL: IP-адрес или доменное имя узла управления Геном.
-
Logout: оставьте незаполненным.
-
-
Нажмите кнопку Далее.
-
При необходимости на этапе Настройка аутентификации измените шаги и способы аутентификации.
По умолчанию FAM Avanpost использует настройки, позволяющие выполнить аутентификацию с помощью имени пользователя и пароля.
-
Нажмите кнопку Далее.
-
На этапе Завершение установите флаг Сделать приложение активным и нажмите кнопку Сохранить. FAM Avanpost отобразит страницу созданного приложения.
-
Выберите вкладку Настройки.
-
В блоке Настройки интеграции:
-
Скопируйте в буфер обмена значение поля Client ID.
-
Нажмите кнопку редактирования и укажите параметры интеграции:
-
Post logout redirect URIs: доменное имя или IP-адрес узла управления Геном.
-
Allowed grant types: переведите переключатели Authorization code и Refresh token во включенное положение.
-
Access token type: JSON web token.
-
Ошибки аутентификации: снимите флаг Обрабатывать как ошибки протокола.
-
-
Нажмите кнопку Сохранить.
-
-
Выберите вкладку Модель доступа.
-
Нажмите кнопку + и заполните форму:
-
Код: скопированное ранее значение поля Client ID с вкладки Настройки.
-
Описание:
Права доступа. -
Права (Scopes): с помощью кнопки + создайте следующие права доступа:
Таблица 1. Права администраторов Код Описание inventoryАдминистрирование инвентарей Ansible
obj_modelАдминистрирование объектной модели
role_modelАдминистрирование ролевой модели
vsn_configАдминистрирование Grafana и конфигурации Геном
-
-
Нажмите кнопку Сохранить.
Создание ролей администратора
Чтобы пользователи FAM Avanpost могли администрировать Геном, необходимо в FAM Avanpost создать роли, предоставляющие необходимые права:
| Наименование | Описание | Права доступа |
|---|---|---|
|
Администраторы инвентарей Ansible |
Администрирование инвентарей Ansible |
|
Администраторы объектной модели |
Администрирование объектной модели |
|
Администраторы ролевой модели |
Администрирование ролевой модели |
|
Администраторы Grafana и конфигурации Геном |
Администрирование Grafana и конфигурации Геном |
Чтобы создать роль администратора:
-
На панели навигации нажмите Сервис.
-
Нажмите на ссылку Настройка ролей и прав.
-
Нажмите кнопку + Добавить.
-
Заполните форму Новая роль:
-
Наименование: значение из колонки Наименование таблицы Роли администраторов.
-
Описание: значение из колонки Описание таблицы Роли администраторов.
-
Объекты доступа и права:
-
Чтобы отфильтровать записи, введите название приложения (
genome-server) и нажмите Enter. -
На панели Права доступа выберите право, которое будет предоставлять роль, например, при создании роли
obj_modelвыберите правоАдминистрирование ролевой модели.
-
-
-
Нажмите кнопку Сохранить. FAM Avanpost отобразит таблицу существующих ролей.
Описанным способом создайте все роли, перечисленные в таблице Роли администраторов.
Создание и назначение пользовательских ролей
Геном позволяет создавать роли, дающие доступ только к определённым ресурсам. Такие роли называются пользовательскими. Для их корректной работы нужно выполнить настройки и на стороне Геном, и на стороне FAM Avanpost.
Создание роли в Геном
Чтобы создать пользовательскую роль:
-
Войдите в Геном с привилегиями администратора ролевой модели.
-
В главном меню нажмите Мониторинг.
-
В меню .
-
Нажмите кнопку Добавить роль.
-
Укажите название роли и нажмите кнопку Сохранить. В таблице появится новая колонка с названием созданной роли.
-
Поставьте флаги на пересечении колонки нужной роли со строками привилегий и нажмите кнопку Сохранить.
Создание роли в FAM Avanpost
Чтобы создать пользовательскую роль в FAM Avanpost и связать её с пользовательской ролью Геном:
-
На панели навигации нажмите Приложения.
-
Найдите нужное приложение и нажмите на ссылку с его названием. Avapost отобразит главную страницу приложения.
-
Выберите вкладку Модель доступа.
-
В строке Права доступа нажмите на ссылку Изменить.
-
Нажмите кнопку + и укажите параметры права:
-
Код: название пользовательской роли в Геном.
-
Описание: заполняется произвольно.
-
-
Нажмите кнопку Сохранить.
-
На панели навигации нажмите Сервис.
-
Нажмите на ссылку Настройка ролей и прав.
-
Нажмите кнопку + Добавить и укажите параметры роли:
-
Наименование: название пользовательской роли в Геном.
-
Объекты доступа и права:
-
Чтобы отфильтровать записи, введите название приложения и нажмите Enter.
-
На панели Права доступа выберите созданное ранее право.
-
-
-
Нажмите кнопку Сохранить.
Назначение роли пользователям и группам
Чтобы назначить роль:
-
На панели навигации нажмите Сервис.
-
Нажмите на ссылку Настройка ролей и прав.
-
Найдите нужную роль и нажмите на ссылку с её названием.
-
Чтобы назначить роль отдельным пользователям:
-
Выберите вкладку Пользователи и нажмите кнопку Добавить пользователей.
-
Выберите нужных пользователей и нажмите кнопку Сохранить.
-
-
Чтобы назначить роль группе пользователей:
-
Выберите вкладку Группы и нажмите кнопку Добавить группы.
-
Выберите нужные группы и нажмите кнопку Сохранить.
-
Включение пользователей в группы
Чтобы предоставить доступ к Геном пользователям:
-
На панели навигации нажмите Группы.
-
Найдите нужную группу и нажмите на ссылку с её названием.
-
Во вкладке Пользователи нажмите кнопку Добавить пользователей.
-
Выберите нужных пользователей и нажмите кнопку Сохранить.
-
Во вкладке Приложения найдите созданное ранее приложение и переведите переключатель Назначено во включенное положение.
Описанным способом добавьте пользователей в группы приложения и группу lk-client.
Включение пользователей в группу lk-client нужно для того, чтобы пользователи, аутентификация которых завершится ошибкой, имели возможность корректно завершить сессию и попробовать аутентифицироваться снова.
|
Настройка Геном
Выполните настройки на стороне Геном:
-
Подключитесь к узлу управления Геном.
-
Внесите изменения в конфигурационный файл
/opt/skala-r/platform-services/configs/auth-service.yml.-
iam.auth_server: URL сервера FAM Avanpost, например,https://avanpost.example.com/. -
iam.client_id: идентификатор приложения на стороне FAM Avanpost, например,genome-server. -
iam.client_secret: секрет клиента. -
iam.provider:avanpost. -
iam.realm: пустое значение. -
iam.request_timeout: ограничение по времени на запрос к FAM Avanpost. -
iam.tls_insecure_skip_verify: пропуск проверки TLS-сертификатов. -
iam.token_introspection.enabled: состояние интроспекции (true— включена,false— выключена). -
iam.token_introspection.interval: длительность интервала дополнительной интроспекции. -
sync.admin_server: URL сервера FAM Avanpost. -
sync.fetch_interval: периодичность выполнения синхронизации. -
sync.tech_auth_client_id: идентификатор клиента, используемый для авторизации сервиса. -
sync.tech_auth_client_secret: секрет клиента, применяемый для получения токена доступа. -
sync.tech_auth_password: пароль учётной записи. -
sync.tech_auth_username: название учётной записи, от имени которой выполняется синхронизация данных.
Значения ключей
iam.request_timeout,iam.token_introspection.intervalиsync.fetch_invervalуказывайте в виде строки, состоящей из числа и следующего за ним обозначения единицы времени. Например,30sобозначает 30 секунд, а2m— 2 минуты.Пример настройки--- # ... iam: provider: avanpost auth_server: "https://avanpost.example.com/" realm: "" client_id: "genome-server" client_secret: "********" tls_insecure_skip_verify: true request_timeout: 5s token_introspection: enabled: true interval: 10m sync: admin_server: "http://fam.skala-r.tech" tech_auth_client_id: "admin" tech_auth_client_secret: "********" tech_auth_username: "username" tech_auth_password: "password" fetch_interval: 1h -