配置审核日志
注意
此功能不适用于以下任何部署:
无服务器实例
M0
集群M2/M5
集群Flex 集群
您可以使用Atlas Kubernetes Operator配置Atlas 审核日志。要学习;了解详情,请参阅 设置数据库审核。
数据库审核使管理员追踪具有多个用户的部署的系统活动。Atlas 管理员可以选择要审核的操作、数据库用户、Atlas 角色和 LDAP 群组。Atlas 支持审核大多数记录的系统事件操作,但有以下限制:
当Atlas user在集群上的Atlas用户界面中执行操作时,审核日志和
mongodb.log
文件都会将mms-automation
数据库用户记录为执行可审核操作的用户。 但是,项目操作日志会记录负责该操作的Atlas user的实际用户名。Atlas 审核日志不追踪用户创建或修改事件,因为 Atlas 直接在
admin
数据库中执行这些操作。
authCheck
事件操作将记录试图对项目集群中的数据库执行读取和写入的用户的授权尝试。Atlas 会审核以下特定命令:
authCheck Reads | authCheck Writes |
---|---|
[1] | (1、2、3) MongoDB 4.2 版本及更高版本不支持这些命令。 |
Atlas 将 authCheck
事件操作实现为以下四个单独的操作:
事件操作 | 说明 |
---|---|
|
|
|
警告:如果启用auditAuthorizationSuccess ,可能会严重影响集群性能。 请谨慎启用此选项。 |
|
|
|
警告:如果启用auditAuthorizationSuccess ,可能会严重影响集群性能。 请谨慎启用此选项。 |
要了解 MongoDB 如何将审核事件写入到磁盘,请参阅《MongoDB 手册》中的审核保证。
必需的访问权限
要配置Atlas 审核日志,您必须对要更新的项目具有Project Owner
访问权限,或对包含要更新的项目的组织具有Organization Owner
访问权限。
启用审核日志
注意
要学习;了解审核临时数据库用户操作的最佳实践,请参阅审核临时数据库用户。
AtlasProject
要启用Atlas 审核日志,请在 自定义资源 中将spec.auditing.enabled
设立为 。true
示例:
cat <<EOF | kubectl apply -f - apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: TestAuditing connectionSecretRef: name: my-atlas-key projectIpAccessList: - cidrBlock: "0.0.0.0/1" comment: "Everyone has access. For test purposes only." - cidrBlock: "128.0.0.0/1" comment: "Everyone has access. For test purposes only." auditing: enabled: true EOF
要在 Atlas 中检索审核日志,请参阅MongoDB 日志。 要使用 API 检索审核日志,请参阅日志。
配置自定义审核筛选器
注意
此功能不适用于以下任何部署:
无服务器实例
M0
集群M2/M5
集群Flex 集群
Atlas 支持指定 JSON 格式的审核过滤器,以自定义 MongoDB 审核。
自定义审核筛选器可让用户放弃托管 Atlas 用户界面审核筛选器构建器,转而对事件审核进行手工定制的精细控制。 Atlas 仅检查自定义筛选器是否使用有效的 JSON 语法,而不会验证或测试筛选器的功能。
审核过滤器文档必须解析为与审核事件消息中的一个或多个字段匹配的查询。过滤器文档可以使用查询操作符和等值条件的组合来匹配所需的审核消息。
如需查看示例审核过滤器,请参阅示例审核过滤器。如需了解有关配置 MongoDB 审核过滤器的更多信息,请参阅配置审核过滤器。
重要
Atlas使用滚动升级策略来启用或更新Atlas项目中所有集群的Atlas 审核配置设置。 滚动升级要求每个副本集至少进行一次选举。
要了解有关测试应用程序对副本集选举的弹性的更多信息,请参阅/tutorial/test-resilience/test-primary-failover 。 要了解有关 Atlas 如何提供高可用性的更多信息,请参阅Atlas 高可用性。
To configure a custom auditing filter, specify the spec.auditing.auditFilter
setting in the AtlasProject
Custom Resource. 要为此设置指定值,必须将spec.auditing.enabled
设为true
。
示例:
cat <<EOF | kubectl apply -f - apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project spec: name: TestAuditing connectionSecretRef: name: my-atlas-key projectIpAccessList: - cidrBlock: "0.0.0.0/1" comment: "Everyone has access. For test purposes only." - cidrBlock: "128.0.0.0/1" comment: "Everyone has access. For test purposes only." auditing: enabled: true auditFilter: "{"atype": "authenticate"}" EOF
要详细了解 API提供的配置参数,请参阅 Atlas审核。