审计事件
编辑审计事件
编辑当您审计安全事件时,单个客户端请求可能会在多个集群节点上生成多个审计事件。常见的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
- 生成事件的内部处理层:
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 第三层代理的地址。
-
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_success
、anonymous_access_denied
、authentication_failed
、realm_authentication_failed
、tampered_request
或 run_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_success
、anonymous_access_denied
、authentication_failed
、realm_authentication_failed
、access_granted
、access_denied
、run_as_granted
、run_as_denied
或 tampered_request
。这些事件还具有以下额外属性(除了公共属性之外)
-
action
- 执行的传输操作的名称。这类似于 REST 请求的 URL。
-
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
配置对象中包含的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 密钥更新的对象将有所不同,因为它不包含
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
- 有效用户的名称。这通常与已验证用户相同,但如果使用 以其他用户身份运行授权功能,则表示模拟用户的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者的名称。如果使用服务帐户令牌进行身份验证,则为服务帐户主体,即
namespace/service_name
。 -
user.realm
- 有效用户所属领域的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者所属领域的名称。
-
user.run_by.name
- 仅当请求使用 以其他用户身份运行授权功能 时才存在此属性,并表示已验证用户的名称,也称为模拟者。
-
user.run_by.realm
- 已验证(模拟者)用户所属领域的名称。仅当请求使用 以其他用户身份运行授权功能 时才提供此属性。
-
authentication.type
- 用于验证用户的的方法。可能的值为
REALM
、API_KEY
、TOKEN
、ANONYMOUS
或INTERNAL
。 -
apikey.id
- 由 创建 API 密钥 请求返回的 API 密钥 ID。此属性仅在使用 API 密钥进行身份验证时提供。
-
apikey.name
- 在 创建 API 密钥 请求中提供的 API 密钥名称。此属性仅在使用 API 密钥进行身份验证时提供。
-
authentication.token.name
- 服务帐户 令牌的名称。此属性仅在使用服务帐户令牌进行身份验证时提供。
-
authentication.token.type
- 服务帐户 令牌的类型。此属性仅在使用服务帐户令牌进行身份验证时提供。
-
-
authentication_failed
: -
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
- 有效用户的名称。这通常与已认证用户相同,但如果使用模拟授权功能,则表示被模拟用户的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者的名称。
-
user.realm
- 有效用户所属领域的名称。如果使用 API 密钥进行身份验证,则为 API 密钥所有者所属领域的名称。
-
user.run_by.name
- 仅当请求使用模拟授权功能时,此属性才存在,并表示已认证用户的名称,也称为模拟者。
-
user.run_by.realm
- 仅当请求使用模拟授权功能时,此属性才存在,并表示已认证(模拟者)用户所属的领域名称。
-
authentication.type
- 用于验证用户的的方法。可能的值为
REALM
、API_KEY
、TOKEN
、ANONYMOUS
或INTERNAL
。 -
apikey.id
- 由 创建 API 密钥 请求返回的 API 密钥 ID。此属性仅在使用 API 密钥进行身份验证时提供。
-
apikey.name
- 在 创建 API 密钥 请求中提供的 API 密钥名称。此属性仅在使用 API 密钥进行身份验证时提供。
-
authentication.token.name
- 服务帐户 令牌的名称。此属性仅在使用服务帐户令牌进行身份验证时提供。
-
authentication.token.type
- 服务帐户 令牌的类型。此属性仅在使用服务帐户令牌进行身份验证时提供。
-