云数据库MongoDB基于阿里云日志服务SLS(Log Service),推出审计日志功能,为您提供日志的查询、在线分析、导出等功能,帮助您时刻掌握产品安全及性能情况。

应用场景

云数据库MongoDB将阿里云日志服务的部分功能融合到审计日志中,为您带来更加稳定、易用、灵活且高效的审计日志服务。应用场景如下:
应用场景 说明
操作审查 定位数据修改的操作者身份或时间点等信息,帮助识别是否存在滥用权限、执行非合规命令等内部风险。
安全合规 帮助业务系统通过安全规范中关于审计部分的要求。

前提条件

  • 实例规格类型为通用型本地盘版独享型本地盘版
  • 如果使用RAM用户开通审计日志,需要授予RAM用户AliyunLogFullAccess权限。如何授权,请参见为RAM用户授权
  • 如果使用RAM用户访问审计日志,需要授予RAM用户AliyunLogFullAccess或者AliyunLogReadOnlyAccess权限。如何授权,请参见为RAM用户授权
    您也可以仅按照日志库(Logstore)维度,创建自定义权限策略,授予RAM用户日志服务的所有权限或者只读权限。如何授权,请参见创建自定义权限策略。策略内容如下:
    • 所有权限:
      {
        "Version": "1",
        "Statement": [
          {
            "Action": "log:*",
            "Resource": "acs:log:*:*:project/nosql-*",
            "Effect": "Allow"
          }
        ]
      }
    • 只读权限:
      {
        "Version": "1",
        "Statement": [
          {
              "Action": [
                "log:Get*",
                "log:List*"
              ],
            "Resource": "acs:log:*:*:project/nosql-*",
            "Effect": "Allow"
          }
        ]
      }

注意事项

  • 开通审计日志后,系统将记录写操作的审计信息,写入量或审计量可能会对云数据库MongoDB实例造成5%~15%的性能损失及一定的延时抖动。
    说明 如果您的业务对云数据库MongoDB实例的写入量非常大(例如大量使用INCR进行计数),建议仅在故障排查或安全审计时开通该功能,以免带来性能损失。
  • 开通审计日志后,默认勾选的审计操作类型只有adminslow。如果您需要审计其他操作类型,可以更改审计操作类型,更改方法请参见更改审计操作类型
  • 设置日志保留时长的操作对当前地域下的所有云数据库MongoDB实例生效,其他操作均只对当前实例生效。
  • 如果您已开通免费试用版审计日志,但需要更长的保留时间或用更大的存储空间来存储审计日志,您可以将其升级为正式版审计日志,升级方法请参见升级为正式版审计日志

费用说明

正式版审计日志根据审计日志的存储用量和保存时长按量收费,收费标准请参见云数据库MongoDB详细价格信息

您也可以使用如下方法减少审计日志的费用。

方法 风险 参考文档
缩短审计日志保留天数 会使可追溯审计的历史时间缩短。 更改审计日志的保留时长
减少审计操作类型 取消指定的审计操作类型后,将停止上传该审计操作类型的审计日志。
说明 审计操作类型被取消后,仅保留该审计操作类型在保留时长内的审计日志数据。

例如:您设置的审计日志保留时长为5天,审计操作类型为adminslowquery。如果您在2022年10月10日00:00:00取消query,则之后不会保存query产生的审计日志,且2022年10月05日00:00:00~2022年10月10日00:00:00时间段内query产生的审计日志也会逐渐过期,并在过期后被自动删除。

更改审计操作类型
关闭审计日志 关闭审计日志后,将停止上传该实例的审计日志,不可再追溯审计后续的访问操作行为。
说明 关闭审计日志后,仅保留在保留时长内的审计日志数据。

例如:您设置的审计日志保留时长为5天,如果您在2022年10月10日00:00:00关闭审计日志,则不会保存之后产生的审计日志,且2022年10月05日00:00:00~2022年10月10日00:00:00的审计日志也会逐渐过期,并在过期后被自动删除。

关闭审计日志

操作步骤

  1. 登录MongoDB管理控制台
  2. 根据实例类型,在左侧导航栏,单击副本集实例列表分片集群实例列表
  3. 在页面左上角,选择实例所在的资源组和地域。
  4. 单击目标实例ID或目标实例所在行操作列的更多,并选择管理
  5. 在目标实例页面的左侧导航栏,单击数据安全性 > 审计日志
  6. 可选:如果当前账号未开通日志服务功能,您需要单击MongoDB服务关联角色页面的开通授权,完成AliyunServiceRoleForMongoDB角色的创建。更多信息,请参见MongoDB服务关联角色
  7. 欢迎使用新版审计日志页面,设置日志保留时长
    说明
    • 日志保留时长的取值范围为1~365天,默认30天。
    • 日志保留时长对当前实例所在地域的所有实例生效,建议您在确定好同一地域内所有实例的审计日志的保留时长后进行设置。
  8. 单击开通服务
    说明 开通审计日志服务的同时,云数据库MongoDB会自动获取AliyunServiceRoleForMongoDB角色,以实现日志服务向云数据库MongoDB授权审计日志功能的目的。
  9. 在弹出的开通服务对话框中,阅读提示信息后单击确定

相关任务

开通审计日志后,您可以在Mongo审计日志中心页面上方,查看当前实例的审计日志存储用量。查看审计日志存储用量

相关API

接口 说明
DescribeAuditPolicy 查询云数据库MongoDB审计日志是否开启。
ModifyAuditPolicy 开通或关闭云数据库MongoDB审计日志,并设置日志保留时长。

相关文档