Docs 菜单
Docs 主页
/ /
MongoDB Atlas Kubernetes Operator
/

配置审核日志

在此页面上

  • 必需的访问权限
  • 启用审核日志
  • 配置自定义审核筛选器

注意

此功能不适用于以下任何部署:

  • 无服务器实例

  • M0 集群

  • M2/M5 集群

  • Flex 集群

您可以使用Atlas Kubernetes Operator配置Atlas 审核日志。要学习;了解详情,请参阅 设置数据库审核。

数据库审核使管理员追踪具有多个用户的部署的系统活动。Atlas 管理员可以选择要审核的操作、数据库用户、Atlas 角色和 LDAP 群组。Atlas 支持审核大多数记录的系统事件操作,但有以下限制:

  • 当Atlas user在集群上的Atlas用户界面中执行操作时,审核日志和 mongodb.log 文件都会将 mms-automation 数据库用户记录为执行可审核操作的用户。 但是,项目操作日志会记录负责该操作的Atlas user的实际用户名。

  • Atlas 审核日志不追踪用户创建或修改事件,因为 Atlas 直接在 admin 数据库中执行这些操作。

重要

执行全面数据库审核

由于这些限制,您必须结合使用审核日志、 mongodb.log项目操作日志来执行全面审核。

authCheck 事件操作将记录试图对项目集群中的数据库执行读取和写入的用户的授权尝试。Atlas 会审核以下特定命令:

authCheck Reads
authCheck Writes
[1]123 MongoDB 4.2 版本及更高版本不支持这些命令。

Atlas 将 authCheck 事件操作实现为以下四个单独的操作:

事件操作
说明

authChecksReadFailures

authCheck 事件操作,适用于当 auditAuthorizationSuccess 参数设置为 false 时的所有失败的读取。此事件操作是与读取相关的事件操作的默认设置。

authChecksReadAll

authCheck 事件操作(针对包括成功和失败的所有读取)。此事件操作与 authChecksReadFailures 相同,但 auditAuthorizationSuccess 参数设置为“真”。

警告:如果启用auditAuthorizationSuccess ,可能会严重影响集群性能。 请谨慎启用此选项。

authChecksWriteFailures

authCheck 事件操作,适用于当 uditAuthorizationSuccess 参数设置为 false 时的所有失败的读取。该事件操作是写相关事件操作的默认操作。

authChecksWriteAll

authCheck 所有写入的事件操作,包括写入成功和写入失败。此事件操作与 authChecksWriteFailures 相同,但 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审核。

后退

项目警报