openGauss学习笔记-117 openGauss 数据库管理-设置数据库审计-查看审计结果

117.1 前提条件

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

117.2 背景信息

  • 只有拥有AUDITADMIN属性的用户才可以查看审计记录。有关数据库用户及创建用户的办法请参见用户

  • 审计查询命令是数据库提供的sql函数pg_query_audit,其原型为:

    pg_query_audit(timestamptz startime,timestamptz endtime,audit_log)
    

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

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

117.3 操作步骤

  1. 以操作系统用户omm登录数据库主节点。

  2. 使用如下命令连接数据库。

    gsql -d postgres -p 8000
    

    postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

    连接成功后,系统显示类似如下信息:

    gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.
    
    openGauss=# 
    
  3. 查询审计记录。

    openGauss=# select * from pg_query_audit('2021-03-04 08:00:00','2021-03-04 17:00:00');
    

    查询结果如下:

              time          |      type      | result | userid | username  | database  |     client_conninfo     |    object_name    |	detail_info	|     node_name     |            thread_id            | local_port | remote_port
    ------------------------+----------------+--------+--------+-----------+-----------+-------------------------+-------------------+--------------+-------------------+---------------------------------+------------+-------------
    2021-03-04 08:00:08+08 | login_success  | ok     | 10     | omm  | postgres | gsql@::1 | postgres    | login db(postgres) success,SSL=Off | dn_6001_6002_6003 | 140477687527168@668131208211425 |	17778      | 46946
    

    该条记录表明,用户omm在time字段标识的时间点登录数据库postgres。其中client_conninfo字段在log_hostname启动且IP连接时,字符@后显示反向DNS查找得到的主机名。

img 说明:

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

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片