Словари приложений
В этом разделе описывается работа со словарями приложений 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
Просмотр словарей приложения
Для просмотра и управления словарями приложения:
- Перейдите в раздел Приложения → OpenID Connect
- Нажмите на нужное приложение для открытия карточки
- Перейдите на вкладку Справочники
На вкладке Справочники доступны две подвкладки:
Реестр
Вкладка Реестр отображает список всех словарей, которые были загружены приложением в IDENTYX.
| Колонка | Описание |
|---|---|
| Тип справочника | Тип словаря: Объекты приложения, Действия приложения или Организации |
| Операции | Кнопка просмотра содержимого словаря |
Вы можете отфильтровать словари по типу, используя выпадающий список в верхней части таблицы. Доступны варианты: Все типы, Объекты приложения, Действия приложения, Организации.
Просмотр содержимого словаря
Для просмотра содержимого конкретного словаря:
- На вкладке Реестр нажмите кнопку с иконкой глаза напротив нужного словаря
- Откроется модальное окно с содержимым словаря
В окне просмотра содержимого отображается:
- Дерево элементов — иерархическая структура объектов, действий или организаций
- Количество элементов — общее количество записей в словаре
- Настройки применения — параметры для обработки словаря
В окне просмотра доступна кнопка Применить справочник. При нажатии система обработает словарь и создаст или обновит соответствующие объекты безопасности в IDENTYX.
Автоматическая загрузка словарей
Вместо ручного применения каждого словаря, вы можете настроить автоматическую обработку при получении обновлений от приложения.
Настройка автообработки
Для настройки автоматической обработки словарей:
- В карточке приложения перейдите на вкладку Справочники
- Откройте подвкладку Автоматическая загрузка справочников
- В таблице настроек отобразятся все доступные типы словарей
Для каждого типа словаря доступны следующие параметры:
| Параметр | Описание |
|---|---|
| Автоматически загружать | Установите флажок для включения автоматической обработки этого типа словаря |
| Удалять старые объекты | Если флажок установлен, объекты, которых нет в новом словаре, будут удалены из системы |
Опция Удалять старые объекты удалит из IDENTYX все объекты или действия, которых нет в новом словаре. Это может привести к потере настроенных прав доступа. Используйте эту опцию с осторожностью!
Когда происходит автоматическая обработка
Автоматическая обработка словарей выполняется в следующих случаях:
- При импорте приложения из JSON — если приложение содержит словари и настроена автообработка
- При обновлении словарей через API — когда приложение отправляет обновленные справочники
- При сохранении настроек приложения — если были изменены маппинги словарей
Перед применением словаря система проверяет возможность построения дерева объектов или действий. Если словарь содержит ошибки (например, циклические зависимости), операция будет отменена с сообщением об ошибке.
Ручное применение словаря
Если автоматическая обработка не включена, вы можете применить словарь вручную:
- Откройте реестр словарей на вкладке Справочники → Реестр
- Нажмите кнопку просмотра напротив нужного словаря
- В открывшемся окне настройте параметр Удалять объекты, если их нет в новом справочнике (опционально)
- Нажмите кнопку Применить справочник
После применения словаря:
- Будут созданы или обновлены соответствующие объекты безопасности в разделе Права доступа → Объекты
- Будут созданы или обновлены действия безопасности в разделе Права доступа → Действия
- При необходимости будут обновлены связанные учетные записи и правила доступа
При изменении путей объектов в словаре система автоматически обновляет пути в правилах доступа (ACL) и учетных записях приложений, чтобы не потерять настроенные права.
Импорт и экспорт словарей
Словари приложений автоматически включаются в экспорт и импорт приложений через JSON файлы.
Экспорт приложения со словарями
Для экспорта приложения вместе со словарями:
- Откройте карточку приложения
- Нажмите кнопку Экспорт внизу карточки
- Будет создан JSON файл с именем
app-{client_id}.json
Экспортируемый файл содержит:
- Все настройки приложения (client_id, client_secret, маршруты и т.д.)
- Маппинги словарей с настройками автообработки
- Параметры удаления старых объектов для каждого типа словаря
Импорт приложения со словарями
При импорте приложения из JSON:
- Система создаст или обновит приложение
- Восстановит настройки маппинга словарей
- Если включена автообработка и в 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:
- Система сохраняет содержимое словарей в базу данных
- Если для этого типа словаря включена автообработка, словарь будет автоматически применен
- Будут созданы или обновлены соответствующие объекты и действия в дереве прав доступа
Каждый элемент словаря должен содержать как минимум два поля:
id— уникальный идентификатор элемента (может быть путем, например/documents/reports)title— отображаемое название элемента
Практические сценарии использования
Сценарий 1: Синхронизация структуры меню
У вас есть приложение с иерархическим меню. Вы хотите, чтобы пользователи имели доступ только к определенным разделам меню в зависимости от их роли.
- Настройте в приложении отправку словаря objects со структурой меню
- В IDENTYX включите автоматическую обработку словаря объектов
- После отправки словаря в IDENTYX автоматически создастся дерево объектов, соответствующее структуре меню
- Создайте правила доступа (ACL), назначив пользователям или группам права на конкретные разделы меню
- Приложение при авторизации получит список прав через scope
permissionsи покажет только разрешенные разделы меню
Сценарий 2: Разграничение прав на действия
Вы хотите настроить детальное разграничение прав: одни пользователи могут только просматривать документы, другие — редактировать, третьи — удалять.
- Отправьте словарь actions с доступными действиями (read, write, delete)
- Отправьте словарь objects с разделами приложения (documents, reports)
- В IDENTYX создайте правила доступа в формате
объект:действие, например:/app-id/documents:read— разрешить чтение документов/app-id/documents:write— разрешить редактирование документов/app-id/documents:delete— разрешить удаление документов
- Приложение проверяет наличие соответствующих прав перед выполнением операций
Сценарий 3: Автообновление при изменениях
Структура вашего приложения меняется — добавляются новые разделы, удаляются старые. Вы хотите, чтобы изменения автоматически отражались в IAM.
- Включите автоматическую обработку словарей для приложения
- Установите флажок Удалять старые объекты (если хотите удалять неактуальные элементы)
- Настройте приложение на периодическую отправку обновленных словарей в IDENTYX
- При каждом обновлении структура прав доступа в IAM будет автоматически синхронизироваться с приложением
Перед включением опции Удалять старые объекты убедитесь, что ваше приложение всегда отправляет полный список объектов. Если приложение отправит неполный словарь (например, из-за ошибки), недостающие объекты будут удалены из IAM вместе со всеми настроенными правами доступа.
Связанные разделы
- Создание OIDC приложения — базовая настройка приложений
- Экспорт и импорт приложений — работа с JSON файлами
- Объекты и действия — основы системы прав доступа
- Правила доступа (ACL) — настройка прав на объекты и действия
Переходите к разделу IAM сессии для изучения управления сессиями пользователей.