审计事件

编辑

当您审计安全事件时,单个客户端请求可能会在多个集群节点上生成多个审计事件。常见的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

当已认证用户尝试执行他们拥有必要权限来执行的操作时记录。这些事件仅针对非系统用户进行记录。

如果您想为所有用户(包括内部用户,例如_xpack)包含access_granted事件,请除了access_granted之外,还将system_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":"[email protected]",
"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

仅为内部用户(例如_xpack)记录access_granted事件。如果您除了access_granted之外还包含此设置,则会为所有用户记录access_granted事件。

此事件类型默认情况下处于禁用状态,以避免日志混乱。

tampered_request

当安全功能检测到请求已被篡改时记录。通常与search/scroll请求相关,当认为滚动 ID 已被篡改时。

示例
{"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
节点 ID。这是自动生成的,在整个集群重启过程中保持不变。
host.ip
节点的绑定 IP 地址,可以通过该地址与节点进行通信。
host.name
未解析的节点主机名。
event.type
生成事件的内部处理层:resttransportip_filtersecurity_config_change。这与origin.type不同,因为源自 REST API 的请求被转换为多个传输消息,生成具有origin.type: restevent.type: transport的审计事件。
event.action

发生的事件类型:anonymous_access_deniedauthentication_failedauthentication_successrealm_authentication_failedaccess_deniedaccess_grantedconnection_deniedconnection_grantedtampered_requestrun_as_deniedrun_as_granted

此外,如果event.type等于security_config_change,则event.action属性采用以下值之一:put_userchange_passwordput_roleput_role_mappingchange_enable_userchange_disable_userput_privilegescreate_apikeydelete_userdelete_roledelete_role_mappinginvalidate_apikeysdelete_privilegeschange_apikeychange_apikeys

request.id
可以用于关联与特定 REST 请求关联的事件的合成标识符。

此外,所有类型为resttransportip_filter(但不是security_config_change)的事件都具有以下额外属性,这些属性显示有关请求客户端的更多详细信息

origin.address
与该事件关联的请求的源 IP 地址。这可能是远程客户端的地址、另一个集群节点的地址,或者如果请求源自本地,则为本地节点的绑定地址。除非远程客户端直接连接到集群,否则客户端地址实际上将是集群前面第一个 OSI 第三层代理的地址。
origin.type
与该事件关联的请求的源类型:rest(请求源自 REST API 请求)、transport(请求是在传输通道上接收到的)或local_node(本地节点发出了请求)。
opaque_id
与该事件关联的请求的X-Opaque-Id HTTP 标头(如果存在)的值。参见:X-Opaque-Id HTTP 标头 - API 约定
trace_id
从与该事件关联的请求的traceparent HTTP 标头(如果存在)中提取的标识符。它允许将审计日志显示到 Elastic APM 的跟踪日志功能中。
x_forwarded_for
与审计事件关联的请求的 X-Forwarded-For HTTP 请求头(如果存在)的逐字值。此标头通常由代理在转发请求时添加,其值为代理客户端的地址。当请求跨越多个代理时,此标头是一个逗号分隔的列表,最后一个值为倒数第二个代理服务器的地址(最后一个代理服务器的地址由 origin.address 字段指定)。

rest 事件类型的审计事件属性

编辑

event.type 等于 rest 的事件具有以下 event.action 属性值之一:authentication_successanonymous_access_deniedauthentication_failedrealm_authentication_failedtampered_requestrun_as_denied。这些事件还具有以下额外属性(除了公共属性之外)

url.path
与该事件关联的 REST 请求的 URL 路径部分(端口和查询字符串之间)。这是 URL 编码的。
url.query
与该事件关联的 REST 请求的 URL 查询部分(如果存在,在“?”之后)。这是 URL 编码的。
request.method
与该事件关联的 REST 请求的 HTTP 方法。它是 GET、POST、PUT、DELETE、OPTIONS、HEAD、PATCH、TRACE 和 CONNECT 之一。
request.body
如果启用,与该事件关联的 REST 请求的完整内容。这包含 HTTP 请求正文。正文根据 JSON RFC 4627 作为字符串值进行转义。

transport 事件类型的审计事件属性

编辑

event.type 等于 transport 的事件具有以下 event.action 属性值之一:authentication_successanonymous_access_deniedauthentication_failedrealm_authentication_failedaccess_grantedaccess_deniedrun_as_grantedrun_as_deniedtampered_request。这些事件还具有以下额外属性(除了公共属性之外)

action
执行的传输操作的名称。这类似于 REST 请求的 URL。
indices
与该事件关联的请求相关的索引名称数组(如果适用)。
request.name
执行的请求处理程序的名称。

ip_filter 事件类型的审计事件属性

编辑

event.type 等于 ip_filter 的事件具有以下 event.action 属性值之一:connection_grantedconnection_denied。这些事件还具有以下额外属性(除了公共属性之外)

transport_profile
请求目标的传输配置文件。
rule
拒绝请求的 IP 过滤规则。

security_config_change 事件类型的审计事件属性

编辑

event.type 属性等于 security_config_change 的事件具有以下 event.action 属性值之一:put_userchange_passwordput_roleput_role_mappingchange_enable_userchange_disable_userput_privilegescreate_apikeydelete_userdelete_roledelete_role_mappinginvalidate_apikeysdelete_privilegeschange_apikeychange_apikeys

这些事件还具有以下额外属性之一(除了公共属性之外),该属性特定于 event.type 属性。属性的值是一个嵌套的 JSON 对象

put
正在创建的安全配置的对象表示,或现有配置的覆盖。它包含 userrolerole_mapping 或应用程序 privileges 的配置。
delete
正在删除的安全配置的对象表示。它可以是 userrolerole_mapping 或应用程序 privileges 的配置。
change
正在更改的安全配置的对象表示。它可以是本机或内置用户的 passwordenabledisable 配置对象。如果 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_nameemailmetadata 字段为空,则会省略。

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>}}`.

如果 globalfield_securityexceptqueryallow_restricted_indicesmetadata 字段为空,则会省略。

role_mapping

类似于以下对象的:

`{"name": <string>, "roles": <string_list>, "role_templates": [{"template": <string>,
"format": <string>}], "rules": <object>, "enabled": <boolean>, "metadata": <object>}`.

如果 rolesrole_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 配置对象中包含的 role_descriptor 对象具有相同的模式。

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 密钥更新的对象将有所不同,因为它不包含 nameowned_by_authenticated_useruser。相反,它可能包含 metadatarole_descriptors,它们与上面 apikey 配置对象中的字段具有相同的模式。

service_token

类似于以下对象的:

`{"namespace":<string>,"service":<string>,"name":<string>}`

特定事件的额外审计事件属性

编辑

除了前面描述的属性之外,还有一些事件具有更多属性

  • authentication_success:

    realm
    成功验证用户的领域的名称。如果使用 API 密钥进行身份验证,则为 _es_api_key 的特殊值。这是对 user.realmuser.run_by.realmauthentication.type 属性所描述的相同信息的简写属性。
    user.name
    有效用户的名称。这通常与已验证用户相同,但如果使用 以其他用户身份运行授权功能,则表示模拟用户的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者的名称。如果使用服务帐户令牌进行身份验证,则为服务帐户主体,即 namespace/service_name
    user.realm
    有效用户所属领域的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者所属领域的名称。
    user.run_by.name
    仅当请求使用 以其他用户身份运行授权功能 时才存在此属性,并表示已验证用户的名称,也称为模拟者
    user.run_by.realm
    已验证模拟者)用户所属领域的名称。仅当请求使用 以其他用户身份运行授权功能 时才提供此属性。
    authentication.type
    用于验证用户的的方法。可能的值为 REALMAPI_KEYTOKENANONYMOUSINTERNAL
    apikey.id
    创建 API 密钥 请求返回的 API 密钥 ID。此属性仅在使用 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_deniedrun_as_granted

    user.roles
    被授予或拒绝模拟操作的已认证用户的角色名称数组。如果以服务账号身份进行认证,则此数组始终为空。
    user.name
    被授予或拒绝模拟操作的已认证用户的名称。
    user.realm
    已认证用户所属的领域名称。
    user.run_as.name
    授予或拒绝模拟操作的用户名。
    user.run_as.realm
    被模拟用户所属的领域名称。
  • access_grantedaccess_denied

    user.roles
    用户的角色名称数组。如果使用 API 密钥进行身份验证,则包含 API 密钥所有者的角色名称。如果以服务账号身份进行认证,则此数组始终为空。
    user.name
    有效用户的名称。这通常与已认证用户相同,但如果使用模拟授权功能,则表示被模拟用户的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者的名称。
    user.realm
    有效用户所属领域的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者所属领域的名称。
    user.run_by.name
    仅当请求使用模拟授权功能时,此属性才存在,并表示已认证用户的名称,也称为模拟者
    user.run_by.realm
    仅当请求使用模拟授权功能时,此属性才存在,并表示已认证模拟者)用户所属的领域名称。
    authentication.type
    用于验证用户的的方法。可能的值为 REALMAPI_KEYTOKENANONYMOUSINTERNAL
    apikey.id
    创建 API 密钥 请求返回的 API 密钥 ID。此属性仅在使用 API 密钥进行身份验证时提供。
    apikey.name
    创建 API 密钥 请求中提供的 API 密钥名称。此属性仅在使用 API 密钥进行身份验证时提供。
    authentication.token.name
    服务帐户 令牌的名称。此属性仅在使用服务帐户令牌进行身份验证时提供。
    authentication.token.type
    服务帐户 令牌的类型。此属性仅在使用服务帐户令牌进行身份验证时提供。