Docs 菜单
Docs 主页
/
MongoDB 阿特拉斯
/

设置数据库审核

在此页面上

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

注意

  • 此功能不适用于 M0免费集群、 M2M5集群。要了解更多信息,请参阅 Atlas M 0 (免费集群)、M 2和 M 5限制。

  • 无服务器实例目前不支持此功能。要了解更多信息,请参阅无服务器实例限制

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

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

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

重要

执行全面数据库审核

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

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

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

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

事件操作
说明
authChecksReadFailures
authCheckauditAuthorizationSuccess参数设置为 false 的情况下,针对所有失败读取的事件操作。此事件操作是与读取相关的事件操作的默认设置。
authChecksReadAll

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

警告

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

authChecksWriteFailures
authCheckauditAuthorizationSuccess参数设置为 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 检索审核日志,请参阅日志。

注意

Atlas 支持指定 JSON 格式的审核筛选器以自定义MongoDB 审核。

自定义审核筛选器使用户可以放弃托管 Atlas UI 审核筛选器生成器,转而使用手工量身定制的事件审核精细控制。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

来年

访问历史