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

auditConfig

在本页中

  • 定义
  • 语法
  • 参数字段
  • 行为
  • 检索审计配置
  • 设置审计配置
  • 示例
  • 了解更多信息
auditConfig

版本中7.1.

适用于mongodmongos

包含来自 mongodmongos 服务器实例的审计配置信息的对象。

要在您的部署中设置 auditConfig,请在 admin 数据库上运行以下命令

db.adminCommand( { setClusterParameter: { auditConfig: <value> } } )

要查看当前集群参数 auditConfig 的值,请在 admin 数据库上运行以下命令

db.adminCommand( { getClusterParameter: "auditConfig" } )
auditConfig.auditAuthorizationSuccess

类型: 布尔型

默认值: false

启用对 审计 操作中授权成功的 authCheck 行为。

要审计读/写操作,必须将 auditConfig.auditAuthorizationSuccess 设置为 true

auditConfig.auditAuthorizationSuccessfalse 时,审计系统仅记录 authCheck 的授权失败。当 auditAuthorizationSuccessfalse 时,审计对性能的影响较小,因为审计系统仅记录授权失败。

auditConfig.filter

类型: 文档

默认值: 无

过滤表达式,用于控制 哪些类型的操作 被审计系统记录。

文档字段可以是 审计消息中的任何字段,包括在 param 文档中返回的字段。字段值是 查询条件表达式

要查看示例过滤文档,请参阅示例部分.

必须启用审计才能使用 auditConfig

如果启用了 运行时审计配置,则 auditAuthorizationSuccess 参数不会出现在 mongodmongos 配置文件中。如果存在该参数,则服务器将无法启动。

如果对 auditConfig 运行 getClusterParameter,则不参与运行时审计配置的节点将返回其当前配置文件设置 auditLog.filtersetParameter.auditAuthorizationSuccess

使用 setClusterParameter 设置审计配置时,更改将立即对所有分片集群中的所有 配置服务器 和分片生效。

设置过宽的审计过滤器或启用 auditConfig.auditAuthorizationSuccess 可能会降低性能。

以下示例使用 setClusterParameter 命令在创建或删除集合时启用审计。审计消息已重新格式化。它们在日志文件中显示为单行。

db.adminCommand(
{
setClusterParameter: {
auditConfig: {
filter: {
atype: {
$in: [ "createCollection", "dropCollection" ]
}
},
auditAuthorizationSuccess: false
}
}
}
)

设置 auditConfig 参数后,如果您在 sales 数据库中创建一个 inventory 集合,审计系统会记录类似以下的消息

{
"atype" : "createCollection",
"ts" : { "$date" : "2021-08-09T13:45:05.372+00:00" },
"uuid" : { "$binary" : "RKU/YLizS6K9se2GUU7ZVQ==", "$type" : "04" },
"local" : { "ip" : "127.0.0.1", "port" : 27502 },
"remote" : { "ip" : "127.0.0.1", "port" : 51918 },
"users" : [],
"roles" : [],
"param" : { "ns" : "sales.inventory" },
"result" : 0
}

如果从 sales 数据库中删除 inventory 集合,审计系统会记录类似以下的消息

{
"atype" : "dropCollection",
"ts" : { "$date" : "2021-08-09T13:45:00.661+00:00" },
"uuid" : { "$binary" : "0gle4/pSQli+LUcz43ykag==", "$type" : "04" },
"local" : { "ip" : "127.0.0.1", "port" : 27502 },
"remote" : { "ip" : "127.0.0.1", "port" : 51928 },
"users" : [],
"roles" : [],
"param" : { "ns" : "sales.inventory" },
"result" : 0
}

返回

服务器参数