Журналы аудита
Какие административные действия пишутся в журнал, как долго хранятся и как экспортировать.
Журналы аудита
AACsearch ведёт tamper-evident журнал административных действий. Журнал на уровне организации, доступен через дашборд и экспортируется в CSV/NDJSON для ваших SIEM.
Это ваша запись «кто, что, когда и откуда» — для расследования инцидентов, доказательств соответствия и регулярного ревью.
Что пишется
| Категория действий | Примеры |
|---|---|
| API-ключи | create_api_key, revoke_api_key, update_origin_allow_list |
| Индексы | create_index, update_index_settings, reindex_started, delete_index |
| Участники и роли | add_member, remove_member, update_member_role, accept_invitation |
| Организация | update_organization, update_data_residency_region |
| Биллинг | update_plan, update_payment_method |
| SCIM-провизионинг | См. SSO и SCIM — пишется в отдельную таблицу scim_audit_log. |
В строке хранится:
| Поле | Что это |
|---|---|
id | Стабильный идентификатор. |
organizationId | К какой org относится действие. |
userId | Кто сделал. Для машинных действий — service-аккаунт. |
action | Одна из строк выше. |
targetType | Например index, api_key, member. |
targetId | Затронутый ресурс. |
details | Специфичный payload (например, было/стало). |
ipAddress | IP вызывающего. |
userAgent | User-Agent. |
createdAt | UTC-таймстамп. |
Не пишутся поисковые запросы, payload документов и индивидуальные чтения — объёмы слишком велики для аудита. Эти данные живут в аналитике с более коротким сроком хранения.
Срок хранения
Строки журнала живут 365 дней для тарифов Business и выше и 90 дней для Starter. После — soft-delete (deletedAt) и фоновое физическое удаление в течение 30 дней.
Если по compliance-программе нужно дольше — регулярно экспортируйте в собственное хранилище (см. ниже).
Просмотр в дашборде
- Organization → Audit log.
- Фильтры: action, user, target type, диапазон дат.
- Клик по строке — полный
details.
В UI показываются последние 10 000 строк; более старые подгружаются по скроллу или через экспорт.
Экспорт
Экспорт реализован как oRPC-процедура. В дашборде Audit log → Export запускает фоновую задачу и шлёт письмо с подписанной ссылкой, когда готово.
Программно:
POST /api/orpc/auditLog.export
Content-Type: application/json
Authorization: Bearer ss_search_… (scope: admin)
{
"format": "ndjson", // или "csv"
"from": "2026-04-01T00:00:00Z",
"to": "2026-05-01T00:00:00Z",
"actions": ["create_api_key", "revoke_api_key"] // опционально
}В ответ — job id; опрашивайте auditLog.getExportStatus до готовности и получите pre-signed URL (живёт 15 минут).
Для непрерывной отправки в SIEM — запланируйте ночной экспорт в своё object storage. Push-доставка в Splunk/Datadog в enterprise roadmap — пишите sales, если нужно сейчас.
Целостность
С точки зрения приложения журнал append-only: oRPC-процедуры, которая обновила бы или удалила строку, нет. Soft-delete по deletedAt пишет только retention-job, а исходная строка лежит в холодных бэкапах в течение backup-окна региона.
Это не blockchain-grade tamper-evidence. Если нужна криптографическая цепочка — экспортируйте и стройте цепочку на своей стороне, либо обсудите enterprise add-on с sales.
Частые кейсы
- Утечка ключа. Фильтр
action = create_api_key OR revoke_api_key, потом сопоставляйте с аналитикой по последнему использованию. - Внезапный реиндекс. Фильтр
action = reindex_started, группировка поuserId. Реиндекс дорогой — он должен совпадать с релизом. - Офбординг участника. При удалении видны все его действия. Сохраните экспорт.
- Смена региона.
action = update_data_residency_regionдолжен появляться только при сознательном переезде. Если появился без причины — эскалируйте.
Частые ошибки
- Считать дашборд долгим хранилищем. После retention строки нет. Экспортируйте.
- Не экспортировать машинные действия. SCIM лежит в
scim_audit_log, а CI-действия — вaudit_log. Экспортируйте оба. - Считать «нет строки» = «не было». Строка пишется только при успехе. Неудачные попытки на уровне API могут не дойти до аудита — они в request-логах. Для расследования сопоставляйте аудит с request-логом из вашего observability. См. Observability.
См. также
- API-ключи — основной предмет фильтров аудита
- SSO и SCIM —
scim_audit_logпишет провизионинг - Observability — логи и метрики на уровне запроса