《Elasticsearch 审计日志》系列,共包含以下文章:
😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!
审计日志(二):Compliance settings(合规性审计设置)
- [1.合规模式基础设置(Compliance mode)](#1.合规模式基础设置(Compliance mode))
- 2.读操作审计设置(Read)
- 3.写操作审计设置(Write)
- 4.合规性审计的重要特征

1.合规模式基础设置(Compliance mode)

compliance:enabled- 作用 :全局启用或禁用合规性日志记录功能
- 当前值:Enabled(启用)
- 说明:主开关,启用后才能使用其他合规性审计功能
compliance:internal_config- 作用 :是否记录内部安全索引的配置变更事件
- 当前值:Enabled(启用)
- 说明 :监控
.security索引等内部配置的变化,对安全审计很重要
compliance:external_config- 作用 :是否记录外部配置变更 (如
elasticsearch.yml) - 当前值:Enabled(启用)
- 说明:启用后会监控配置文件变更,满足严格合规要求
- 作用 :是否记录外部配置变更 (如

2.读操作审计设置(Read)

compliance:read_metadata_only- 作用 :控制读操作审计的详细程度
- 当前值:Disabled
- 说明 :
- 启用时只记录文档元信息(如
_id、_index),不记录文档内容; - 禁用时会记录完整文档内容。
- 启用时只记录文档元信息(如
compliance:read_ignore_users- 作用 :指定读操作审计中要忽略的用户
- 当前忽略的用户:无
- 说明 :减少指定用户产生的审计噪音。例如
kibanaserver系统用户。
compliance:read_watched_fields- 作用 :定义需要特别监控的敏感字段
- 默认值:空(未监控特定字段)
- 当前值:所有字段
- 格式示例:
json
{
"index-name-pattern": ["field-name-pattern"],
"logs": ["message"],
"twitter": ["id", "user*"]
}
- 特别说明 :
- 配置后会为每个被访问的监控字段生成独立日志
- 会显著增加系统开销(警告中提到 "
可能造成显著开销")

3.写操作审计设置(Write)

compliance:write_metadata_only- 作用 :控制写操作审计的详细程度
- 当前值:Disabled(启用)
- 说明:类似读设置,启用后只记录文档元信息不记录内容
compliance:write_log_diffs- 作用 :是否记录文档更新前后的差异 (
diff) - 当前值:Disabled(禁用)
- 说明 :
- 启用后可追踪文档具体变更内容
- 会产生额外性能开销
- 作用 :是否记录文档更新前后的差异 (
compliance:write_ignore_users- 作用 :指定写操作审计中要忽略的用户
- 当前忽略的用户:无
- 默认值 :
kibanaserver(系统用户)
compliance:write_watched_indices- 作用 :定义需要特别监控的敏感索引
- 默认值:"Watch indices"(示例占位符,实际应配置具体索引模式)
- 当前值 :
* - 特别说明 :
- 配置后会为被监控索引的每个文档变更生成独立日志
- 会显著增加系统开销

4.合规性审计的重要特征
- 1️⃣ 与普通审计的区别 :
- 专门为满足 GDPR、HIPAA 等合规要求设计。
- 提供更细粒度的数据访问监控(特别是读操作)。
- 能追踪 "
谁在什么时候访问了什么数据"。
- 2️⃣ 性能考量 :
- 几乎所有设置旁都有性能警告。
watched_fields/watched_indices会为每个文档操作生成独立日志。- 生产环境应谨慎选择监控范围。
- 3️⃣ 安全最佳实践 :
- 对包含 PII / PHI 等敏感数据的索引应启用
watched_fields - 金融/医疗等受监管行业建议启用
write_log_diffs - 可结合
ignore_users排除监控系统账户减少日志量
- 对包含 PII / PHI 等敏感数据的索引应启用
这些设置特别适合需要证明数据访问合规性的场景,但需要平衡审计详细程度与系统性能之间的关系。