Словари приложений

ℹ️ О документе

В этом разделе описывается работа со словарями приложений OIDC — автоматическая синхронизация объектов, действий и организаций между внешними приложениями и IDENTYX.

Что такое словари приложений

Словари приложений — это механизм автоматической синхронизации структуры внешнего приложения с системой управления доступом IDENTYX. Когда приложение отправляет свои справочники в IAM, система может автоматически создавать соответствующие объекты, действия и организации для управления правами доступа.

✅ Преимущества использования словарей
  • Автоматическая синхронизация — не нужно вручную создавать объекты и действия для каждого приложения
  • Актуальность данных — структура прав доступа всегда соответствует структуре приложения
  • Удобство управления — изменения в приложении автоматически отражаются в IAM
  • Централизованное хранение — все справочники хранятся в одном месте

Типы словарей

IDENTYX поддерживает три типа словарей приложений:

📦 Объекты приложения

Словарь objects содержит список объектов безопасности приложения — это сущности, на которые назначаются права доступа (разделы меню, документы, страницы и т.д.).

Пример: /app-id/documents, /app-id/reports, /app-id/settings

⚡ Действия приложения

Словарь actions содержит список действий безопасности — это операции, которые можно выполнять над объектами (просмотр, редактирование, удаление и т.д.).

Пример: /app-id/read, /app-id/write, /app-id/delete

🏢 Организации

Словарь organizations содержит организационную структуру из внешнего приложения для синхронизации с деревом организаций IDENTYX.

Пример: /orgs/head-office, /orgs/branch-moscow

Просмотр словарей приложения

Для просмотра и управления словарями приложения:

  1. Перейдите в раздел ПриложенияOpenID Connect
  2. Нажмите на нужное приложение для открытия карточки
  3. Перейдите на вкладку Справочники

На вкладке Справочники доступны две подвкладки:

Реестр

Вкладка Реестр отображает список всех словарей, которые были загружены приложением в IDENTYX.

Колонка Описание
Тип справочника Тип словаря: Объекты приложения, Действия приложения или Организации
Операции Кнопка просмотра содержимого словаря
ℹ️ Фильтрация

Вы можете отфильтровать словари по типу, используя выпадающий список в верхней части таблицы. Доступны варианты: Все типы, Объекты приложения, Действия приложения, Организации.

Просмотр содержимого словаря

Для просмотра содержимого конкретного словаря:

  1. На вкладке Реестр нажмите кнопку с иконкой глаза напротив нужного словаря
  2. Откроется модальное окно с содержимым словаря

В окне просмотра содержимого отображается:

  • Дерево элементов — иерархическая структура объектов, действий или организаций
  • Количество элементов — общее количество записей в словаре
  • Настройки применения — параметры для обработки словаря
⚠️ Применение словаря

В окне просмотра доступна кнопка Применить справочник. При нажатии система обработает словарь и создаст или обновит соответствующие объекты безопасности в IDENTYX.

Автоматическая загрузка словарей

Вместо ручного применения каждого словаря, вы можете настроить автоматическую обработку при получении обновлений от приложения.

Настройка автообработки

Для настройки автоматической обработки словарей:

  1. В карточке приложения перейдите на вкладку Справочники
  2. Откройте подвкладку Автоматическая загрузка справочников
  3. В таблице настроек отобразятся все доступные типы словарей

Для каждого типа словаря доступны следующие параметры:

Параметр Описание
Автоматически загружать Установите флажок для включения автоматической обработки этого типа словаря
Удалять старые объекты Если флажок установлен, объекты, которых нет в новом словаре, будут удалены из системы
🚫 Внимание при удалении старых объектов

Опция Удалять старые объекты удалит из IDENTYX все объекты или действия, которых нет в новом словаре. Это может привести к потере настроенных прав доступа. Используйте эту опцию с осторожностью!

Когда происходит автоматическая обработка

Автоматическая обработка словарей выполняется в следующих случаях:

  • При импорте приложения из JSON — если приложение содержит словари и настроена автообработка
  • При обновлении словарей через API — когда приложение отправляет обновленные справочники
  • При сохранении настроек приложения — если были изменены маппинги словарей
ℹ️ Проверка валидности

Перед применением словаря система проверяет возможность построения дерева объектов или действий. Если словарь содержит ошибки (например, циклические зависимости), операция будет отменена с сообщением об ошибке.

Ручное применение словаря

Если автоматическая обработка не включена, вы можете применить словарь вручную:

  1. Откройте реестр словарей на вкладке СправочникиРеестр
  2. Нажмите кнопку просмотра напротив нужного словаря
  3. В открывшемся окне настройте параметр Удалять объекты, если их нет в новом справочнике (опционально)
  4. Нажмите кнопку Применить справочник

После применения словаря:

  • Будут созданы или обновлены соответствующие объекты безопасности в разделе Права доступаОбъекты
  • Будут созданы или обновлены действия безопасности в разделе Права доступаДействия
  • При необходимости будут обновлены связанные учетные записи и правила доступа
✅ Отслеживание изменений

При изменении путей объектов в словаре система автоматически обновляет пути в правилах доступа (ACL) и учетных записях приложений, чтобы не потерять настроенные права.

Импорт и экспорт словарей

Словари приложений автоматически включаются в экспорт и импорт приложений через JSON файлы.

Экспорт приложения со словарями

Для экспорта приложения вместе со словарями:

  1. Откройте карточку приложения
  2. Нажмите кнопку Экспорт внизу карточки
  3. Будет создан JSON файл с именем app-{client_id}.json

Экспортируемый файл содержит:

  • Все настройки приложения (client_id, client_secret, маршруты и т.д.)
  • Маппинги словарей с настройками автообработки
  • Параметры удаления старых объектов для каждого типа словаря

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

При импорте приложения из JSON:

  1. Система создаст или обновит приложение
  2. Восстановит настройки маппинга словарей
  3. Если включена автообработка и в JSON есть словари, они будут автоматически применены
⚠️ Формат данных словарей

Содержимое самих словарей (списки объектов и действий) хранится в отдельной таблице и не включается в JSON файл экспорта. Экспортируются только настройки маппинга. Для загрузки содержимого словарей приложение должно отправить их через API.

API для работы со словарями

Внешние приложения могут отправлять свои словари в IDENTYX через специальный API метод:

POST /api/service
{
  "action": "putDictionaries",
  "client_id": "client-id-приложения",
  "client_secret": "secret-приложения",
  "data": {
    "dictionaries": {
      "objects": [
        {"id": "/documents", "title": "Документы"},
        {"id": "/reports", "title": "Отчеты"},
        {"id": "/settings", "title": "Настройки"}
      ],
      "actions": [
        {"id": "/read", "title": "Чтение"},
        {"id": "/write", "title": "Запись"},
        {"id": "/delete", "title": "Удаление"}
      ]
    }
  }
}

При получении словарей через API:

  1. Система сохраняет содержимое словарей в базу данных
  2. Если для этого типа словаря включена автообработка, словарь будет автоматически применен
  3. Будут созданы или обновлены соответствующие объекты и действия в дереве прав доступа
ℹ️ Структура элементов словаря

Каждый элемент словаря должен содержать как минимум два поля:

  • id — уникальный идентификатор элемента (может быть путем, например /documents/reports)
  • title — отображаемое название элемента

Практические сценарии использования

Сценарий 1: Синхронизация структуры меню

У вас есть приложение с иерархическим меню. Вы хотите, чтобы пользователи имели доступ только к определенным разделам меню в зависимости от их роли.

  1. Настройте в приложении отправку словаря objects со структурой меню
  2. В IDENTYX включите автоматическую обработку словаря объектов
  3. После отправки словаря в IDENTYX автоматически создастся дерево объектов, соответствующее структуре меню
  4. Создайте правила доступа (ACL), назначив пользователям или группам права на конкретные разделы меню
  5. Приложение при авторизации получит список прав через scope permissions и покажет только разрешенные разделы меню

Сценарий 2: Разграничение прав на действия

Вы хотите настроить детальное разграничение прав: одни пользователи могут только просматривать документы, другие — редактировать, третьи — удалять.

  1. Отправьте словарь actions с доступными действиями (read, write, delete)
  2. Отправьте словарь objects с разделами приложения (documents, reports)
  3. В IDENTYX создайте правила доступа в формате объект:действие, например:
    • /app-id/documents:read — разрешить чтение документов
    • /app-id/documents:write — разрешить редактирование документов
    • /app-id/documents:delete — разрешить удаление документов
  4. Приложение проверяет наличие соответствующих прав перед выполнением операций

Сценарий 3: Автообновление при изменениях

Структура вашего приложения меняется — добавляются новые разделы, удаляются старые. Вы хотите, чтобы изменения автоматически отражались в IAM.

  1. Включите автоматическую обработку словарей для приложения
  2. Установите флажок Удалять старые объекты (если хотите удалять неактуальные элементы)
  3. Настройте приложение на периодическую отправку обновленных словарей в IDENTYX
  4. При каждом обновлении структура прав доступа в IAM будет автоматически синхронизироваться с приложением
⚠️ Рекомендация по автоудалению

Перед включением опции Удалять старые объекты убедитесь, что ваше приложение всегда отправляет полный список объектов. Если приложение отправит неполный словарь (например, из-за ошибки), недостающие объекты будут удалены из IAM вместе со всеми настроенными правами доступа.

✅ Готовы продолжить?

Переходите к разделу IAM сессии для изучения управления сессиями пользователей.