Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

getAuditConfig

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 行为
  • 示例

重要

在版本7.1中已弃用: 请改用 auditConfig集群参数。

getAuditConfig

版本 5.0 中的新增功能

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

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

  • MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本

  • MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本

重要

MongoDB Atlas集群不支持此命令。有关Atlas支持所有命令的信息,请参阅不支持的命令。

该命令具有以下语法:

db.adminCommand(
{
getAuditConfig: 1
}
)

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

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

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

注意

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

// mongosh
signature: {
hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0),
keyId: Long("0")
}
// mongo
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(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)
}

提示

另请参阅:

后退

fsyncUnlock