SQL审计功能可以实时记录数据库DML和DDL操作信息,并提供数据库操作信息的检索功能。

使用限制

SQL审计日志不记录以下操作:

  • INSERT INTO VALUES

  • REPLACE INTO VALUES

  • UPSERT INTO VALUES

开启/关闭SQL审计

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。

  2. 进入SQL审计页面。

    • 数仓版集群,在左侧导航栏,单击数据安全,然后单击SQL审计

    • 企业版、基础版及湖仓版集群,在左侧导航栏,单击集群管理 > SQL审计

  3. 单击右侧SQL审计配置

  4. 在弹出的对话框中,选择并单击确定

    1

  5. 如不再使用SQL审计功能,可以重复步骤1~4,打开SQL审计配置弹窗,选择

    重要

    SQL审计功能关闭后,SQL审计日志会被清空。请先查询和导出SQL审计日志,再关闭SQL审计功能。具体操作,请参见查询和导出SQL审计日志。当再次打开审计日志,审计日志将从最近一次打开审计日志的时间开始展示。

查询和导出SQL审计日志

SQL审计页面,用户可以根据SQL的操作类型执行状态等条件查询特定时间段内的SQL审计内容。

说明
  • 仅支持查询最近30天内的SQL审计内容。超过30天,查询为空。

  • 单次查询时间范围不能超过24小时。若需要保存当前页面内容至本地,单击导出当前页即可。

常见问题

Q:为什么INSERT OVERWRITE语句会记录两条审计日志,其中一条的访问源地址不是实际的客户端IP地址?

A:INSERT OVERWRITE语句是在AnalyticDB for MySQL内部异步执行的。接入层节点负责将查询任务分配到不同的存储节点,并将最终结果给客户端。因此审计日志不仅记录发起请求的客户端IP,还会记录AnalyticDB for MySQL接入层节点的IP。

相关API

产品系列

API

数仓版

DescribeAuditLogConfig - 查询集群审计日志设置

ModifyAuditLogConfig - 修改审计日志设置

DescribeAuditLogRecords - 查询集群的SQL审计日志

企业版、基础版及湖仓版

ModifyAuditLogConfig - 修改SQL审计日志设置

DescribeAuditLogRecords - 查询SQL审计日志