MongoDB Manual (Version 4.2)> Security > Auditing
- 启用和配置审计输出
- 审计事件和过滤器
- 审计保证
MongoDB 企业版包含针对 mongod 和 mongos 实例的审计功能 。审计功能使管理员和用户可以跟踪具有多个用户和多个客户端应用的 mongodb 的运行情况。
启用和配置审核输出
审核功能可以将审核事件写入控制台console,syslog,JSON 文件或 BSON 文件。要为 MongoDB 企业版启用审核,请参阅配置审核。
有关审核日志消息的信息,请参阅系统事件审核消息。
审核事件和过滤器
启用后,审核系统可以记录以下操作[1]:
- 模式(DDL),
- 副本集集群和分片集群,
- 认证和授权,以及
- CRUD操作(要求auditAuthorizationSuccess设置为true)。
有关审核的操作的详细信息,请参阅审核事件操作,详细信息和结果。
使用审核系统,您可以设置过滤器以限制捕获的事件。要设置过滤器,请参阅“配置审核过滤器”。
[1]一个被中止的事务中的操作仍会生成审核事件。但是,没有一个审核事件指示事务被中止了。
审计保证
审核系统将每个审核事件[2]写入审核事件的内存缓冲区中。MongoDB定期将此缓冲区写入磁盘。对于从任何单个连接收集的事件,这些事件具有总顺序:如果MongoDB将一个事件写入磁盘,系统将保证已将该连接的所有先前事件写入磁盘。
如果审计事件条目对应的操作影响数据库的持久状态,如修改数据的操作,则MongoDB始终会在将审核事件写入磁盘之前将事件条目写入日志。
也就是说,在将操作添加到日志之前,MongoDB会在触发该操作的连接上写入所有审核事件,直到并包括该操作的条目。
这些审核保证要求MongoDB在journaling启用的情况下运行 。
警告
如果服务器在将事件提交到审核日志之前终止,则MongoDB可能会丢失事件。在MongoDB提交审核日志之前,客户端可能会收到事件确认。 例如,在审核聚合操作时,服务器可能在返回结果之后但在刷新审核日志之前崩溃。
[2]审核配置可以包括一个筛选器,以限制要审核的事件。
更多内容请查看——
配置审计:
https://docs.mongodb.com/manual/tutorial/configure-auditing/
配置审核过滤器:
https://docs.mongodb.com/manual/tutorial/configure-audit-filters/
系统事件审核消息:
https://docs.mongodb.com/manual/reference/audit-message/
译者:谢伟成 MongoDB中文社区翻译小组成员
原文链接:
https://docs.mongodb.com/manual/core/auditing/