在本页面
MongoDB Atlas中的审核
MongoDB Atlas支持对所有M10更大的集群进行审核。Atlas支持如下文所述指定JSON格式的审核过滤器,并使用Atlas审核过滤器构建器来简化审核配置。要了解更多信息,请参阅Atlas文档中的“
设置数据库审核
和
配置自定义审核过滤器”。
MongoDB Enterprise
支持审核各种操作。当
启用,审计工具,默认情况下,记录在列举了所有审计业务
审计事件操作,细节和结果。要指定要记录的事件,审核功能包括该--auditFilter选项。
注意
开始在MongoDB中3.6,mongod并mongos
绑定默认为localhost。如果部署的成员在不同的主机上运行,或者希望远程客户端连接到部署,则必须指定--bind_ip或
net.bindIp。有关更多信息,请参见
Localhost绑定兼容性更改。
--auditFilter选项¶该--auditFilter选项采用以下形式的查询文档的字符串表示形式:
<field>可以是在该监查消息的任何字段,包括在返回的字段
PARAM文档。<expression>是一个查询条件表达式。要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
以下示例通过使用过滤器仅审核createCollection
和dropCollection操作:
要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
包括配置所需的其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员在不同的主机上运行,请指定
--bind_ip。有关更多信息,请参见
Localhost绑定兼容性更改。
该<field>可以包括在审核消息的任何领域。对于身份验证操作(即
),审核消息在文档中包括一个字段。atype: "authenticate"dbparam
下面的示例通过使用过滤器仅审核authenticate针对test数据库发生的操作:
要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
包括配置所需的其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员在不同的主机上运行,请指定
--bind_ip。有关更多信息,请参见
Localhost绑定兼容性更改。
要在配置文件中指定审核过滤器,必须使用配置文件的YAML格式。
要过滤authenticate跨数据库的所有操作,请使用filter 。{ atype: "authenticate" }
该<field>可以包括在审核消息的任何领域。对于集合创建和删除操作(即和),审核消息
在文档中包括名称空间字段。atype: "createCollection"atype:
"dropCollection"nsparam
以下示例使用过滤器仅审核针对数据库发生的createCollection和
dropCollection操作test:
注意
正则表达式需要两个反斜杠(\\)来使点(.)转义。
要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
包括配置所需的其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员在不同的主机上运行,请指定
--bind_ip。有关更多信息,请参见
Localhost绑定兼容性更改。
以下示例通过使用过滤器来审核具有数据库readWrite角色的用户
的test操作,包括具有从继承角色的角色的用户readWrite:
要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
包括配置所需的其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员在不同的主机上运行,请指定
--bind_ip。有关更多信息,请参见
Localhost绑定兼容性更改。
要在审核中进行捕获read和write操作,还必须使审核系统能够使用auditAuthorizationSuccess参数记录授权成功。
[1]
注意
auditAuthorizationSuccess与仅记录授权失败相比,启用会使性能下降更多。
下面的例子来审计find(),
insert(),remove(),
update(),save(),和
findAndModify()使用该滤波器的操作:
要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
包括配置所需的其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员在不同的主机上运行,请指定
--bind_ip。有关更多信息,请参见
Localhost绑定兼容性更改。
要在审核中进行捕获read和write操作,还必须使审核系统能够使用auditAuthorizationSuccess参数记录授权成功。
[1]
注意
auditAuthorizationSuccess与仅记录授权失败相比,启用会使性能下降更多。
下面的例子来审计find(),
insert(),remove(),
update(),save(),以及
findAndModify()为集合操作
orders在数据库中test使用过滤器:
要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
包括配置所需的其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员在不同的主机上运行,请指定
--bind_ip。有关更多信息,请参见
Localhost绑定兼容性更改。
要在配置文件中指定审核过滤器,必须使用配置文件的YAML格式。
| [1] | (1,2)可以启用auditAuthorizationSuccess
参数不启用--auth; 但是,所有操作都将返回成功以进行授权检查。 |