Docs 菜单
Docs 主页
/
MongoDB Atlas
/

设置数据库审核

在此页面上

  • 必需的访问权限
  • 步骤
  • 配置自定义审核筛选器
  • 审核筛选器示例

注意

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

  • 无服务器实例

  • M0 集群

  • M2/M5 集群

  • Flex 集群

要学习;了解详情,请参阅 限制。

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

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

重要

执行全面数据库审核

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

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

authCheck Reads
authCheck Writes

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

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

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

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

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

authCheck 所有写入的事件操作,包括写入成功和写入失败。此事件操作与 authChecksWriteFailures 相同,但 auditAuthorizationSuccess 参数设置为“真”。

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

要了解 MongoDB 如何将审核事件写入到磁盘,请参阅《MongoDB 手册》中的审核保证

要配置审核日志,必须对待更新项目具有 Project Owner 访问权限,或者对包含待更新项目的组织具有 Organization Owner 访问权限。

注意

要了解有关审核临时数据库用户操作的最佳实践,请参阅审核临时数据库用户

采取以下步骤设置数据库审计:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Advanced

    显示“高级”页面。

2
3

默认情况下,Atlas 在节点的审核日志记录已知和未知用户失败的身份验证尝试。

4

或者,单击 Use Custom JSON Filter(使用自定义 JSON 过滤器)以 JSON 字符串的形式手动输入审核过滤器。有关在 Atlas 中配置自定义审核过滤器的更多信息,请参阅配置自定义审核过滤器。

5

注意

取消选择authenticate操作可防止 Atlas 审核身份验证失败。

注意

authCheck 事件操作选择审核授权成功粒度时,Atlas 不支持读取和写入的不同选择。例如,您不能为 authCheck Reads 选择 Successes and Failures ,也不能为 authCheck Writes 选择 Failures。如果您同时选择 authCheck ReadsauthCheck Writes,Atlas 会自动将所选粒度应用于两者。

6

要检索 Atlas 中的审核日志,请参阅 MongoDB 日志。要使用 API 检索审核日志,请参阅日志

注意

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

  • 无服务器实例

  • M0 集群

  • M2/M5 集群

  • Flex 集群

要学习;了解更多信息,请参阅限制。

Atlas 支持指定 JSON 格式的审核过滤器,以自定义 MongoDB 审核。

自定义Atlas 审核筛选器允许用户放弃托管Atlas用户界面审核过滤器构建器,转而对事件审核进行手工定制的精细控制。 Atlas仅检查自定义过滤是否使用有效的JSON语法,而不会验证或测试筛选器的功能。

审核过滤器文档必须解析为与审核事件消息中的一个或多个字段匹配的查询。过滤器文档可以使用查询操作符和等值条件的组合来匹配所需的审核消息。

如需查看示例审核过滤器,请参阅示例审核过滤器。如需了解有关配置 MongoDB 审核过滤器的更多信息,请参阅配置审核过滤器

重要

Atlas 采用滚动升级策略,在 Atlas 项目的所有集群中启用或更新审核配置设置。滚动升级要求每个副本集至少进行一次选举。

要详细了解如何测试应用程序对副本集选举的弹性,请参阅测试主故障转移。要了解有关 Atlas 如何提供高可用性的更多信息,请参阅 Atlas 高可用性

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Advanced

    显示“高级”页面。

2
3
4
5

警告

启用 Audit authorization successes 会严重影响集群性能。请谨慎启用此选项。

对于指定 authCheck 操作类型的审核过滤器,审核系统默认只记录指定 param.command 的授权失败情况。启用 Audit authorization successes 会指示审核系统同时记录授权成功情况。请参阅 auditAuthorizationSuccess 了解更多信息

6

您可以随时编辑筛选器:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Advanced

    显示“高级”页面。

2
  1. Database Auditing(数据库审核) Configure Your Auditing Filter (配置审核过滤器)下,单击 Use Custom JSON Filter(使用自定义 JSON 过滤器)。

  2. 进行所需的更改。

  3. 单击 Save(连接)。

要使用 Atlas CLI 返回指定项目的审核配置, 请运行以下命令:

atlas auditing describe [options]

要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas auditing describe

提示

请参阅:相关链接

要在 Atlas 用户界面中查看您的自定义审核过滤器,请执行以下操作:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Advanced

    显示“高级”页面。

2

您的自定义审核过滤器显示在 Database Auditing 下方。

使用以下审核筛选器示例,指导您构建自己的筛选器。

重要

这些示例不适合在生产环境中使用,也不能取代熟练使用 MongoDB 审核文档

{
"atype": "authenticate"
}
{
"$or": [
{
"users": []
},
{
"atype": "authenticate"
}
]
}

注意

需要执行 authenticate 操作,以记录已知用户和未知用户的身份验证失败事件。

{
"atype": "authenticate",
"param": {
"user": "myClusterAdministrator",
"db": "admin",
"mechanism": "SCRAM-SHA-256"
}
}
{
"atype": "authCheck",
"param.command": {
"$in": [
"insert",
"update",
"delete"
]
}
}

后退

Google Cloud KMS