Паспорт аудита Vault
Установите кластер, namespace, релиз и включённые audit devices в интересующий период. Аудит API отличается от operational/server log. При новом кластере аудит не подразумевается включённым; фактическое состояние нужно подтвердить по имеющейся конфигурации. Работайте с полученной копией, не запрашивайте секрет ради воспроизведения события.
Читающий отбор
Каждая строка audit — отдельный JSON-объект. jq читает локальную JSONL-копию и выбирает request.id. При необходимости исследуйте все имеющиеся устройства, сохраняя происхождение каждой строки и исключая необоснованную дедупликацию. Команда не обращается к API и не меняет политику. Имя файла и идентификатор в примере учебные; период и namespace должны быть проверены отдельно.
Пара запроса и ответа
Пример содержит request и response с одним request.id, operation=read и API-путём secret/data/demo. API-путь не является путём файла операционной системы. Auth и payload в примере опущены, поэтому он не устанавливает автора или выданное содержимое. В полной схеме error относится к ошибке; отсутствие этого поля в искусственно сокращённой иллюстрации не является проверенным успешным чтением.
Поля и ограничения
Проверьте type, time, request.operation, path, auth и error в исходных строках. Часть строковых значений может быть HMAC; не называйте такой текст открытым секретом или истинным именем пользователя. Не объединяйте HMAC разных audit devices без проверки способа вычисления. Операция и её ответ не доказывают последующее применение полученных данных клиентом. Техническая entity или токен не устанавливает человека без дополнительных связей.
Следующий шаг
Сопоставьте пару с ожидаемым запросом приложения, его журналом и доступной identity-информацией. Проверьте, совпали ли namespace, mount и период, прежде чем связывать одинаковый короткий путь. Сохраните исходные строки отдельно от интерпретации и отметьте отсутствующие части. Итог различает полученный запрос, зафиксированный ответ, известный контекст клиента и неподтверждённое использование секрета. Не дополняйте неизвестную auth ролью владельца приложения.
Если нет записи или пары
Проверьте наличие аудита в тот момент, правильное устройство, namespace, период, ротацию и передачу в сборщик. Учитывайте исключения покрытия API, а не требуйте событие для любой операции сервера. Если отсутствует ответ, исследуйте остальные копии и состояние доставки; не объявляйте результат успешным или отказанным по одному request. Включение устройства аудита сейчас не создаёт прошлую историю.