华为云云数据库GaussDB查看审计结果_云淘科技

前提条件

审计功能总开关已开启。
需要审计的审计项开关已开启。
数据库正常运行,并且对数据库执行了一系列增、删、改、查操作,保证在查询时段内有审计结果产生。
数据库各个节点审计日志单独记录。

背景信息

只有拥有AUDITADMIN属性的用户才可以查看审计记录。有关数据库用户及创建用户的办法请参见用户。
审计查询命令是数据库提供的sql函数pg_query_audit,其原型为:

pg_query_audit(timestamptz startime,timestamptz endtime,audit_log)

参数startime和endtime分别表示审计记录的开始时间和结束时间,audit_log表示所查看的审计日志信息所在的物理文件路径,当不指定audit_log时,默认查看连接当前实例的审计日志信息。

通过sql函数pgxc_query_audit可以查询所有CN节点的审计日志,其原型为:

pgxc_query_audit(timestamptz startime,timestamptz endtime)

startime和endtime的差值代表要查询的时间段,其有效值为从startime日期中的00:00:00开始到endtime日期中的23:59:59之间的任何值。请正确指定这两个参数,否则将查不到需要的审计信息。

操作步骤

参考连接数据库,连接数据库。
查询审计记录。

1
openGauss=# SELECT * FROM pg_query_audit('2021-03-03 21:30:00', '2021-03-03 22:00:00') where type = 'login_success' and username = 'user1';

查询结果如下:

          time          |     type      | result | userid | username | database | client_conninfo | object_name |                     detail_info                      | node_name |
          thread_id            | local_port | remote_port
------------------------+---------------+--------+--------+----------+----------+-----------------+-------------+------------------------------------------------------+-----------+--
-------------------------------+------------+-------------
 2021-03-03 21:30:31+08 | login_success | ok     | 16398  | user1    | postgres | gsql@[local]    | postgres    | login db(postgres) success, SSL=off| cn_5001   | 1
39634608699136@668093431256149 | 18000      | null
(1 row)

该条记录表明,用户user1在2021-03-03 21:30:31+08登录数据库postgres。其中client_conninfo字段在log_hostname启动且IP连接时,字符@后显示反向DNS查找得到的主机名。

查询所有CN节点审计记录。

1
openGauss=# SELECT * FROM pgxc_query_audit('2021-03-03 21:30:00', '2021-03-03 22:00:00') where type = 'login_success' and username = 'user1';

查询结果如下:

          time          |     type      | result | userid | username | database | client_conninfo | object_name |                     detail_info                      | node_name |
          thread_id            | local_port | remote_port
------------------------+---------------+--------+--------+----------+----------+-----------------+-------------+------------------------------------------------------+-----------+--
-------------------------------+------------+-------------
 2021-03-03 21:30:31+08 | login_success | ok     | 16398  | user1    | postgres | gsql@[local]    | postgres    | login db(postgres) success, SSL=off | cn_5001   | 1
39634608699136@668093431256149 | 18000      | null
 2021-03-03 21:36:09+08 | login_success | ok     | 16398  | user1    | postgres | gsql@[local]    | postgres    | login db(postgres) success, SSL=off | cn_5003   | 1
39779716937472@668093769836394 | 18000      | null
(2 rows)

查询结果显示,用户user1在cn_5001和cn_5003的成功登录记录。

对于登录操作的记录,审计日志detail_info结尾会记录SSL信息,SSL=on表示客户端通过SSL连接,SSL=off表示客户端没有通过SSL连接。

父主题: 设置数据库审计

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家