Docs 主页 → 开发应用程序 → MongoDB Manual
配置审查
在此页面上
注意
MongoDB Atlas 中的审核
MongoDB Atlas 支持对所有 M10
和更大的集群进行审核。 Atlas 支持指定 JSON 格式的审核筛选器(如配置审核筛选器中所述),并使用 Atlas 审核筛选器构建器来简化审核配置。要了解更多信息,请参阅 Atlas 文档中的 设置数据库审核和配置自定义审核筛选器。
MongoDB Enterprise支持对各种操作进行审核。完整的审核解决方案必须涉及所有mongod
服务器和mongos
路由器进程。
审核工具可将审核事件写入控制台、系统日志(该选项在 Windows 上不可用)、JSON 文件或 BSON 文件。有关已审核操作和审核日志消息的详细信息,请参阅系统事件审核消息。
启用和配置审核输出
要在 MongoDB Enterprise 中启用审核,请使用 --auditDestination
设置审核输出目标。
输出到系统日志
要启用审核并将审核事件打印到系统日志(该选项在 Windows 上不可用),请为 --auditDestination
设置指定 syslog
。例如:
mongod --dbpath data/db --auditDestination syslog
根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip
。
警告
系统日志消息限制可能会导致审核消息被截断。审核系统既不会检测此类截断,也不会在其出现时报错。
您还可以在配置文件中指定这些选项:
storage: dbPath: data/db auditLog: destination: syslog
输出到控制台
要启用审核并将审核事件打印到标准输出(即 stdout
),请为 --auditDestination
设置指定 console
。例如:
mongod --dbpath data/db --auditDestination console
根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip
。
您还可以在配置文件中指定这些选项:
storage: dbPath: data/db auditLog: destination: console
输出到 JSON 文件
要启用审核并将审核事件打印到 JSON 格式的文件中,请指定以下选项:
选项 | 值 |
---|---|
file | |
JSON | |
输出文件名。接受完整路径名称或相对路径名称。 |
例如,以下命令启用审核功能,并将审核事件记录到相对路径名为 data/db/auditLog.json
的文件:
mongod --dbpath data/db --auditDestination file --auditFormat JSON --auditPath data/db/auditLog.json
根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip
。
可使用 logRotate
命令轮换审核文件(与服务器日志一起,或单独轮换)。可使用 systemLog.logRotate
配置文件选项或 --logRotate
命令行选项来配置轮换的具体参数。
您还可以在配置文件中指定这些选项:
storage: dbPath: data/db auditLog: destination: file format: JSON path: data/db/auditLog.json
注意
与以 BSON 格式打印相比,将 Atlas 审核事件以 JSON 格式打印到文件更可能导致服务器性能下降。
输出到 BSON 文件
要启用审核并将审核事件打印到 BSON 二进制格式的文件,请指定以下选项:
选项 | 值 |
---|---|
file | |
BSON | |
输出文件名。接受完整路径名称或相对路径名称。 |
例如,以下命令会启用审核并将审核事件记录到相对路径名为 data/db/auditLog.bson
的 BSON 文件中:
mongod --dbpath data/db --auditDestination file --auditFormat BSON --auditPath data/db/auditLog.bson
根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip
。
审核文件会与服务器日志文件同时rotated
。可使用 systemLog.logRotate
配置文件选项或 --logRotate
命令行选项来配置轮换的具体参数。
您还可以在配置文件中指定这些选项:
storage: dbPath: data/db auditLog: destination: file format: BSON path: data/db/auditLog.bson
以下示例使用bsondump
将审核日志转换为可读形式并输出结果:
bsondump data/db/auditLog.bson
运行时审核过滤器管理
从 MongoDB 5.0 开始,可在运行时配置审核筛选器。较之在本地 mongod
或 mongos
配置文件中指定的审核筛选器配置,运行时审核筛选器管理具有三个优点:
将关注分离
在 MongoDB 5.0 之前,审核 MongoDB mongod
或 mongos
实例的所有人员均须具有对主机服务器文件系统的写入权限才能更新审核筛选器。运行时审核筛选器管理通过将审核访问与管理访问进行分离来提高安全性。
使用运行时审核筛选器管理而不是直接编辑配置文件意味着:
运行时可配置性
从 MongoDB 5.0 开始,启用运行时审核筛选器管理后,可在运行时重新配置审核,而无需重启 mongod
或 mongos
实例。静态配置的实例必须重新启动才能更新其审核设置。
关闭并重新启动实例时,在运行时所做的审核筛选器修改仍会存在。
一致性(Consistency)
在集群内,如果将所有 mongod
和 mongos
参与节点均配置为使用运行时审核筛选器管理,则每个节点均会使用相同的审核筛选器。相反,如果每个节点均有自己在本地配置的审核筛选器,则无法保证各节点间审核筛选器的一致性。
启用运行时 Atlas 审核过滤器管理
从 MongoDB 5.0 开始,可在运行时配置 mongod
和 mongos
节点的审核配置。一组这样的节点可以参与分布式审核配置。
要将节点包含在分布式审核配置中,请按如下方式更新节点的配置文件并重新启动服务器。
如果出现以下情况,服务器将记录错误并无法启动:
runtimeConfiguration
为true
并且
要在运行时修改审核筛选器和 auditAuthorizationSuccess
参数,请参阅 setAuditConfig
。