Журналы аудита (панель)
Как найти, фильтровать и экспортировать аудит-лог из панели — с примерами разбора инцидентов.
Эта страница описывает аудит-лог с точки зрения оператора в панели: как найти экран, как фильтровать, как экспортировать, и примеры ситуаций, в которых лог нужен. Модель данных, правила retention, compliance-постура и SIEM-ingest — каноничная страница Безопасность → Журналы аудита.
Две поверхности
| Поверхность | Что показывает |
|---|---|
/[orgSlug]/settings/audit | Аудит этой организации. Видят org-admins и viewer-ы. |
/admin/audit (только платформ-админ) | Кросс-тенант фид для поддержки и incident response. |
Org-вид по /[orgSlug]/settings/audit — основной для большинства операторов. Платформенный — для сотрудников AACsearch и операторов self-hosted.
Что записывается
Полный список — AUDIT_LOG_ACTIONS в packages/api/modules/audit-log/types.ts. 30+ записей делятся на группы:
| Группа | Примеры действий |
|---|---|
| Индексы | create_index, delete_index, clone_index, truncate_index, update_schema, run_reindex |
| API-ключи | create_api_key, revoke_api_key, create_scoped_token |
| Участники | add_member, remove_member, change_member_role |
| Релевантность | update_synonyms, update_curations, update_rules |
| Коннекторы | create_connector, delete_connector, sync_connector |
| Webhooks / Widgets | create_webhook, delete_webhook, update_widget, delete_widget |
| Экспорт / удаление | export_documents, delete_documents, delete_documents_by_filter |
| Биллинг / план | change_plan |
Поисковые запросы, payload-ы документов и индивидуальные чтения — не аудит-события (объём слишком большой). См. Аналитика для query-level истории.
Фильтрация
В тулбаре поверх страницы:
- Action — действие из списка.
- User — конкретный актор (email или user ID).
- Target type —
index,api_key,member,webhook,widget,connector. - Date range —
dateFrom/dateTo(ISO-8601). По умолчанию — последние 7 дней.
Фильтры комбинируются по AND. Клик по chip убирает из активного набора.
Список пагинируется по 50 строк; URL сохраняет фильтры — можно поделиться ссылкой на конкретный вид.
Чтение строки
Каждая строка показывает:
- When — UTC-время (hover — локальная конверсия).
- Who — имя актора, email, аватар.
- Action — цветной бейдж с action-строкой.
- Target — кликабельный; открывает изменённый ресурс, если он ещё существует.
- Source — последние 2 октета source IP и обрезанный User-Agent.
Клик по строке раскрывает полный payload details — метаданные действия. Например, change_member_role несёт { oldRole, newRole }; update_schema несёт JSON-Patch diff.
Экспорт
Два формата, оба через drawer экспорта:
- CSV — comma-separated, заголовки в первой строке. Удобно для таблиц и ad-hoc разбора.
- NDJSON — по одному JSON-объекту на строку. Удобно для SIEM-ingest.
Export открывает drawer. Вы:
- Используете текущий фильтр или переопределяете per-export.
- Выбираете диапазон дат (по умолчанию — текущий фильтр).
- Выбираете формат.
- Сабмитите. Экспорт идёт в фоне.
Готовый файл (обычно секунды; для очень больших диапазонов — минуты) — нотификация с pre-signed URL на 15 минут.
Экспорт также доступен как oRPC-процедура для программного / расписанного использования — см. Безопасность → Журналы аудита → Экспорт.
Retention по планам
Retention зависит от плана:
| План | Retention аудита |
|---|---|
| Free | 7 дней |
| Starter | 90 дней |
| Pro | 180 дней |
| Business | 365 дней |
| Enterprise | По дог. (1–7 лет) |
Строки старше retention soft-удаляются (deletedAt) и очищаются фоновой задачей в течение 30 дней. Если нужно дольше, чем даёт план — настройте ночной экспорт в своё хранилище.
Полные правила retention: Безопасность → Журналы аудита → Retention.
Примеры использования
«Кто создал этот API-ключ?»
/[orgSlug]/settings/audit.- Фильтр: Action =
create_api_key, Target type =api_key. - Найдите строку с именем или префиксом ключа.
- Колонка Who показывает актора.
Если ключ отозван, target некликабельный, но details сохранит имя и префикс.
«Инцидент в 03:14 UTC — что изменилось за час до?»
/[orgSlug]/settings/audit.- dateFrom =
2025-10-15T02:14:00Z, dateTo =2025-10-15T03:14:00Z. - Экспорт NDJSON для архива инцидента.
- Ищите:
update_schema,delete_index,truncate_index,change_plan,update_curations,revoke_api_key.
Сопоставьте с Аналитика → Ошибки за то же окно, чтобы скоррелировать действия операторов и пользовательские сбои.
«Подрядчик ушёл две недели назад — что он создал и осталось ли это живым?»
- Фильтр: User = email подрядчика, dateFrom = дата начала.
- Ищите
create_api_key,create_connector,create_webhook. - По каждой строке кликните target и проверьте — ротирован ли, отозван ли, удалён ли.
- Экспортируйте отфильтрованный вид как evidence для access-review.
Шире о ротации доступа: Участники → Удаление участника.
«Когда и кем сменили план?»
- Фильтр: Action =
change_plan. detailsнесёт старый план, новый и provider transaction ID.
То же событие фиксируется и у провайдера — кросс-чек, если нужен независимый свидетель.
«Сбор evidence для SOC 2»
Настройте ежемесячные NDJSON-экспорты в evidence vault. Полная SIEM-grade постура — в Безопасность → Журналы аудита → Integrity.
Enterprise
Enterprise-планы могут включить streaming audit delivery (Splunk HEC, Datadog Logs, generic webhook). События приходят на ваш endpoint за секунды, в дополнение к ищемому in-product логу. Свяжитесь с account-менеджером.
Связанные страницы
- Безопасность → Журналы аудита — модель данных, retention, compliance, integrity.
- Участники и роли — действия
add_member,remove_member,change_member_role. - API-ключи —
create_api_key,revoke_api_key,create_scoped_token. - Аналитика — query-level история, отдельно от аудита.
- Планы и лимиты — детали события
change_plan.