用途:通过集群设置 API 为 Elasticsearch 启用和配置安全审计日志,记录认证尝试、访问授权与拒绝、角色变更、API Key 操作等安全事件,用于合规与事件调查。启用方式:向 /_cluster/settings 发送 PUT 请求,将 persistent 下的 xpack.security.audit.enabled 设为 true;关闭则设为 false。
主要能力:选择记录或排除的事件类型,如 authentication_failed、access_denied、access_granted、anonymous_access_denied、tampered_request、run_as_denied、connection_denied、security_config_change。审计输出可选 logfile(默认写入 <ES_HOME>/logs/<cluster>_audit.json)或 index(写入 .security-audit-* 索引),两者可同时启用;需要程序化查询时必须启用 index 输出。可通过 ignore_filters 按 users、realms、roles、indices、actions 建立过滤策略,减少噪音,策略匹配所有指定字段时事件被过滤;将策略设为 null 可删除。
使用方式:启用后用 .security-audit-*/_search 查询失败认证、访问拒绝、安全配置变更等事件,并可结合 terms 聚合统计事件类型或按 source.ip 检测暴力破解。Kibana 审计日志需单独在 kibana.yml 启用,两边共享 trace.id(通过 X-Opaque-Id 头传递),可用 trace.id、user.name、source.ip 与时间窗关联。
前提与限制:需要集群端点、有效凭据、manage 集群权限,以及 gold、platinum、enterprise 或 trial 许可。自管理集群和 ECH 支持上述能力;Serverless 上审计日志不可由用户配置,由 Elastic 平台管理。建议先用失败类事件,再按需添加成功事件;监控 .security-audit-* 索引大小并配置 ILM 保留策略;避免使用超级用户凭据。旧版本可能需在 elasticsearch.yml 中静态配置输出。详细端点与完整事件类型暂未在资料中提供。