Экспорт и импорт приложений

ℹ️ О разделе

Этот раздел описывает функциональность экспорта и импорта OIDC приложений в формате JSON. Эта возможность позволяет переносить конфигурации приложений между разными экземплярами IDENTYX, создавать резервные копии настроек и распространять готовые интеграции.

Зачем нужен экспорт и импорт

Функциональность экспорта и импорта приложений решает несколько важных задач:

  • Миграция между средами — перенос настроек приложений из тестовой среды в продуктивную
  • Резервное копирование — сохранение конфигураций приложений для восстановления
  • Шаблонизация — создание готовых шаблонов приложений для быстрого развертывания
  • Обмен конфигурациями — передача настроек между разными установками IDENTYX
  • Версионирование — сохранение истории изменений конфигураций в системе контроля версий

Формат экспорта

Приложения экспортируются в формате JSON. Экспортированный файл содержит:

  • Основные данные приложения — client_id, client_secret, название, порт
  • Настройки прокси — маршруты, правила переадресации, кастомные заголовки
  • Настройки OIDC — redirect_uri, разрешенные URL переадресации
  • Настройки безопасности — лимиты сессий, требования блокировки экрана
  • Текст оферты — условия использования приложения для пользователей
  • Маппинг словарей — связи между словарями приложения и IDENTYX
⚠️ Важно

Экспортированный файл содержит конфиденциальные данные, включая client_secret. Храните файлы экспорта в безопасном месте и не передавайте их неавторизованным лицам.

Экспорт всех приложений

Чтобы экспортировать все OIDC приложения разом:

  1. Перейдите в раздел OIDC приложения в главном меню
  2. В правом верхнем углу таблицы нажмите кнопку Экспорт в JSON
  3. Система соберет данные обо всех приложениях
  4. Автоматически загрузится JSON файл с именем oidc-apps-export-YYYY-MM-DD.json
✅ Успешный экспорт

После успешного экспорта появится уведомление с количеством экспортированных приложений, например: "Экспортировано 5 приложений".

Структура файла массового экспорта

Файл экспорта всех приложений представляет собой JSON-массив объектов:

[
  {
    "app": {
      "client_id": "...",
      "client_secret": "...",
      "title": "Приложение 1",
      ...
    },
    "dictMappings": [...]
  },
  {
    "app": {
      "client_id": "...",
      "title": "Приложение 2",
      ...
    },
    "dictMappings": [...]
  }
]

Экспорт отдельного приложения

Чтобы экспортировать одно конкретное приложение:

  1. Перейдите в раздел OIDC приложения
  2. Кликните на нужное приложение в таблице для открытия карточки
  3. В карточке приложения найдите кнопку Экспорт в JSON
  4. Нажмите на кнопку
  5. Автоматически загрузится файл с именем app-{client_id}.json
ℹ️ Актуальность данных

При экспорте отдельного приложения система всегда запрашивает актуальные данные с сервера, чтобы убедиться, что экспортируется самая свежая конфигурация.

Импорт приложений

Чтобы импортировать приложения из JSON файла:

  1. Перейдите в раздел OIDC приложения
  2. Нажмите кнопку Импорт из JSON в правом верхнем углу
  3. Выберите JSON файл с экспортированными приложениями
  4. Система проверит формат файла и покажет подтверждение
  5. В диалоге подтверждения будет указано количество приложений для импорта
  6. Нажмите Да для подтверждения импорта
  7. Система последовательно импортирует все приложения из файла
✅ Результаты импорта

После завершения импорта появится уведомление с результатами: "Успешно импортировано N приложений". Если некоторые приложения не удалось импортировать, будет указано их количество.

Поведение при импорте

🔄 Обновление существующих

Если приложение с таким client_id уже существует в системе, его настройки будут обновлены данными из импортируемого файла.

➕ Создание новых

Если приложение с таким client_id не найдено в системе, оно будет создано с параметрами из импортируемого файла.

📊 Словари

Маппинг словарей импортируется вместе с приложением. Существующие связи словарей будут заменены на новые из импорта.

🔐 Безопасность

Для выполнения импорта требуются права суперадминистратора IAM (/iam:/iam/super-admin).

Обработка ошибок при импорте

При импорте могут возникнуть ошибки для отдельных приложений:

  • Некорректный формат — отсутствуют обязательные поля client_id, title или client_secret
  • Нарушение ограничений — данные не проходят валидацию на сервере
  • Конфликты данных — несовместимость с существующими записями

Если импорт приложения завершается с ошибкой, система продолжает импортировать остальные приложения из файла. В конце будет показано общее количество успешно импортированных и неудачных попыток.

Импорт в карточку приложения

Существует альтернативный способ импорта — импорт непосредственно в открытую карточку приложения:

  1. Создайте новое приложение или откройте существующее
  2. В карточке приложения найдите кнопку Импорт из JSON
  3. Выберите JSON файл с одним приложением
  4. Система подставит данные из файла в поля карточки
  5. Проверьте импортированные данные
  6. Нажмите Сохранить для применения изменений
ℹ️ Особенность импорта в карточку

При импорте в карточку данные только подставляются в поля формы, но не сохраняются автоматически. Это позволяет проверить и при необходимости изменить импортированные данные перед сохранением.

Брендированные приложения

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: Миграция между средами

Задача: Перенести настройки приложений из тестовой среды в продуктивную.

  1. В тестовой среде выполните экспорт всех приложений
  2. Скачайте файл oidc-apps-export-YYYY-MM-DD.json
  3. Откройте файл в текстовом редакторе
  4. При необходимости измените значения client_id и client_secret для продуктивной среды
  5. Измените URL и порты в настройках прокси
  6. Сохраните измененный файл
  7. В продуктивной среде выполните импорт из обновленного файла

Сценарий 2: Резервное копирование

Задача: Регулярно создавать резервные копии конфигураций приложений.

  1. Создайте скрипт или задание для периодического экспорта
  2. Экспортируйте все приложения в JSON
  3. Сохраняйте файлы с датой в названии
  4. Храните резервные копии в безопасном месте
  5. При необходимости восстановите настройки через импорт

Сценарий 3: Создание шаблона приложения

Задача: Создать готовый шаблон для быстрого добавления однотипных приложений.

  1. Создайте и полностью настройте одно приложение со всеми нужными параметрами
  2. Экспортируйте это приложение в JSON
  3. Откройте файл в текстовом редакторе
  4. Замените специфичные значения на шаблонные (например, {APP_NAME}, {APP_PORT})
  5. Сохраните как шаблон
  6. При создании нового приложения используйте шаблон, заменяя шаблонные значения на реальные

Сценарий 4: Распространение готовых интеграций

Задача: Предоставить клиентам готовую интеграцию с вашим приложением.

  1. Создайте и полностью настройте OIDC приложение для вашего сервиса
  2. Настройте все необходимые параметры, маршруты прокси, словари
  3. Экспортируйте приложение в JSON
  4. Подготовьте инструкцию по импорту
  5. Предоставьте JSON файл и инструкцию клиентам
  6. Клиенты смогут импортировать готовую конфигурацию одним кликом

Рекомендации и лучшие практики

🔐 Безопасность
  • Храните экспортированные файлы в защищенном месте
  • Не передавайте файлы по незащищенным каналам
  • При необходимости зашифруйте файлы перед передачей
  • Измените client_secret после импорта в продуктивную среду
📝 Документирование
  • Добавляйте комментарии в JSON о назначении приложения
  • Ведите журнал изменений конфигураций
  • Документируйте специфичные настройки
  • Создавайте README файлы к экспортированным конфигурациям
🔄 Версионирование
  • Сохраняйте экспорты с указанием версии или даты
  • Используйте Git для хранения конфигураций
  • Создавайте теги для важных версий
  • Ведите changelog изменений в конфигурациях
✅ Проверка
  • После импорта проверьте все настройки приложения
  • Убедитесь, что маршруты прокси указывают на правильные URL
  • Проверьте права доступа к приложению
  • Протестируйте авторизацию в импортированном приложении

Устранение проблем

Ошибка "Некорректный формат файла"

Причина: JSON файл имеет неправильную структуру или поврежден.

Решение:

  • Убедитесь, что файл содержит корректный JSON
  • Проверьте, что корневой элемент — массив приложений
  • Используйте JSON валидатор для проверки синтаксиса
  • Попробуйте экспортировать приложение заново

Ошибка "Отсутствуют обязательные поля"

Причина: В данных приложения отсутствуют client_id, title или client_secret.

Решение:

  • Откройте JSON файл в редакторе
  • Убедитесь, что каждое приложение содержит обязательные поля
  • Добавьте недостающие поля вручную
  • Сохраните файл и попробуйте импортировать снова

Импортированы не все приложения

Причина: Некоторые приложения из файла не прошли валидацию или вызвали ошибки при сохранении.

Решение:

  • Проверьте консоль браузера (F12) для подробной информации об ошибках
  • Проверьте журнал событий IDENTYX на сервере
  • Попробуйте импортировать проблемные приложения по одному
  • При необходимости создайте приложение вручную на основе данных из файла

Не удается изменить импортированное брендированное приложение

Причина: Приложение распознано как брендированное и имеет ограничения на редактирование.

Решение:

  • Изменяйте только разрешенные параметры (безопасность, оферта)
  • Для изменения заблокированных параметров обратитесь к администратору системы
  • При необходимости измените конфигурационный файл приложения в директории Other/Apps/
✅ Что дальше?

Теперь вы знаете, как экспортировать и импортировать приложения. Переходите к разделу Словари приложений, чтобы узнать о работе со словарями данных.