События аудита
Когда вы проводите аудит событий безопасности, один запрос клиента может генерировать несколько событий аудита на нескольких узлах кластера. Атрибут request.id может использоваться для корреляции связанных событий.
Используйте параметр xpack.security.audit.logfile.events.include в elasticsearch.yml, чтобы указать тип событий, которые вы хотите включить в выходные данные аудита.
Некоторые события аудита требуют типа события security_config_change для аудита связанного действия события. В описании затронутых событий аудита указано, требуется ли этот тип события.
-
access_denied -
Регистрируется, когда аутентифицированный пользователь пытается выполнить действие, для которого у него нет необходимых прав.
Пример
{"type":"audit", "timestamp":"2020-12-30T22:30:06,949+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action": "access_denied", "authentication.type":"REALM", "user.name":"user1", "user.realm":"default_native", "user.roles":["test_role"], "origin.type": "rest", "origin.address":"[::1]:52434", "request.id":"yKOgWn2CRQCKYgZRz3phJw", "action":"indices:admin/auto_create", "request.name":"CreateIndexRequest", "indices":["<index-{now/d+1d}>"]}
-
access_granted -
Регистрируется, когда аутентифицированный пользователь пытается выполнить действие, на которое у него есть необходимые права. Эти события будут регистрироваться только для пользователей, не являющихся системными.
Если вы хотите включить события
access_grantedдля всех пользователей (включая внутренних пользователей, таких как_xpack), добавьтеsystem_access_grantedв список типов событий в дополнение кaccess_granted. Привилегияsystem_access_grantedне включена по умолчанию, чтобы избежать загромождения журналов.Пример
{"type":"audit", "timestamp":"2020-12-30T22:30:06,947+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action": "access_granted", "authentication.type":"REALM", "user.name":"user1", "user realm":"default_native", "user.roles":["test_role"], "origin.type":"rest", "origin.address":"[::1]:52434", "request.id":"yKOgWn2CRQCKYgZRz3phJw", "action":"indices:data/write/bulk", "request.name":"BulkRequest"}
-
anonymous_access_denied -
Регистрируется, когда запрос отклоняется из-за отсутствия учетных данных для аутентификации.
Пример
{"type":"audit", "timestamp":"2020-12-30T21:56:43,608+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action": "anonymous_access_denied", "origin.type":"rest", "origin.address": "[::1]:50543", "url.path":"/twitter/_async_search", "url.query":"pretty", "request.method":"POST", "request.id":"TqA9OisyQ8WTl1ivJUV1AA"}
-
authentication_failed -
Регистрируется, когда учетные данные для аутентификации не соответствуют известному пользователю.
Пример
{"type":"audit", "timestamp":"2020-12-30T22:10:15,510+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action": "authentication_failed", "user.name":"elastic", "origin.type":"rest", "origin.address":"[::1]:51504", "url.path":"/_security/user/user1", "url.query":"pretty", "request.method":"POST", "request.id":"POv8p_qeTl2tb5xoFl0HIg"}
-
authentication_success -
Регистрируется, когда пользователь успешно проходит аутентификацию.
Пример
{"type":"audit", "timestamp":"2020-12-30T22:03:35,018+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action": "authentication_success", "authentication.type":"REALM", "user.name": "elastic", "user.realm":"reserved", "origin.type":"rest", "origin.address": "[::1]:51014", "realm":"reserved", "url.path":"/twitter/_search", "url.query":"pretty", "request.method":"POST", "request.id":"nHV3UMOoSiu-TaSPWCfxGg"}
-
change_disable_user -
Регистрируется, когда вызывается API включения пользователя для отключения собственного или встроенного пользователя.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-30T23:17:28,308+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event. action":"change_disable_user", "request.id":"qvLIgw_eTvyK3cgV-GaLVg", "change":{"disable":{"user":{"name":"user1"}}}}
-
change_enable_user -
Регистрируется, когда вызывается API включения пользователя для включения собственного или встроенного пользователя.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-30T23:17:34,843+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event. action":"change_enable_user", "request.id":"BO3QU3qeTb-Ei0G0rUOalQ", "change":{"enable":{"user":{"name":"user1"}}}}
-
change_password -
Регистрируется, когда вызывается API изменения пароля для изменения пароля собственного или встроенного пользователя.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2019-12-30T22:19:41,345+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event. action":"change_password", "request.id":"bz5a1Cc3RrebDMitMGGNCw", "change":{"password":{"user":{"name":"user1"}}}}
-
create_service_token -
Регистрируется, когда вызывается API создания токена учетной записи службы для создания нового токена на основе индекса для учетной записи службы.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2021-04-30T23:17:42,952+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event. action":"create_service_token", "request.id":"az9a1Db5QrebDMacQ8yGKc", "create":{"service_token":{"namespace":"elastic","service":"fleet-server","name":"token1"}}}`
-
connection_denied -
Регистрируется, когда входящее TCP-соединение не проходит IP-фильтр для определенного профиля.
Пример
{"type":"audit", "timestamp":"2020-12-30T21:47:31,526+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"ip_filter", "event.action": "connection_denied", "origin.type":"rest", "origin.address":"10.10.0.20:52314", "transport.profile":".http", "rule":"deny 10.10.0.0/16"}
-
connection_granted -
Регистрируется, когда входящее TCP-соединение проходит IP-фильтр для определенного профиля.
Пример
{"type":"audit", "timestamp":"2020-12-30T21:47:31,526+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"ip_filter", "event.action": "connection_granted", "origin.type":"rest", "origin.address":"[::1]:52314", "transport.profile":".http", "rule":"allow ::1,127.0.0.1"}
-
create_apikey -
Регистрируется, когда вызываются API создания API-ключа или предоставления API-ключа для создания нового API-ключа.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-31T00:33:52,521+0200", "node.id": "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event.action": "create_apikey", "request.id":"9FteCmovTzWHVI-9Gpa_vQ", "create":{"apikey": {"name":"test-api-key-1","expiration":"10d","role_descriptors":[{"cluster": ["monitor","manage_ilm"],"indices":[{"names":["index-a*"],"privileges": ["read","maintenance"]},{"names":["in*","alias*"],"privileges":["read"], "field_security":{"grant":["field1*","@timestamp"],"except":["field11"]}}], "applications":[],"run_as":[]},{"cluster":["all"],"indices":[{"names": ["index-b*"],"privileges":["all"]}],"applications":[],"run_as":[]}], "metadata":{"application":"my-application","environment":{"level": 1, "tags":["dev","staging"]}}}}}
-
change_apikey -
Регистрируется, когда вызывается API обновления API-ключа для обновления атрибутов существующего API-ключа.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-31T00:33:52,521+0200", "node.id": "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event.action": "change_apikey", "request.id":"9FteCmovTzWHVI-9Gpa_vQ", "change":{"apikey": {"id":"zcwN3YEBBmnjw-K-hW5_","role_descriptors":[{"cluster": ["monitor","manage_ilm"],"indices":[{"names":["index-a*"],"privileges": ["read","maintenance"]},{"names":["in*","alias*"],"privileges":["read"], "field_security":{"grant":["field1*","@timestamp"],"except":["field11"]}}], "applications":[],"run_as":[]},{"cluster":["all"],"indices":[{"names": ["index-b*"],"privileges":["all"]}],"applications":[],"run_as":[]}], "metadata":{"application":"my-application","environment":{"level": 1, "tags":["dev","staging"]}},"expiration":"10d"}}}
-
change_apikeys -
Регистрируется, когда вызывается API массового обновления API-ключей для обновления атрибутов нескольких существующих API-ключей.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit","timestamp":"2020-12-31T00:33:52,521+0200","node.id": "9clhpgjJRR-iKzOw20xBNQ","event.type":"security_config_change", "event.action":"change_apikeys","request.id":"9FteCmovTzWHVI-9Gpa_vQ", "change":{"apikeys": {"ids":["zcwN3YEBBmnjw-K-hW5_","j7c0WYIBqecB5CbVR6Oq"],"role_descriptors": [{"cluster":["monitor","manage_ilm"],"indices":[{"names":["index-a*"],"privileges": ["read","maintenance"]},{"names":["in*","alias*"],"privileges":["read"], "field_security":{"grant":["field1*","@timestamp"],"except":["field11"]}}], "applications":[],"run_as":[]},{"cluster":["all"],"indices":[{"names": ["index-b*"],"privileges":["all"]}],"applications":[],"run_as":[]}], "metadata":{"application":"my-application","environment":{"level":1, "tags":["dev","staging"]}},"expiration":"10d"}}}
-
delete_privileges -
Регистрируется, когда вызывается API удаления прав приложений для удаления одного или нескольких прав приложений.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-31T00:39:30,246+0200", "node.id": "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event. action":"delete_privileges", "request.id":"7wRWVxxqTzCKEspeSP7J8g", "delete":{"privileges":{"application":"myapp","privileges":["read"]}}}
-
delete_role -
Регистрируется, когда вызывается API удаления роли для удаления роли.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-31T00:08:11,678+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.action": "delete_role", "request.id":"155IKq3zQdWq-12dgKZRnw", "delete":{"role":{"name":"my_admin_role"}}}
-
delete_role_mapping -
Регистрируется, когда вызывается API удаления сопоставления ролей для удаления сопоставления ролей.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-31T00:12:09,349+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event. action":"delete_role_mapping", "request.id":"Stim-DuoSTCWom0S_xhf8g", "delete":{"role_mapping":{"name":"mapping1"}}}
-
delete_service_token -
Регистрируется, когда вызывается API удаления токена учетной записи службы для удаления токена на основе индекса для учетной записи службы.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2021-04-30T23:17:42,952+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event. action":"delete_service_token", "request.id":"az9a1Db5QrebDMacQ8yGKc", "delete":{"service_token":{"namespace":"elastic","service":"fleet-server","name":"token1"}}}
-
delete_user -
Регистрируется, когда вызывается API удаления пользователя для удаления определенного собственного пользователя.
Вы должны включить тип события
security_config_changeдля аудита связанного действия события.Пример
{"type":"audit", "timestamp":"2020-12-30T22:19:41,345+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.action":"delete_user", "request.id":"au5a1Cc3RrebDMitMGGNCw", "delete":{"user":{"name":"jacknich"}}}
-
invalidate_apikeys -
Записывается при вызове API отмены API ключа для отмены одного или нескольких API ключей.
Вы должны включить тип события
security_config_change, чтобы просмотреть связанное действие.Пример
{"type":"audit", "timestamp":"2020-12-31T00:36:30,247+0200", "node.id": "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event. action":"invalidate_apikeys", "request.id":"7lyIQU9QTFqSrTxD0CqnTQ", "invalidate":{"apikeys":{"owned_by_authenticated_user":false, "user":{"name":"myuser","realm":"native1"}}}}
-
put_privileges -
Записывается при вызове API создания или обновления привилегий для добавления или обновления одного или нескольких привилегий приложения.
Вы должны включить тип события
security_config_change, чтобы просмотреть связанное действие.Пример
{"type":"audit", "timestamp":"2020-12-31T00:39:07,779+0200", "node.id": "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event.action":"put_privileges", "request.id":"1X2VVtNgRYO7FmE0nR_BGA", "put":{"privileges":[{"application":"myapp","name":"read","actions": ["data:read/*","action:login"],"metadata":{"description":"Read access to myapp"}}]}}
-
put_role -
Записывается при вызове API создания или обновления ролей для создания или обновления роли.
Вы должны включить тип события
security_config_change, чтобы просмотреть связанное действие.Пример
{"type":"audit", "timestamp":"2020-12-30T22:27:01,978+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.action":"put_role", "request.id":"tDYQhv5CRMWM4Sc5Zkk2cQ", "put":{"role":{"name":"test_role","role_descriptor":{"cluster":["all"], "indices":[{"names":["apm*"],"privileges":["all"],"field_security": {"grant":["granted"]},"query":"{\"term\": {\"service.name\": \"bar\"}}"}, {"names":["apm-all*"],"privileges":["all"],"query":"{\"term\": {\"service.name\": \"bar2\"}}"}],"applications":[],"run_as":[]}}}}
-
put_role_mapping -
Записывается при вызове API создания или обновления сопоставлений ролей для создания или обновления сопоставления ролей.
Вы должны включить тип события
security_config_change, чтобы просмотреть связанное действие.Пример
{"type":"audit", "timestamp":"2020-12-31T00:11:13,932+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event. action":"put_role_mapping", "request.id":"kg4h1l_kTDegnLC-0A-XxA", "put":{"role_mapping":{"name":"mapping1","roles":["user"],"rules": {"field":{"username":"*"}},"enabled":true,"metadata":{"version":1}}}}
-
put_user -
Записывается при вызове API создания или обновления пользователей для создания или обновления пользователя. Обратите внимание, что обновления пользователя могут также изменить пароль пользователя.
Вы должны включить тип события
security_config_change, чтобы просмотреть связанное действие.Пример
{"type":"audit", "timestamp":"2020-12-30T22:10:09,749+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.action":"put_user", "request.id":"VIiSvhp4Riim_tpkQCVSQA", "put":{"user":{"name":"user1","enabled":false,"roles":["admin","other_role1"], "full_name":"Jack Sparrow","email":"jack@blackpearl.com", "has_password":true,"metadata":{"cunning":10}}}}
-
realm_authentication_failed -
Записывается для каждого домена, который не предоставляет действительный токен аутентификации.
Пример
{"type":"audit", "timestamp":"2020-12-30T22:10:15,510+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action": "realm_authentication_failed", "user.name":"elastic", "origin.type":"rest", "origin.address":"[::1]:51504", "realm":"myTestRealm1", "url.path": "/_security/user/user1", "url.query":"pretty", "request.method":"POST", "request.id":"POv8p_qeTl2tb5xoFl0HIg"}
-
run_as_denied -
Записывается, когда аутентифицированный пользователь пытается выполнить запрос от имени другого пользователя, у которого нет необходимых привилегий для этого.
Пример
{"type":"audit", "timestamp":"2020-12-30T22:49:34,859+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action": "run_as_denied", "user.name":"user1", "user.run_as.name":"user1", "user.realm":"default_native", "user.run_as.realm":"default_native", "user.roles":["test_role"], "origin.type":"rest", "origin.address": "[::1]:52662", "request.id":"RcaSt872RG-R_WJBEGfYXA", "action":"indices:data/read/search", "request.name":"SearchRequest", "indices":["alias1"]}
-
run_as_granted -
Записывается, когда аутентифицированный пользователь пытается выполнить запрос от имени другого пользователя, у которого есть необходимые привилегии.
Пример
{"type":"audit", "timestamp":"2020-12-30T22:44:42,068+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action": "run_as_granted", "user.name":"elastic", "user.run_as.name":"user1", "user.realm":"reserved", "user.run_as.realm":"default_native", "user.roles":["superuser"], "origin.type":"rest", "origin.address": "[::1]:52623", "request.id":"dGqPTdEQSX2TAPS3cvc1qA", "action": "indices:data/read/search", "request.name":"SearchRequest", "indices":["alias1"]}
-
system_access_granted -
Записывает события
access_grantedтолько для внутренних пользователей, таких как_xpack. Если вы включите эту настройку в дополнение кaccess_granted, то событияaccess_grantedбудут записываться для всех пользователей.Этот тип события по умолчанию отключен, чтобы избежать захламления логов.
-
tampered_request -
Записывается, когда средства безопасности обнаруживают, что запрос был изменён. Обычно относится к запросам
search/scroll, когда предполагается, что идентификатор прокрутки был изменён.Пример
{"type":"audit", "timestamp":"2019-11-27T22:00:00,947+0200", "node.id": "0RMNyghkQYCc_gVd1G6tZQ", "event.type": "rest", "event.action": "tampered_request", "origin.address":"[::1]:50543", "url.path": "/twitter/_async_search", "url.query":"pretty", "request.method":"POST", "request.id":"TqA9OisyQ8WTl1ivJUV1AA"}
Атрибуты событий аудита
События аудита отформатированы как JSON-документы, и каждое событие печатается на отдельной строке в журнале аудита. В самих записях нет разделителя конца строки. Более подробную информацию см. в формате записи журнала.
Следующий список показывает атрибуты, общие для всех типов событий аудита:
-
@timestamp - Время события в формате ISO9601.
-
node.name - Название узла. Это можно изменить в файле конфигурации
elasticsearch.yml. -
node.id - Идентификатор узла. Он генерируется автоматически и сохраняется при полном перезапуске кластера.
-
host.ip - Связанный IP-адрес узла, с помощью которого можно связаться с узлом.
-
host.name - Неразрешённое имя хоста узла.
-
event.type - Внутренний уровень обработки, который сгенерировал событие:
rest,transport,ip_filterилиsecurity_config_change. Это отличается отorigin.type, потому что запрос, исходящий из REST API, преобразуется в ряд транспортных сообщений, генерирующих события аудита сorigin.type: restиevent.type: transport. -
event.action -
Тип произошедшего события:
anonymous_access_denied,authentication_failed,authentication_success,realm_authentication_failed,access_denied,access_granted,connection_denied,connection_granted,tampered_request,run_as_deniedилиrun_as_granted.Кроме того, если
event.typeравноsecurity_config_change, атрибутevent.actionпринимает одно из следующих значений:put_user,change_password,put_role,put_role_mapping,change_enable_user,change_disable_user,put_privileges,create_apikey,delete_user,delete_role,delete_role_mapping,invalidate_apikeys,delete_privileges,change_apikeyилиchange_apikeys. -
request.id - Синтетический идентификатор, который можно использовать для сопоставления событий, связанных с определённым запросом REST.
Кроме того, все события типов rest, transport и ip_filter (но не security_config_change) имеют следующие дополнительные атрибуты, которые показывают больше информации о запрашивающем клиенте:
-
origin.address - Источник IP-адреса запроса, связанного с данным событием. Это может быть адрес удалённого клиента, адрес другого узла кластера или связанный адрес локального узла, если запрос исходил локально. Если удалённый клиент не подключается непосредственно к кластеру, то адрес клиента фактически будет адресом первого прокси OSI уровня 3 перед кластером.
-
origin.type - Тип происхождения запроса, связанного с этим событием:
rest(запрос исходил из запроса REST API),transport(запрос был получен по транспортному каналу) илиlocal_node(запрос инициировал локальный узел). -
opaque_id - Значение заголовка HTTP
X-Opaque-Id(если он присутствует) запроса, связанного с этим событием. См. больше:X-Opaque-Idзаголовок - API соглашения -
trace_id - Идентификатор, извлечённый из заголовка HTTP
traceparent(если он присутствует) запроса, связанного с данным событием. Он позволяет отображать журналы аудита в функции Журналов трассировки Elastic APM. -
x_forwarded_for - Текстовое значение заголовка HTTP запроса
X-Forwarded-For(если он присутствует) запроса, связанного с событием аудита. Этот заголовок обычно добавляется прокси при пересылке запросов, и значением является адрес прокси-клиента. Когда запрос проходит через несколько прокси, заголовок является запятой-разделённым списком, где последнее значение является адресом второго с конца прокси-сервера (адрес последнего прокси-сервера указан в полеorigin.address).
Атрибуты событий аудита типа rest
У событий с event.type, равным rest, есть одно из следующих event.action значений атрибута: authentication_success, anonymous_access_denied, authentication_failed, realm_authentication_failed, tampered_request или run_as_denied. Эти события также имеют следующие дополнительные атрибуты (кроме общих):
-
url.path - Часть пути URL (между портом и строкой запроса) REST-запроса, связанного с этим событием. Кодируется по правилам URL.
-
url.query - Часть запроса URL (после "?", если присутствует) REST-запроса, связанного с этим событием. Кодируется по правилам URL.
-
request.method - HTTP-метод REST-запроса, связанного с этим событием. Может быть GET, POST, PUT, DELETE, OPTIONS, HEAD, PATCH, TRACE и CONNECT.
-
request.body - Полное содержимое REST-запроса, связанного с этим событием, если включено. Содержит тело HTTP-запроса. Тело экранируется как строковое значение в соответствии с RFC 4627 для JSON.
Атрибуты событий аудита типа transport
У событий с event.type, равным transport, есть одно из следующих event.action значений атрибута: authentication_success, anonymous_access_denied, authentication_failed, realm_authentication_failed, access_granted, access_denied, run_as_granted, run_as_denied или tampered_request. Эти события также имеют следующие дополнительные атрибуты (кроме общих):
-
action - Имя транспортного действия, которое было выполнено. Аналогично URL REST-запроса.
-
indices - Массив имён индексов, к которым относится запрос, связанный с этим событием (если применимо).
-
request.name - Имя обработчика запроса, который был выполнен.
Атрибуты событий аудита типа ip_filter
У событий с event.type, равным ip_filter, есть одно из следующих event.action значений атрибута: connection_granted или connection_denied. Эти события также имеют следующие дополнительные атрибуты (кроме общих):
-
transport_profile - Профиль транспорта, к которому был нацелен запрос.
-
rule - Правило фильтрации IP, которое отклонило запрос.
Атрибуты событий аудита типа security_config_change
У событий с атрибутом event.type, равным security_config_change, есть одно из следующих event.action значений атрибута: put_user, change_password, put_role, put_role_mapping, change_enable_user, change_disable_user, put_privileges, create_apikey, delete_user, delete_role, delete_role_mapping, invalidate_apikeys, delete_privileges, change_apikey или change_apikeys.
Эти события также имеют один из следующих дополнительных атрибутов (кроме общих), специфичный для атрибута event.type. Значение атрибута — вложенный JSON-объект:
-
put - Представление объекта конфигурации безопасности, который создаётся или перезаписывается. Содержит конфигурацию для
user,role,role_mappingили для приложенияprivileges. -
delete - Представление объекта конфигурации безопасности, который удаляется. Может быть конфигурацией для
user,role,role_mappingили для приложенияprivileges. -
change - Представление объекта конфигурации безопасности, который изменяется. Может быть
password,enableилиdisableобъектом конфигурации для встроенных пользователей. Если обновляется API-ключ, объект конфигурации будетapikey. -
create - Представление нового объекта конфигурации безопасности, который создаётся. В настоящее время используется только для аудита API-ключей. Если API-ключ создан с помощью API создания API-ключа, он содержит только объект конфигурации
apikey. Если API-ключ создан с помощью API выдачи API-ключа, он также содержит объект конфигурацииgrant. -
invalidate - Представление объекта конфигурации безопасности, который аннулируется. В настоящее время аннулирование поддерживается только для
apikeysс помощью API аннулирования API-ключа.
Схемы упомянутых выше объектов конфигурации безопасности аналогичны телам запросов соответствующих API-безопасности.
-
user -
Объект, похожий на:
`{"name": <string>, "enabled": <boolean>, "roles": <string_list>, "full_name": <string>, "email": <string>, "has_password": <boolean>, "metadata": <object>}`.Поля
full_name,emailиmetadataопушены, если пустые. -
role -
Объект, похожий на:
`{"name": <string>, "role_descriptor": {"cluster": <string_list>, "global": {"application":{"manage":{<string>:<string_list>}}}, "indices": [ {"names": <string_list>, "privileges": <string_list>, "field_security": {"grant": <string_list>, "except": <string_list>}, "query": <string>, "allow_restricted_indices": <boolean>}], "applications":[{"application": <string>, "privileges": <string_list>, "resources": <string_list>}], "run_as": <string_list>, "metadata": <object>}}`.Поля
global,field_security,except,query,allow_restricted_indicesиmetadataопушены, если пустые. -
role_mapping -
Объект, похожий на:
`{"name": <string>, "roles": <string_list>, "role_templates": [{"template": <string>, "format": <string>}], "rules": <object>, "enabled": <boolean>, "metadata": <object>}`.Поля
rolesиrole_templatesопушены, если пустые. Объектrulesимеет рекурсивно вложенную схему, идентичную той, что передаётся в запросе API для сопоставления ролей. -
privileges -
Массив объектов, похожий на:
`{"application": <string>, "name": <string>, "actions": <string_list>, "metadata": <object>}`. -
password -
Простой объект, похожий на:
`{"user":{"name": <string>}}` -
enable -
Простой объект, похожий на:
`{"user":{"name": <string>}}` -
disable -
Простой объект, похожий на:
`{"user":{"name": <string>}}` -
apikey -
Объект, похожий на:
`{"id": <string>, "name": <string>, "expiration": <string>, "role_descriptors": [<object>], "metadata": [<object>]}`Объекты
role_descriptorsимеют ту же схему, что и объектrole_descriptor, который является частью объекта конфигурацииroleвыше.
Объект для обновления API-ключа будет отличаться тем, что не будет содержать name.
-
grant -
Объект, похожий на:
`{"type": <string>, "user": {"name": <string>, "has_password": <boolean>}, "has_access_token": <boolean>}` -
apikeys -
Объект, похожий на:
`{"ids": <string_list>, "name": <string>, "owned_by_authenticated_user": <boolean>, "user":{"name": <string>, "realm": <string>}}`Объект для массового обновления API-ключа будет отличаться тем, что не будет содержать
name,owned_by_authenticated_userилиuser. Вместо этого он может содержатьmetadataиrole_descriptors, которые имеют те же схемы, что и поля в объекте конфигурацииapikeyвыше. -
service_token -
Объект, похожий на:
`{"namespace":<string>,"service":<string>,"name":<string>}`
Дополнительные атрибуты событий аудита для определённых событий
Существуют несколько событий, которые имеют дополнительные атрибуты помимо уже описанных:
-
authentication_success:-
realm - Имя домена, успешно прошедшего аутентификацию пользователя. Если аутентификация выполнена с помощью API-ключа, это специальное значение
_es_api_key. Это краткое свойство, содержащее ту же информацию, что и атрибутыuser.realm,user.run_by.realmиauthentication.type. -
user.name - Имя эффективного пользователя. Обычно совпадает с именем аутентифицированного пользователя, но при использовании функциональности разрешения run as вместо этого обозначает имя имитируемого пользователя. Если аутентификация выполнена с помощью API-ключа, это имя владельца API-ключа. Если аутентификация выполнена с помощью токена учётной записи сервиса, это принципал учётной записи сервиса, т.е.
namespace/service_name. -
user.realm - Имя домена, к которому принадлежит эффективный пользователь. Если аутентификация выполнена с помощью API-ключа, это имя домена, к которому принадлежит владелец API-ключа.
-
user.run_by.name - Этот атрибут присутствует только если запрос использует функциональность разрешения run as и обозначает имя аутентифицированного пользователя, также известного как имитатор.
-
user.run_by.realm - Имя домена, к которому принадлежит аутентифицированный (имитатор) пользователь. Этот атрибут предоставляется только в случае использования функциональности run as.
-
authentication.type - Метод, используемый для аутентификации пользователя. Возможные значения:
REALM,API_KEY,TOKEN,ANONYMOUSилиINTERNAL. -
apikey.id - Идентификатор API-ключа, возвращённый запросом создания API-ключа. Этот атрибут предоставляется только для аутентификации с помощью API-ключа.
-
apikey.name - Имя API-ключа, предоставленное в запросе создания API-ключа. Этот атрибут предоставляется только для аутентификации с помощью API-ключа.
-
authentication.token.name - Имя токена учётной записи сервиса. Этот атрибут предоставляется только для аутентификации с помощью токена учётной записи сервиса.
-
authentication.token.type - Тип токена учётной записи сервиса. Этот атрибут предоставляется только для аутентификации с помощью токена учётной записи сервиса.
-
-
authentication_failed:-
user.name - Имя пользователя, не прошедшего аутентификацию. Если токен аутентификации запроса недействителен или не может быть проанализирован, эта информация может отсутствовать.
-
authentication.token.name - Имя токена учётной записи сервиса. Этот атрибут предоставляется только для аутентификации с помощью токена учётной записи сервиса. Если токен аутентификации запроса недействителен или не может быть проанализирован, эта информация может отсутствовать.
-
authentication.token.type - Тип токена учётной записи сервиса. Этот атрибут предоставляется только для аутентификации с помощью токена учётной записи сервиса. Если токен аутентификации запроса недействителен или не может быть проанализирован, эта информация может отсутствовать.
-
-
realm_authentication_failed:-
user.name - Имя пользователя, не прошедшего аутентификацию.
-
realm - Имя домена, отклонившего аутентификацию. Это событие генерируется для каждого домена в цепочке.
-
-
run_as_deniedиrun_as_granted:-
user.roles - Имена ролей в виде массива для аутентифицированного пользователя, которому предоставляется или отказывается действие имитации. Если аутентификация выполнена как учётная запись сервиса, это всегда пустой массив.
-
user.name - Имя аутентифицированного пользователя, которому предоставляется или отказывается действие имитации.
-
user.realm - Имя домена, к которому принадлежит аутентифицированный пользователь.
-
user.run_as.name - Имя пользователя, которому предоставляется или отказывается действие имитации.
-
user.run_as.realm - Имя домена, к которому принадлежит имитируемый пользователь.
-
-
access_grantedиaccess_denied:-
user.roles - Имена ролей пользователя в виде массива. Если аутентификация выполнена с помощью API-ключа, это содержит имена ролей владельца API-ключа. Если аутентификация выполнена как учётная запись сервиса, это всегда пустой массив.
-
user.name - Имя эффективного пользователя. Обычно совпадает с именем аутентифицированного пользователя, но при использовании функциональности run as вместо этого обозначает имя имитируемого пользователя. Если аутентификация выполнена с помощью API-ключа, это имя владельца API-ключа.
-
user.realm - Имя домена, к которому принадлежит эффективный пользователь. Если аутентификация выполнена с помощью API-ключа, это имя домена, к которому принадлежит владелец API-ключа.
-
user.run_by.name - Этот атрибут присутствует только если запрос использует функциональность разрешения run as и обозначает имя аутентифицированного пользователя, который также известен как имитатор.
-
user.run_by.realm - Этот атрибут присутствует только если запрос использует функциональность разрешения run as и обозначает имя домена, к которому принадлежит аутентифицированный (имитатор) пользователь.
-
authentication.type - Метод, используемый для аутентификации пользователя. Возможные значения:
REALM,API_KEY,TOKEN,ANONYMOUSилиINTERNAL. -
apikey.id - Идентификатор API-ключа, возвращённый запросом создания API-ключа. Этот атрибут предоставляется только для аутентификации с помощью API-ключа.
-
apikey.name - Имя API-ключа, предоставленное в запросе создания API-ключа. Этот атрибут предоставляется только для аутентификации с помощью API-ключа.
-
authentication.token.name - Имя токена учётной записи сервиса. Этот атрибут предоставляется только для аутентификации с помощью токена учётной записи сервиса.
-
authentication.token.type - Тип токена учётной записи сервиса. Этот атрибут предоставляется только для аутентификации с помощью токена учётной записи сервиса.
-
© 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-event-types.html