Перейти к содержанию

Интерфейс администратора

Обзор интерфейса

Admin UI — веб-приложение для управления всеми аспектами AppSec.AIGate. Это единственная точка взаимодействия администратора с системой: здесь вы настраиваете провайдеров и профили, создаёте контентные политики, мониторите события безопасности, генерируете отчёты и управляете пользователями.

Адрес: http://<server>:4200.

Аутентификация: для входа требуется учётная запись, см. Управление пользователями. Доступные разделы зависят от роли пользователя.

Структура интерфейса:

Раздел URL Назначение Доступ по ролям
Dashboard / Мониторинг: события безопасности, графики, аналитика в реальном времени admin, operator, viewer
Providers /providers Управление LLM-провайдерами: создание, настройка, мониторинг health admin, operator
Profiles /profiles Управление профилями безопасности: детекторы, пороги, режимы admin, operator
Content Policies /content-policies Кастомные правила: блоклисты, аллоулисты, языковые ограничения admin, operator
Exporters /exporters Экспорт событий в SIEM: syslog, CEF, webhook, Kafka, файл admin
Reports /reports Генерация отчётов: инцидентные, PII/DLP, использование LLM admin, operator, viewer
Users /users Управление пользователями и ролями (RBAC) admin
Retention Settings /settings/retention Сроки хранения данных, стратегии очистки admin

Навигация и общие элементы

Боковая панель (sidebar) — основной способ навигации. Расположена слева, содержит иконки и названия всех 8 разделов. Текущий раздел подсвечивается акцентным цветом. Панель можно свернуть для увеличения рабочей области.

Общие элементы интерфейса, которые встречаются в большинстве разделов:

Элемент Описание Где встречается
Таблица с пагинацией Список сущностей с сортировкой по колонкам и пагинацией (10 элементов на страницу по умолчанию). Клик по строке открывает детали. Providers, Profiles, Content Policies, Exporters, Dashboard (события)
Фильтры Панель фильтрации над таблицей. Фильтры сохраняются в URL (можно поделиться ссылкой). Кнопка «Reset» сбрасывает все фильтры. Dashboard, Providers, Profiles, Content Policies
Кнопка Create Основная кнопка создания новой сущности. Расположена в верхнем правом углу раздела. Providers, Profiles, Content Policies, Exporters
Статусные badge Цветные метки статуса: зелёный (ACTIVE/HEALTHY), серый (DRAFT), жёлтый (DEPRECATED), красный (ARCHIVED/UNHEALTHY). Providers, Profiles, Content Policies
Кнопка Activate/Deactivate Иконка Power или переключатель для смены статуса сущности. Providers, Profiles, Content Policies
Модальное окно деталей Всплывающее окно с подробной информацией. Открывается кликом по строке таблицы. Закрывается по Esc или клику вне окна. Dashboard (детали события), Providers (детали health check)
Toast-уведомления Кратковременные сообщения в правом верхнем углу: зелёные (успех), красные (ошибка), жёлтые (предупреждение). Все разделы

Dashboard

Dashboard (/) — главная страница Admin UI. Предоставляет полную картину безопасности LLM-трафика в реальном времени: сколько событий произошло, какие типы угроз доминируют, сколько запросов заблокировано. Это первая страница, которую видит оператор при входе в систему.

Dashboard состоит из четырёх вертикальных зон: карточки статистики → фильтры → виджеты (графики) → таблица событий.

Карточки статистики

В верхней части Dashboard расположены карточки с агрегированными метриками за выбранный период. Карточки обновляются при изменении фильтров.

Карточка Что показывает Как интерпретировать
Total Events Общее количество всех событий безопасности Базовый показатель объёма. Резкий рост может означать атаку или изменение паттерна трафика.
Blocked Events Количество запросов/ответов, заблокированных PDP Ключевая метрика эффективности. Если число высокое — проверьте, нет ли ложных срабатываний. Если ноль при наличии Total Events — возможно, включён Monitor Mode.
Critical Events Сумма событий с severity CRITICAL и HIGH Требуют внимания: jailbreak-атаки, массированные нарушения. Рекомендуется расследовать каждое critical-событие.
Content Safety Unsafe Количество ответов LLM, классифицированных как unsafe Показывает, как часто LLM генерирует опасный контент. Высокое число может указывать на необходимость тюнинга модели или системных промптов на стороне LLM.
Response Scanner Суммарные результаты проверки ответов: BLOCK + REDACT + MONITOR Показывает активность проверки исходящего трафика. Если ноль — проверьте, включён ли Response Scanning в профиле.
Output PII Количество секретов/PII, обнаруженных в ответах LLM Критическая метрика: LLM не должен раскрывать секреты. Ненулевое значение требует расследования — возможно, модель имеет доступ к конфиденциальным данным.

Фильтры

Панель фильтрации расположена под карточками. Фильтры применяются ко всем элементам Dashboard: карточкам, виджетам и таблице событий.

Фильтр Тип элемента Допустимые значения Пояснение
Период Кнопки + календарь 24h, 7d, 30d, пользовательский диапазон Временное окно для выборки. Пользовательский диапазон задаётся через календарь (date picker). По умолчанию: 24 часа.
Profile ID Выпадающий список UUID профиля Фильтрует события конкретного профиля. Полезно, если у вас несколько провайдеров и нужно смотреть трафик только одного.
Trace ID Текстовое поле UUID трассировки Поиск конкретного запроса по его trace_id. Используется для расследования инцидентов: вставьте trace_id из SIEM и увидите все детали.
Тип события Выпадающий список (множественный) THREAT_DETECTED, PII_DETECTED, POLICY_VIOLATION, REQUEST_BLOCKED и др. Показать только определённые типы. Можно выбрать несколько.
Критичность Выпадающий список (множественный) CRITICAL, HIGH, MEDIUM, LOW, INFO Фильтр по уровню серьёзности. Для SOC-аналитика полезно: CRITICAL + HIGH.
Действие Выпадающий список (множественный) BLOCK, SANITIZE, ALLOW, MONITOR_ONLY, REDACT Фильтр по решению PDP. MONITOR_ONLY — события из Monitor Mode.

Совет

Фильтры сохраняются в URL-параметрах. Это значит, что вы можете скопировать URL из адресной строки и отправить коллеге — он увидит те же фильтры и данные. Удобно для обсуждения инцидентов.

Виджеты

Дашборд содержит 5 виджетов визуализации, расположенных между фильтрами и таблицей событий. Все виджеты интерактивны — клик по элементу графика автоматически фильтрует таблицу событий ниже.

1. Threat Timeline (линейный график).

Многолинейный график, показывающий динамику событий безопасности во времени. Каждый тип события — отдельная линия со своим цветом. Ось X — временные интервалы (часы при периоде 24h, дни при 7d/30d). Ось Y — количество событий.

Как использовать: ищите аномальные пики. Резкий рост линии THREAT_DETECTED может означать целенаправленную атаку. Постоянный рост PII_DETECTED может указывать на новый бизнес-процесс, в котором пользователи работают с ПДн. Клик по линии — таблица ниже фильтруется по этому типу события.

2. Topic Violations (столбчатая диаграмма).

Топ-10 нарушений контентных политик, сгруппированных по категориям (названиям политик). Показывает, какие именно бизнес-правила нарушаются чаще всего.

Как использовать: если одна политика доминирует — возможно, правило слишком широкое (много false positive), или пользователи действительно часто нарушают это ограничение. Клик по столбцу — фильтрация таблицы по CUSTOM_POLICY_BLOCK.

3. Toxicity Detections (кольцевая диаграмма).

Распределение вердиктов Content Safety для ответов LLM: Safe (безопасно), Unsafe (опасно), Controversial (спорно). Показывает долю опасного контента в ответах модели.

Как использовать: в идеале сегмент Unsafe должен быть минимальным. Если он растёт — LLM генерирует больше опасного контента, что может требовать тюнинга системных промптов или смены модели.

4. Response Scanner (кольцевая диаграмма).

Распределение решений для исходящих ответов: PASS (пропущен), BLOCK (заблокирован), REDACT (секреты удалены), MONITOR (Monitor Mode).

Как использовать: сегмент BLOCK показывает, сколько ответов LLM не дошли до пользователей. Сегмент REDACT — сколько ответов прошли, но с удалёнными секретами. Клик по сегменту BLOCK — детали заблокированных ответов в таблице.

5. Output PII Events (составной виджет).

Левая часть: 3 карточки — Responses with PII (сколько ответов содержали PII), Entities masked (сколько отдельных PII-сущностей замаскировано), Total entities (общее число найденных сущностей). Правая часть: горизонтальная столбчатая диаграмма — топ-8 типов PII-сущностей в ответах (api_key, jwt_token, email, phone и т.д.).

Как использовать: если api_key или private_key в топе — LLM раскрывает инфраструктурные секреты, что критически опасно. Необходимо расследовать источник утечки (контекст модели, RAG-индекс, fine-tuning данные).

Таблица событий

Основная таблица занимает нижнюю часть Dashboard. Показывает список событий безопасности в хронологическом порядке (новые сверху).

Колонка Что показывает Интерактивность
Время Дата и время события в формате DD.MM.YYYY HH:MM:SS Сортировка по клику на заголовок
Profile ID ID профиля, который обработал запрос
Тип события Тип события в виде цветного badge: красный (BLOCKED, THREAT), оранжевый (PII, POLICY), синий (MONITOR)
Критичность Severity: CRITICAL (красный), HIGH (оранжевый), MEDIUM (жёлтый), LOW (серый), INFO (синий) Сортировка по клику
Действие Решение PDP: BLOCK, SANITIZE, ALLOW, MONITOR_ONLY, REDACT
Trace ID Уникальный идентификатор запроса для корреляции с SIEM и логами Клик — копирование в буфер обмена

Пагинация: 10 событий на страницу. Навигация по страницам — внизу таблицы.

Клик по строке — открывает модальное окно с полными деталями события (см. ниже).

Детали события (модальное окно)

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

Блок «Запрос»:

Поле Описание
Trace ID Полный UUID трассировки. Кнопка копирования рядом. Используйте для поиска в SIEM.
User Prompt Исходный текст промпта пользователя. Отображается для запросов, которые не были заблокированы. Для заблокированных запросов показывается только hash промпта (SHA-256) — сам текст не сохраняется в целях безопасности.
IP Address IP-адрес клиента (из заголовка X-Real-IP или X-Forwarded-For).
User-Agent HTTP заголовок User-Agent клиента. Помогает идентифицировать источник запроса (браузер, SDK, curl).
Время обработки Латентность обработки в миллисекундах. Показывает, сколько времени заняла детекция (не включает время ответа LLM).

Блок «Результаты детекции»:

Поле Описание
Threat Score Числовой score ML-модели (0.0–1.0) и бинарное решение: safe / unsafe. Показывает, насколько уверен детектор в наличии угрозы.
PII Entities Список обнаруженных PII с типами: EMAIL, PHONE, PASSPORT и т.д. Указывается количество каждого типа и применённое действие (masked/redacted/blocked).
Content Safety Результаты по каждой из 9 категорий: название категории, score, verdict (safe/unsafe). Отображаются только категории с ненулевым score.
Content Policy Список сработавших правил: имя политики, имя правила, тип паттерна (keyword/regex), severity.

Блок «Решение»:

Поле Описание
PDP Decision Финальное решение: ALLOW, BLOCK, SANITIZE, MONITOR, REDACT.
Severity Boost Совокупный severity boost от всех детекторов (числовое значение). Если > 0.5 — решение BLOCK.
Reason Текстовое описание причины решения.

Providers

Страница управления LLM-провайдерами. Здесь вы видите все настроенные подключения к LLM backend и их текущее состояние.

Таблица провайдеров содержит следующие колонки:

Колонка Описание
Название Имя провайдера. Клик открывает форму редактирования.
Тип Тип LLM API (openai, anthropic, azure и т.д.). Отображается с иконкой провайдера.
Target URL URL целевого backend. Показывает, куда проксируются запросы.
Метод роутинга Как определяются запросы: URL Pattern, Host или Header. Рядом — значение паттерна/заголовка.
Статус DRAFT (серый), ACTIVE (зелёный), ARCHIVED (красный).
Health HEALTHY (зелёный, с latency в мс), UNHEALTHY (красный), CHECKING (анимация). Обновляется автоматически.
Действия Кнопки: Activate/Deactivate, Edit, Archive, Check Health.

Фильтры: по типу провайдера, статусу, методу роутинга.

Кнопка «Create Provider» — открывает форму создания. Подробное описание полей формы — см. Управление провайдерами.

Кнопка «Check Health» (иконка пульса) — запускает немедленную проверку доступности backend. Полезно после изменения Target URL или при расследовании проблем. Gateway отправляет HTTP-запрос к backend и измеряет время ответа. Результат отображается в колонке Health через несколько секунд.

Совет

Если провайдер показывает UNHEALTHY — проверьте Target URL, сетевую связность и firewall-правила. Наведите на иконку Health — tooltip покажет последнюю ошибку.

Profiles

Страница управления профилями безопасности. Каждая строка — один профиль с его привязкой к провайдеру и текущим состоянием детекторов.

Таблица профилей:

Колонка Описание
Название Имя профиля. Клик открывает форму редактирования.
Provider Привязанный провайдер (имя + тип).
Детекторы Набор иконок-индикаторов для каждого детектора: Threat (щит), PII (замок), Content Safety (глаз), Response Scanning (стрелки), Output PII (ключ). Зелёный — включён, серый — выключен.
Monitor Mode Badge: ON (жёлтый) / OFF. Если ON — профиль работает в режиме наблюдения.
Fail-Safe closed или open.
Статус DRAFT, ACTIVE, DEPRECATED, ARCHIVED.
Действия Activate/Deactivate, Edit, Deprecate, Archive.

Фильтры: по статусу, по провайдеру, по состоянию Monitor Mode.

Форма создания/редактирования профиля — многошаговая: основные параметры → Threat Detection → PII Detection → Content Safety → Response Scanning → Output PII → Homoglyph → Fail-Safe / Monitor → Event Logging. Каждый детектор настраивается на отдельной вкладке.

Подробное описание каждого параметра — см. Управление профилями.

Content Policies

Страница управления кастомными контентными политиками. Здесь вы создаёте бизнес-правила: что запрещено, что разрешено, какие языки допустимы.

Таблица политик:

Колонка Описание
Название Имя политики. Клик открывает форму редактирования.
Тип blocklist (красный badge), allowlist (зелёный), language (синий).
Правила Количество правил в политике (например, «12 rules»).
Scope input / output / both. Направление проверки.
Priority Числовой приоритет. Меньше = раньше оценивается.
Привязки Количество профилей, к которым привязана политика (например, «3 profiles»).
Статус DRAFT, ACTIVE, ARCHIVED.

Визуальный редактор правил — при создании/редактировании политики вы работаете с интерактивным списком правил. Для каждого правила: - Выбор типа паттерна: keyword или regex - Ввод паттерна с подсветкой синтаксиса (для regex) - Выбор действия: block, flag, trust_pii - Выбор severity: low, medium, high, critical - Кнопка «Test» — проверка паттерна на произвольном тексте прямо в форме

Привязка к профилям — в форме редактирования политики есть вкладка «Profiles», где можно привязать или отвязать профили через checkbox-список.

Подробное описание типов политик и паттернов — см. Управление контентными политиками.

Exporters

Страница управления экспортерами событий в SIEM и другие внешние системы.

Таблица экспортеров:

Колонка Описание
Название Имя экспортера. Клик открывает форму редактирования.
Тип syslog, cef, webhook, kafka, file. С иконкой типа.
Destination Адрес назначения: host:port (для syslog/kafka), URL (для webhook), путь (для file).
Фильтры Краткое описание активных фильтров: severity >= HIGH, types: THREAT_DETECTED и т.д.
Статус enabled (зелёный) / disabled (серый).
Last Export Время последнего успешного экспорта. Если давно — возможны проблемы с подключением.
Действия Enable/Disable, Edit, Delete, Test.

Кнопка «Test» — отправляет тестовое событие в указанную систему. Позволяет проверить связность и правильность конфигурации без ожидания реального события. Результат (успех/ошибка) отображается в toast-уведомлении.

Форма создания — динамическая: набор полей зависит от выбранного типа экспортера. Например, для syslog — host, port, protocol, facility; для webhook — URL, headers, HMAC secret; для Kafka — brokers, topic, key.

Подробное описание параметров каждого типа — см. События безопасности.

Reports

Страница генерации и скачивания отчётов.

Интерфейс состоит из двух частей:

Форма генерации (верхняя часть): | Поле | Описание | |------|----------| | Тип отчёта | Выпадающий список: Incident Report, PII/DLP Report, LLM Usage Report. | | Формат | PDF (с поддержкой кириллицы) или CSV (UTF-8 с BOM для корректного открытия в Excel). | | Период | Диапазон дат через date picker. | | Tenant | Tenant для отчёта (для admin — доступен выбор из списка, для operator — автоматически текущий). | | Кнопка «Generate» | Запускает генерацию. Кнопка становится неактивной во время генерации. |

Список отчётов (нижняя часть) — таблица ранее сгенерированных отчётов с колонками: название, тип, период, дата генерации, размер, статус (generating / ready / error), кнопка скачивания.

Во время генерации интерфейс автоматически опрашивает статус (auto-polling) и показывает прогресс. Когда отчёт готов, появляется кнопка Download.

Подробное описание типов отчётов — см. Отчёты.

Users

Страница управления пользователями и ролями. Доступна только пользователям с ролью admin.

Таблица пользователей:

Колонка Описание
Имя Имя / email пользователя.
Роль admin (красный badge), operator (синий), viewer (серый).
Tenant Привязанный tenant (для operator и viewer). Admin видит все tenant.
Статус active (зелёный) / disabled (серый).
Последний вход Дата и время последней аутентификации.
Действия Edit, Disable/Enable.

Роли и их права:

Действие admin operator viewer
Просмотр Dashboard да да да
Создание/редактирование провайдеров да да нет
Создание/редактирование профилей да да нет
Создание/редактирование политик да да нет
Активация/деактивация сущностей да да нет
Управление экспортерами да нет нет
Управление пользователями да нет нет
Настройки хранения да нет нет
Просмотр отчётов да да да
Генерация отчётов да да нет
Просмотр аудит-лога да да да

Интеграция с Keycloak: при включённом OAUTH2_PROXY управление пользователями выполняется через Keycloak. В этом режиме страница Users отображает информацию о пользователях, синхронизированных из Keycloak, но создание и удаление выполняется на стороне Keycloak.

Подробнее о RBAC — см. Управление пользователями.

Retention Settings

Страница настройки сроков хранения данных. Доступна только пользователям с ролью admin. Здесь определяется, как долго система хранит события, аудит-логи и отчёты, и какая стратегия очистки применяется.

Интерфейс состоит из трёх блоков:

Storage Stats (информационный блок):

Метрика Описание
Events Объём хранимых событий безопасности (в ГБ) и количество записей.
Audit Log Объём журнала аудита.
Reports Объём сгенерированных отчётов.
Total Суммарный объём с прогресс-баром относительно порога предупреждения.

Retention Periods (настраиваемые поля):

Параметр Описание По умолчанию
Security Events Срок хранения событий безопасности 90 дней
Event Details (PII) Срок хранения деталей с PII-данными (промпты, найденные PII). По истечении — данные удаляются или очищаются (зависит от стратегии). 30 дней
Audit Log Срок хранения записей журнала аудита 365 дней
Reports Срок хранения сгенерированных отчётов 180 дней
Cleanup Strategy Стратегия очистки по истечении срока: pii_scrub (удаление только PII-полей, метаданные остаются) или hard_delete (полное удаление записи). pii_scrub

Advanced Settings (расширенные параметры):

Параметр Описание По умолчанию
Warning Threshold Порог предупреждения об объёме хранилища (ГБ). При превышении — уведомление администратору. 10 ГБ
Cleanup Batch Size Количество записей, обрабатываемых за одну итерацию очистки. Влияет на нагрузку на БД при очистке. 1000

Важно для 152-ФЗ

Если ваша организация обязана соблюдать 152-ФЗ, установите Event Details (PII) на минимально необходимый срок и используйте стратегию pii_scrub. Это позволяет сохранить метаданные событий для аналитики, но удалить персональные данные по истечении срока. Подробнее — см. Настройки хранения данных.