Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17] ›Обеспечьте безопасность Elastic Stack ›Включить журналирование аудита

События аудита

Когда вы проводите аудит событий безопасности, один запрос клиента может генерировать несколько событий аудита на нескольких узлах кластера. Атрибут 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":[]}]}}}
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.

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 HTTP-заголовок - Справочник по API
trace_id
Идентификатор, извлечённый из HTTP-заголовка traceparent (если присутствует) запроса, связанного с этим событием. Он позволяет отображать журналы аудита в функции Trace Logs 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-запроса. Тело экранируется как строковое значение в соответствии со спецификацией JSON RFC 4627.

Атрибуты события аудита типа 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.

Эти события также имеют один из следующих дополнительных атрибутов (кроме общих), специфичный для атрибута event.type. Значение атрибута — вложенный JSON-объект:

put
Представление объекта конфигурации безопасности, который создаётся или перезаписывает существующую конфигурацию. Он содержит конфигурацию для user, role, role_mapping или для приложения privileges.
delete
Представление объекта конфигурации безопасности, который удаляется. Это может быть конфигурация для user, role, role_mapping или для приложения privileges.
change
Представление объекта конфигурации безопасности, который изменяется. Это может быть конфигурация password, enable или disable, объект конфигурации для нативных или встроенных пользователей.
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

Объект, подобный:

`{"name": <string>, "expiration": <string>, "role_descriptors" [<object>]}`

Объекты role_descriptors имеют ту же схему, что и объект role_descriptor, который является частью вышеупомянутого объекта конфигурации role.

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>}}`
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/7.17/audit-event-types.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API