- Elasticsearch 指南其他版本
- 8.17 中的新功能
- Elasticsearch 基础
- 快速入门
- 设置 Elasticsearch
- 升级 Elasticsearch
- 索引模块
- 映射
- 文本分析
- 索引模板
- 数据流
- 摄取管道
- 别名
- 搜索您的数据
- 重新排名
- 查询 DSL
- 聚合
- 地理空间分析
- 连接器
- EQL
- ES|QL
- SQL
- 脚本
- 数据管理
- 自动缩放
- 监视集群
- 汇总或转换数据
- 设置高可用性集群
- 快照和还原
- 保护 Elastic Stack 的安全
- Watcher
- 命令行工具
- elasticsearch-certgen
- elasticsearch-certutil
- elasticsearch-create-enrollment-token
- elasticsearch-croneval
- elasticsearch-keystore
- elasticsearch-node
- elasticsearch-reconfigure-node
- elasticsearch-reset-password
- elasticsearch-saml-metadata
- elasticsearch-service-tokens
- elasticsearch-setup-passwords
- elasticsearch-shard
- elasticsearch-syskeygen
- elasticsearch-users
- 优化
- 故障排除
- 修复常见的集群问题
- 诊断未分配的分片
- 向系统中添加丢失的层
- 允许 Elasticsearch 在系统中分配数据
- 允许 Elasticsearch 分配索引
- 索引将索引分配过滤器与数据层节点角色混合,以在数据层之间移动
- 没有足够的节点来分配所有分片副本
- 单个节点上索引的分片总数已超过
- 每个节点的分片总数已达到
- 故障排除损坏
- 修复磁盘空间不足的数据节点
- 修复磁盘空间不足的主节点
- 修复磁盘空间不足的其他角色节点
- 启动索引生命周期管理
- 启动快照生命周期管理
- 从快照恢复
- 故障排除损坏的存储库
- 解决重复的快照策略失败问题
- 故障排除不稳定的集群
- 故障排除发现
- 故障排除监控
- 故障排除转换
- 故障排除 Watcher
- 故障排除搜索
- 故障排除分片容量健康问题
- 故障排除不平衡的集群
- 捕获诊断信息
- REST API
- API 约定
- 通用选项
- REST API 兼容性
- 自动缩放 API
- 行为分析 API
- 紧凑和对齐文本 (CAT) API
- 集群 API
- 跨集群复制 API
- 连接器 API
- 数据流 API
- 文档 API
- 丰富 API
- EQL API
- ES|QL API
- 功能 API
- Fleet API
- 图表探索 API
- 索引 API
- 别名是否存在
- 别名
- 分析
- 分析索引磁盘使用量
- 清除缓存
- 克隆索引
- 关闭索引
- 创建索引
- 创建或更新别名
- 创建或更新组件模板
- 创建或更新索引模板
- 创建或更新索引模板(旧版)
- 删除组件模板
- 删除悬挂索引
- 删除别名
- 删除索引
- 删除索引模板
- 删除索引模板(旧版)
- 存在
- 字段使用情况统计信息
- 刷新
- 强制合并
- 获取别名
- 获取组件模板
- 获取字段映射
- 获取索引
- 获取索引设置
- 获取索引模板
- 获取索引模板(旧版)
- 获取映射
- 导入悬挂索引
- 索引恢复
- 索引段
- 索引分片存储
- 索引统计信息
- 索引模板是否存在(旧版)
- 列出悬挂索引
- 打开索引
- 刷新
- 解析索引
- 解析集群
- 翻转
- 收缩索引
- 模拟索引
- 模拟模板
- 拆分索引
- 解冻索引
- 更新索引设置
- 更新映射
- 索引生命周期管理 API
- 推理 API
- 信息 API
- 摄取 API
- 许可 API
- Logstash API
- 机器学习 API
- 机器学习异常检测 API
- 机器学习数据帧分析 API
- 机器学习训练模型 API
- 迁移 API
- 节点生命周期 API
- 查询规则 API
- 重新加载搜索分析器 API
- 存储库计量 API
- 汇总 API
- 根 API
- 脚本 API
- 搜索 API
- 搜索应用程序 API
- 可搜索快照 API
- 安全 API
- 身份验证
- 更改密码
- 清除缓存
- 清除角色缓存
- 清除权限缓存
- 清除 API 密钥缓存
- 清除服务帐户令牌缓存
- 创建 API 密钥
- 创建或更新应用程序权限
- 创建或更新角色映射
- 创建或更新角色
- 批量创建或更新角色 API
- 批量删除角色 API
- 创建或更新用户
- 创建服务帐户令牌
- 委托 PKI 身份验证
- 删除应用程序权限
- 删除角色映射
- 删除角色
- 删除服务帐户令牌
- 删除用户
- 禁用用户
- 启用用户
- 注册 Kibana
- 注册节点
- 获取 API 密钥信息
- 获取应用程序权限
- 获取内置权限
- 获取角色映射
- 获取角色
- 查询角色
- 获取服务帐户
- 获取服务帐户凭据
- 获取安全设置
- 获取令牌
- 获取用户权限
- 获取用户
- 授予 API 密钥
- 具有权限
- 使 API 密钥失效
- 使令牌失效
- OpenID Connect 准备身份验证
- OpenID Connect 身份验证
- OpenID Connect 注销
- 查询 API 密钥信息
- 查询用户
- 更新 API 密钥
- 更新安全设置
- 批量更新 API 密钥
- SAML 准备身份验证
- SAML 身份验证
- SAML 注销
- SAML 失效
- SAML 完成注销
- SAML 服务提供商元数据
- SSL 证书
- 激活用户配置文件
- 禁用用户配置文件
- 启用用户配置文件
- 获取用户配置文件
- 建议用户配置文件
- 更新用户配置文件数据
- 具有用户配置文件权限
- 创建跨集群 API 密钥
- 更新跨集群 API 密钥
- 快照和还原 API
- 快照生命周期管理 API
- SQL API
- 同义词 API
- 文本结构 API
- 转换 API
- 使用情况 API
- Watcher API
- 定义
- 迁移指南
- 发行说明
- Elasticsearch 版本 8.17.0
- Elasticsearch 版本 8.16.1
- Elasticsearch 版本 8.16.0
- Elasticsearch 版本 8.15.5
- Elasticsearch 版本 8.15.4
- Elasticsearch 版本 8.15.3
- Elasticsearch 版本 8.15.2
- Elasticsearch 版本 8.15.1
- Elasticsearch 版本 8.15.0
- Elasticsearch 版本 8.14.3
- Elasticsearch 版本 8.14.2
- Elasticsearch 版本 8.14.1
- Elasticsearch 版本 8.14.0
- Elasticsearch 版本 8.13.4
- Elasticsearch 版本 8.13.3
- Elasticsearch 版本 8.13.2
- Elasticsearch 版本 8.13.1
- Elasticsearch 版本 8.13.0
- Elasticsearch 版本 8.12.2
- Elasticsearch 版本 8.12.1
- Elasticsearch 版本 8.12.0
- Elasticsearch 版本 8.11.4
- Elasticsearch 版本 8.11.3
- Elasticsearch 版本 8.11.2
- Elasticsearch 版本 8.11.1
- Elasticsearch 版本 8.11.0
- Elasticsearch 版本 8.10.4
- Elasticsearch 版本 8.10.3
- Elasticsearch 版本 8.10.2
- Elasticsearch 版本 8.10.1
- Elasticsearch 版本 8.10.0
- Elasticsearch 版本 8.9.2
- Elasticsearch 版本 8.9.1
- Elasticsearch 版本 8.9.0
- Elasticsearch 版本 8.8.2
- Elasticsearch 版本 8.8.1
- Elasticsearch 版本 8.8.0
- Elasticsearch 版本 8.7.1
- Elasticsearch 版本 8.7.0
- Elasticsearch 版本 8.6.2
- Elasticsearch 版本 8.6.1
- Elasticsearch 版本 8.6.0
- Elasticsearch 版本 8.5.3
- Elasticsearch 版本 8.5.2
- Elasticsearch 版本 8.5.1
- Elasticsearch 版本 8.5.0
- Elasticsearch 版本 8.4.3
- Elasticsearch 版本 8.4.2
- Elasticsearch 版本 8.4.1
- Elasticsearch 版本 8.4.0
- Elasticsearch 版本 8.3.3
- Elasticsearch 版本 8.3.2
- Elasticsearch 版本 8.3.1
- Elasticsearch 版本 8.3.0
- Elasticsearch 版本 8.2.3
- Elasticsearch 版本 8.2.2
- Elasticsearch 版本 8.2.1
- Elasticsearch 版本 8.2.0
- Elasticsearch 版本 8.1.3
- Elasticsearch 版本 8.1.2
- Elasticsearch 版本 8.1.1
- Elasticsearch 版本 8.1.0
- Elasticsearch 版本 8.0.1
- Elasticsearch 版本 8.0.0
- Elasticsearch 版本 8.0.0-rc2
- Elasticsearch 版本 8.0.0-rc1
- Elasticsearch 版本 8.0.0-beta1
- Elasticsearch 版本 8.0.0-alpha2
- Elasticsearch 版本 8.0.0-alpha1
- 依赖项和版本
审计事件
编辑审计事件
编辑当您审计安全事件时,单个客户端请求可能会在多个集群节点上生成多个审计事件。可以使用公共的 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
事件,除了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":"jack@blackpearl.com", "has_password":true,"metadata":{"cunning":10}}}}
-
realm_authentication_failed
-
为每个未能提供有效身份验证令牌的 realm 记录。
示例
{"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 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
事件类型的审计事件属性
编辑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
- 正在失效的安全配置的对象表示。目前唯一支持失效的配置是通过使 API 密钥 API 失效的
apikeys
。
上述安全配置对象的架构如下。它们与相应的安全 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
- 服务帐户令牌的类型。此属性仅在使用服务帐户令牌进行身份验证时提供。
-
On this page