在本页面
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"
db
param
下面的示例通过使用过滤器仅审核authenticate
针对test
数据库发生的操作:
要指定审核过滤器,请将过滤器文档括在单引号中,以将文档作为字符串传递。
包括配置所需的其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员在不同的主机上运行,请指定
--bind_ip
。有关更多信息,请参见
Localhost绑定兼容性更改。
要在配置文件中指定审核过滤器,必须使用配置文件的YAML格式。
要过滤authenticate
跨数据库的所有操作,请使用filter 。{ atype: "authenticate" }
该<field>
可以包括在审核消息的任何领域。对于集合创建和删除操作(即和),审核消息
在文档中包括名称空间字段。atype: "createCollection"
atype:
"dropCollection"
ns
param
以下示例使用过滤器仅审核针对数据库发生的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 ; 但是,所有操作都将返回成功以进行授权检查。 |