文档菜单
文档首页
/
MongoDB 手册
/ / /

获取审计配置

本页内容

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

重要

自版本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节点必须定期轮询主服务器以获取配置更新。如果您在将配置更新到主服务器并在碎片轮询主服务器以获取更新配置详细信息之前在碎片上运行setAuditConfiggetAuditConfig,您可能会看到因轮询延迟而产生的不一致数据。

注意

如果您正在编写自动化审计脚本,请注意,在表示集群签名的引号样式和类型之间,mongosh和旧版mongo外壳之间有所不同。在mongosh中,类型是Binary和Long。旧版外壳中相应的类型是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