【如何保证你的DWS数据更安全】GaussDB(DWS) 8.2.1版本审计日志新增功能介绍

举报
cr230801 发表于 2023/08/01 18:56:54 2023/08/01
【摘要】 GaussDB(DWS)审计日志作为GaussDB(DWS)集群数据安全运维的重要支撑手段,记录着数据库的启动和停止、用户的登录和退出、各种各样的语句的执行情况、访问越权操作、事务操作等等,可以提供合规审计依据,支持审计数据转储,可以记录、分析、追踪数据库安全事件,可以进行问题定位等。GaussDB(DWS) 8.2.1版本对审计日志进行了增强,对SQL语句的审计细粒度到表对象中的字段。

GaussDB(DWS)审计日志作为GaussDB(DWS)集群数据安全运维的重要支撑手段,记录着数据库的启动和停止、用户的登录和退出、各种各样的语句的执行情况、访问越权操作、事务操作等等,可以提供合规审计依据,支持审计数据转储以满足对审计数据保存期限的要求,可以记录、分析、追踪数据库安全事件,可以进行问题定位等。GaussDB(DWS) 8.2.1版本对审计日志记录信息进行了增强,主要是新增了3个字段,对SQL语句的审计细粒度到表对象中的字段。

新增功能描述

8.2.1版本中,审计日志记录信息新增字段为object_details、result_rows和error_code,详细信息如表1所示。

表1 审计日志记录信息新增字段说明

名称 描述
object_details 记录语句中表对象涉及的列及其使用类型
result_rows 语句执行成功返回的记录数
error_code 语句执行错误时的错误码

其中object_details字段的实现较为复杂,对性能有一定的影响,因此可以通过设置guc参数audit_object_details来控制object_details字段是否记录内容。audit_object_details是布尔类型,也是一个会话级参数,可以在当前会话通过 SET audit_object_details = on; 来设置,设置为on表示记录,off表示不记录;当然,也可以通过gs_guc命令进行全局设置,不需要重启集群便可生效。

只有拥有AUDITADMIN属性的用户才可以查看审计记录,查看审计日志记录信息的函数有:

pg_query_audit():查看当前CN节点审计日志。

pgxc_query_audit():查看所有CN节点审计日志。

例子:查询2021-12-31~9999-12-31期间按时间倒序的所有审计日志信息。

select * from pg_query_audit(‘2021-12-31’, ‘9999-12-31’) order by begintime desc;

新增函数pg_query_audit_details()

pg_query_audit_details():查看审计日志并将审计日志中的object_name和object_details字段由json格式解析出来。

例子:查询2021-12-31~9999-12-31期间的object_details中的列及其使用类型。

select * from pg_query_audit_details(‘2021-12-31’, ‘9999-12-31’, ‘current’);

注:current表示查询当前CN节点的审计日志,all表示查询所有CN节点的审计日志。

pg_query_audit_details()函数返回字段详细信息如表2所示。

表2 pg_query_audit_details()函数返回字段说明

名称 描述
begintime 操作的执行开始时间
endtime 操作的执行结束时间
operation_type 操作类型
audit_type 审计类型
result 操作结果
username 执行操作的用户名
database 数据库名称
client_conninfo 客户端连接信息
transaction_xid 事务ID
query_id 查询ID
node_name node_name
session_id 会话ID
local_port 本地端口
remote_port 远端端口
object_name 表名、函数名、视图名
column_name 列名
type_of_use 对象的使用类型:
1:仅涉及(在实际使用中,此标志位暂不存在)
2:执行过程中访问(语句中出现的列以及在解析过程中访问到的列)
4:条件中发现(条件类型语句中,不包括条件表达式及函数)
8:inner join中发现
16:outer join中发现
32:聚合节点中发现(包括distinct、group by、聚集函数)
64:full join中发现
该列数值为叠加显示的数值。
use_type type_of_use解析出的具体类型:
1:Reference only
2:Access
4:Conditional
8:Inner join
16:Outer join
32:Sum
64:Full join
command_text 操作的执行命令

其中加粗字段是对object_details的解析。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。