对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

getAuditConfig(数据库命令)

getAuditConfig

版本 5.0 中的新增功能。

getAuditConfig是管理命令,用于从mongod和mongos服务器实例检索审核配置。

此命令可用于以下环境中托管的部署:

该命令具有以下语法:

db.adminCommand( { getAuditConfig: 1 })

必须启用审核功能才能使用getAuditConfig 。

未参与运行时审核配置的节点将返回其auditLog.filter和setParameter.auditAuthorizationSuccess的当前配置文件设置。

参与运行时审核的节点从内存中合成其当前配置。 配置更新通过oplog机制分发,这意味着mongod节点上的更新会非常快速地分发到从节点。 但是, mongos节点上的分发机制有所不同。 mongos节点必须定期poll主服务器以进行配置更新。 在分片轮询主服务器以获取更新的配置详细信息之前,如果您在主服务器上运行setAuditConfig并在分片上运行 { getAuditConfig },则可能会由于轮询延迟而看到过时数据。

注意

如果您正在编写自动审核脚本,请注意,mongosh 和旧版 mongo shell之间用于表示集群签名的引号样式和类型有所不同。 在mongosh中,类型为 Binary 和 Long。 传统 shell 中的对应类型是 BinData 和 NumberLong。

// mongoshsignature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0")} // mongo"signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : Long(0) }

在admin数据库上运行getAuditConfig 。

db.adminCommand({getAuditConfig: 1})

示例服务器配置为审核读取和写入操作。 它有一个过滤器,用于捕获所需的操作,并且auditAuthorizationSuccess值已设置为true 。

{ generation: ObjectId("60e73e74680a655705f16525"), filter: { atype: 'authCheck', 'param.command': { '$in': [ 'find', 'insert', 'delete', 'update', 'findandmodify' ] } }, auditAuthorizationSuccess: true, ok: 1, '$clusterTime': { clusterTime: Timestamp(1, 1625767540), signature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0") } }, operationTime: Timestamp(1, 1625767540)}
给本页内容打分