审计事件编辑

当您审计安全事件时,单个客户端请求可能会在多个集群节点上生成多个审计事件。常见的 request.id 属性可用于关联相关事件。

使用 elasticsearch.yml 中的 xpack.security.audit.logfile.events.include 设置指定要包含在审计输出中的事件类型。

某些审计事件需要 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 事件,请将 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":"[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 第 3 层代理的地址。
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 事件类型审计事件属性edit

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 作为字符串值进行转义。

传输事件类型审计事件属性edit

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 过滤器事件类型审计事件属性edit

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

transport_profile
请求所针对的传输配置文件。
rule
拒绝请求的 IP 过滤 规则。

安全配置更改事件类型审计事件属性edit

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

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

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

  • 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
    服务帐户 令牌的类型。此属性仅在使用服务帐户令牌进行验证时提供。