Auditing

在本页面

2.6 版的新功能。

MongoDB Enterprise 包含针对mongodmongos实例的审核功能。审核功能使 Management 员和用户可以跟踪具有多个用户和应用程序的部署的系统活动。

启用和配置审核输出

审核工具可以将审核事件,syslog,JSON 文件或 BSON 文件写入控制台。要为 MongoDB Enterprise 启用审核,请参阅Configure Auditing

有关审核日志消息的信息,请参阅系统事件审核消息

审核事件和过滤器

启用后,审核系统可以记录以下操作:

  • schema (DDL),

  • 副本集和分片群集,

  • 身份验证和授权,以及

  • CRUD 操作(要求auditAuthorizationSuccess设置为true)。

有关审核的操作的详细信息,请参见审核事件操作,详细信息和结果

使用审核系统,您可以设置过滤器限制捕获的事件。要设置过滤器,请参见配置审核过滤器

Audit Guarantee

审核系统将每个审核事件[1]写入审核事件的内存缓冲区中。 MongoDB 定期将此缓冲区写入磁盘。对于从任何单个连接收集的事件,这些事件具有总 Sequences:如果 MongoDB 将一个事件写入磁盘,系统将保证已将该连接的所有先前事件写入磁盘。

如果审核事件条目对应于影响数据库持久状态的操作(例如对数据的修改),则 MongoDB 将始终在将审核事件写入磁盘之前将审核事件写入磁盘。

也就是说,在将操作添加到日志之前,MongoDB 会在触发该操作的连接上写入所有审核事件,直到并包括该操作的条目。

这些审核保证要求 MongoDB 在启用journaling的情况下运行。

Warning

如果服务器在将事件提交到审核日志之前终止,则 MongoDB 可能会丢失事件。在 MongoDB 提交审核日志之前,Client 端可能会收到事件确认。例如,在审核聚合操作时,服务器可能在返回结果之后但在刷新审核日志之前崩溃。

[1]审核配置可以包括filter以限制要审核的事件。