AACsearch
Безопасность и соответствие

Журналы аудита

Какие административные действия пишутся в журнал, как долго хранятся и как экспортировать.

Журналы аудита

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 (например, было/стало).
ipAddressIP вызывающего.
userAgentUser-Agent.
createdAtUTC-таймстамп.

Не пишутся поисковые запросы, payload документов и индивидуальные чтения — объёмы слишком велики для аудита. Эти данные живут в аналитике с более коротким сроком хранения.

Срок хранения

Строки журнала живут 365 дней для тарифов Business и выше и 90 дней для Starter. После — soft-delete (deletedAt) и фоновое физическое удаление в течение 30 дней.

Если по compliance-программе нужно дольше — регулярно экспортируйте в собственное хранилище (см. ниже).

Просмотр в дашборде

  1. Organization → Audit log.
  2. Фильтры: action, user, target type, диапазон дат.
  3. Клик по строке — полный 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 и SCIMscim_audit_log пишет провизионинг
  • Observability — логи и метрики на уровне запроса

On this page