Экспорт и импорт приложений
Этот раздел описывает функциональность экспорта и импорта OIDC приложений в формате JSON. Эта возможность позволяет переносить конфигурации приложений между разными экземплярами IDENTYX, создавать резервные копии настроек и распространять готовые интеграции.
Зачем нужен экспорт и импорт
Функциональность экспорта и импорта приложений решает несколько важных задач:
- Миграция между средами — перенос настроек приложений из тестовой среды в продуктивную
- Резервное копирование — сохранение конфигураций приложений для восстановления
- Шаблонизация — создание готовых шаблонов приложений для быстрого развертывания
- Обмен конфигурациями — передача настроек между разными установками IDENTYX
- Версионирование — сохранение истории изменений конфигураций в системе контроля версий
Формат экспорта
Приложения экспортируются в формате JSON. Экспортированный файл содержит:
- Основные данные приложения — client_id, client_secret, название, порт
- Настройки прокси — маршруты, правила переадресации, кастомные заголовки
- Настройки OIDC — redirect_uri, разрешенные URL переадресации
- Настройки безопасности — лимиты сессий, требования блокировки экрана
- Текст оферты — условия использования приложения для пользователей
- Маппинг словарей — связи между словарями приложения и IDENTYX
Экспортированный файл содержит конфиденциальные данные, включая client_secret. Храните файлы экспорта в безопасном месте и не передавайте их неавторизованным лицам.
Экспорт всех приложений
Чтобы экспортировать все OIDC приложения разом:
- Перейдите в раздел OIDC приложения в главном меню
- В правом верхнем углу таблицы нажмите кнопку Экспорт в JSON
- Система соберет данные обо всех приложениях
- Автоматически загрузится JSON файл с именем
oidc-apps-export-YYYY-MM-DD.json
После успешного экспорта появится уведомление с количеством экспортированных приложений, например: "Экспортировано 5 приложений".
Структура файла массового экспорта
Файл экспорта всех приложений представляет собой JSON-массив объектов:
[
{
"app": {
"client_id": "...",
"client_secret": "...",
"title": "Приложение 1",
...
},
"dictMappings": [...]
},
{
"app": {
"client_id": "...",
"title": "Приложение 2",
...
},
"dictMappings": [...]
}
]
Экспорт отдельного приложения
Чтобы экспортировать одно конкретное приложение:
- Перейдите в раздел OIDC приложения
- Кликните на нужное приложение в таблице для открытия карточки
- В карточке приложения найдите кнопку Экспорт в JSON
- Нажмите на кнопку
- Автоматически загрузится файл с именем
app-{client_id}.json
При экспорте отдельного приложения система всегда запрашивает актуальные данные с сервера, чтобы убедиться, что экспортируется самая свежая конфигурация.
Импорт приложений
Чтобы импортировать приложения из JSON файла:
- Перейдите в раздел OIDC приложения
- Нажмите кнопку Импорт из JSON в правом верхнем углу
- Выберите JSON файл с экспортированными приложениями
- Система проверит формат файла и покажет подтверждение
- В диалоге подтверждения будет указано количество приложений для импорта
- Нажмите Да для подтверждения импорта
- Система последовательно импортирует все приложения из файла
После завершения импорта появится уведомление с результатами: "Успешно импортировано N приложений". Если некоторые приложения не удалось импортировать, будет указано их количество.
Поведение при импорте
Если приложение с таким client_id уже существует в системе, его настройки будут обновлены данными из импортируемого файла.
Если приложение с таким client_id не найдено в системе, оно будет создано с параметрами из импортируемого файла.
Маппинг словарей импортируется вместе с приложением. Существующие связи словарей будут заменены на новые из импорта.
Для выполнения импорта требуются права суперадминистратора IAM (/iam:/iam/super-admin).
Обработка ошибок при импорте
При импорте могут возникнуть ошибки для отдельных приложений:
- Некорректный формат — отсутствуют обязательные поля
client_id,titleилиclient_secret - Нарушение ограничений — данные не проходят валидацию на сервере
- Конфликты данных — несовместимость с существующими записями
Если импорт приложения завершается с ошибкой, система продолжает импортировать остальные приложения из файла. В конце будет показано общее количество успешно импортированных и неудачных попыток.
Импорт в карточку приложения
Существует альтернативный способ импорта — импорт непосредственно в открытую карточку приложения:
- Создайте новое приложение или откройте существующее
- В карточке приложения найдите кнопку Импорт из JSON
- Выберите JSON файл с одним приложением
- Система подставит данные из файла в поля карточки
- Проверьте импортированные данные
- Нажмите Сохранить для применения изменений
При импорте в карточку данные только подставляются в поля формы, но не сохраняются автоматически. Это позволяет проверить и при необходимости изменить импортированные данные перед сохранением.
Брендированные приложения
IDENTYX поддерживает концепцию брендированных приложений — это специализированные приложения с предустановленной конфигурацией и ограниченными возможностями редактирования.
Особенности брендированных приложений
- Автоматическая установка — приложения устанавливаются автоматически при развертывании системы
- Ограниченное редактирование — основные параметры (client_id, маршруты прокси) заблокированы для изменения
- Разрешенные настройки — можно изменять настройки безопасности, текст оферты, стилизацию сообщений
- Визуальное выделение — в интерфейсе помечены специальным логотипом и баннером
- Синхронизация конфигурации — автоматическое обновление конфигурационных файлов при изменении
Примеры брендированных приложений
В стандартной поставке IDENTYX включены следующие брендированные приложения:
| Приложение | Назначение | Конфигурация |
|---|---|---|
| Infrax | Основное приложение системы управления инфраструктурой | infrax.json |
| Infrax Cloud | Облачная версия системы управления инфраструктурой | infrax-cloud.json |
Конфигурация брендированных приложений
Брендированные приложения настраиваются через JSON файлы в директории Other/Apps/. Каждый файл содержит:
name— название приложенияenv_url_key— переменная окружения с URL приложенияshared_dir_name— имя директории для общих файловtemplate_path— путь к шаблону конфигурацииlogo_path— путь к логотипу приложенияplaceholder_keys— ключи для подстановки в шаблон
При попытке изменить заблокированные параметры брендированного приложения поля будут неактивны, а в интерфейсе появится значок замка с пояснением "Поля заблокированы" или "Только для просмотра".
Практические сценарии использования
Сценарий 1: Миграция между средами
Задача: Перенести настройки приложений из тестовой среды в продуктивную.
- В тестовой среде выполните экспорт всех приложений
- Скачайте файл
oidc-apps-export-YYYY-MM-DD.json - Откройте файл в текстовом редакторе
- При необходимости измените значения
client_idиclient_secretдля продуктивной среды - Измените URL и порты в настройках прокси
- Сохраните измененный файл
- В продуктивной среде выполните импорт из обновленного файла
Сценарий 2: Резервное копирование
Задача: Регулярно создавать резервные копии конфигураций приложений.
- Создайте скрипт или задание для периодического экспорта
- Экспортируйте все приложения в JSON
- Сохраняйте файлы с датой в названии
- Храните резервные копии в безопасном месте
- При необходимости восстановите настройки через импорт
Сценарий 3: Создание шаблона приложения
Задача: Создать готовый шаблон для быстрого добавления однотипных приложений.
- Создайте и полностью настройте одно приложение со всеми нужными параметрами
- Экспортируйте это приложение в JSON
- Откройте файл в текстовом редакторе
- Замените специфичные значения на шаблонные (например,
{APP_NAME},{APP_PORT}) - Сохраните как шаблон
- При создании нового приложения используйте шаблон, заменяя шаблонные значения на реальные
Сценарий 4: Распространение готовых интеграций
Задача: Предоставить клиентам готовую интеграцию с вашим приложением.
- Создайте и полностью настройте OIDC приложение для вашего сервиса
- Настройте все необходимые параметры, маршруты прокси, словари
- Экспортируйте приложение в JSON
- Подготовьте инструкцию по импорту
- Предоставьте JSON файл и инструкцию клиентам
- Клиенты смогут импортировать готовую конфигурацию одним кликом
Рекомендации и лучшие практики
- Храните экспортированные файлы в защищенном месте
- Не передавайте файлы по незащищенным каналам
- При необходимости зашифруйте файлы перед передачей
- Измените
client_secretпосле импорта в продуктивную среду
- Добавляйте комментарии в JSON о назначении приложения
- Ведите журнал изменений конфигураций
- Документируйте специфичные настройки
- Создавайте README файлы к экспортированным конфигурациям
- Сохраняйте экспорты с указанием версии или даты
- Используйте Git для хранения конфигураций
- Создавайте теги для важных версий
- Ведите changelog изменений в конфигурациях
- После импорта проверьте все настройки приложения
- Убедитесь, что маршруты прокси указывают на правильные URL
- Проверьте права доступа к приложению
- Протестируйте авторизацию в импортированном приложении
Устранение проблем
Ошибка "Некорректный формат файла"
Причина: JSON файл имеет неправильную структуру или поврежден.
Решение:
- Убедитесь, что файл содержит корректный JSON
- Проверьте, что корневой элемент — массив приложений
- Используйте JSON валидатор для проверки синтаксиса
- Попробуйте экспортировать приложение заново
Ошибка "Отсутствуют обязательные поля"
Причина: В данных приложения отсутствуют client_id, title или client_secret.
Решение:
- Откройте JSON файл в редакторе
- Убедитесь, что каждое приложение содержит обязательные поля
- Добавьте недостающие поля вручную
- Сохраните файл и попробуйте импортировать снова
Импортированы не все приложения
Причина: Некоторые приложения из файла не прошли валидацию или вызвали ошибки при сохранении.
Решение:
- Проверьте консоль браузера (F12) для подробной информации об ошибках
- Проверьте журнал событий IDENTYX на сервере
- Попробуйте импортировать проблемные приложения по одному
- При необходимости создайте приложение вручную на основе данных из файла
Не удается изменить импортированное брендированное приложение
Причина: Приложение распознано как брендированное и имеет ограничения на редактирование.
Решение:
- Изменяйте только разрешенные параметры (безопасность, оферта)
- Для изменения заблокированных параметров обратитесь к администратору системы
- При необходимости измените конфигурационный файл приложения в директории
Other/Apps/
Теперь вы знаете, как экспортировать и импортировать приложения. Переходите к разделу Словари приложений, чтобы узнать о работе со словарями данных.