Лог-файл аудита
Вывод аудита logfile — это единственный вывод для аудита. Он записывает данные в файл <clustername>_audit.json в каталоге журналов.
Если вы перезаписываете log4j2.properties и не указываете аппендеры для каких-либо аудиторских следов, события аудита перенаправляются в корневой аппендер, который по умолчанию указывает на файл elasticsearch.log.
Формат записи лога
События аудита форматируются как JSON-документы, и каждое событие печатается в отдельной строке в файле <clustername>_audit.json. Сами записи не содержат разделителей конца строки. Формат JSON событий аудита несколько специфичен, так как большинство полей используют синтаксис с точкой, упорядочены и содержат непустые строковые значения. Этот формат создаёт структурированный столбчатый аспект, подобный CSV, что упрощает визуальный осмотр (по сравнению с эквивалентным вложенным JSON-документом).
Однако есть несколько атрибутов, которые являются исключениями из вышеупомянутого формата. Атрибуты put, delete, change, create и invalidate, которые присутствуют только для событий с атрибутом event.type: "security_config_change", содержат вложенное JSON-представление изменения в безопасности, которое вступило в силу. Таким образом, содержимое изменения конфигурации безопасности не отображается как поля с именами через точку на верхнем уровне в документе события аудита. Это потому, что поля специфичны для определенного типа изменений безопасности и не отображаются ни в каких других событиях аудита. Следовательно, преимущества столбчатого формата ограничены; в данном случае предпочтение отдаётся преимуществам экономии места вложенной структуры.
Когда присутствует атрибут request.body (см. Аудит поисковых запросов), он содержит строковое значение, содержащее полное тело HTTP-запроса, закодированное в соответствии с JSON RFC 4677.
Есть список типов событий аудита, определяющий набор полей, а также примеры для каждого типа записи.
Настройки вывода лог-файла
События и другая информация о том, что регистрируется, могут быть управляемы с помощью настроек в файле elasticsearch.yml. См. Настройки событий аудита и Настройки информации о локальном узле.
Конфиденциальные данные могут быть записаны в лог в открытом виде при включении тела запроса в события аудита, даже если все API безопасности, такие как те, которые изменяют пароль пользователя, имеют зашифрованные учетные данные при аудировании.
Вы также можете настроить, как записывается лог-файл, в файле log4j2.properties, расположенном в ES_PATH_CONF (или ознакомьтесь с соответствующей частью log4j2.properties в исходниках). По умолчанию информация об аудите добавляется в файл <clustername>_audit.json, расположенный в стандартном каталоге Elasticsearch logs (обычно расположенном в $ES_HOME/logs). Файл также вращается и архивируется ежедневно или при достижении лимита размера файла в 1 ГБ.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/audit-log-output.html