VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

审计日志加密存储

功能描述

Vastbase G100支持对审计文件进行加密处理。

初始化实例时增加--audit_encrypt_algorithm参数,支持配置审计日志加密算法,值为SM4即表明使用SM4加密算法加密审计日志,同时增加--audit_master_key参数和--audit_encrypt_key参数来指定主密钥和加密密钥,规定主密钥和加密密钥长度为16字节,且经过base64编码。主密钥将加密密钥加密存储在物理文件中;数据库启动时需要输入初始化指定的主密钥。

注意事项

  • 本功能仅在Vastbase G100 2.2 Build 12及以后版本支持使用。
  • 启动数据库输入audit_master_key、audit_encrypt_key密钥时区分大小写,应与初始化时设置的密钥一一对应。
  • 审计索引文件index_table_new不做加密存储。

GUC参数说明

  • audit_encrypt_algorithm

    审计日志加密参数,指定审计日志加密算法。

    取值范围:加密算法必须为SM4。

  • audit_master_key

    主密钥参数,设置主密钥。

    取值范围:初始化时设置主密钥长度必须等于16位并且需要经过base64编码。

  • audit_encrypt_key

    加密密钥参数,设置加密密钥。

    取值范围:初始化时设置加密密钥长度必须等于16位并且需要经过base64编码。

操作步骤

1、初始化配置审计日志加密算法、主密钥和加密密钥,开启审计日志加密存储功能。

vb_initdb -D ./data --audit_encrypt_algorithm=SM4 --audit_master_key="MTIzNDVhYmNLZEBBQkNERQ==" --audit_encrypt_key="MTIzNDVhYmNLZEBBQkNERQ==" 
  • ./data是数据库数据目录,即环境变量$PGDATA的值。
  • 初始化实例时配置审计日志加密算法、主密钥和加密密钥,目前仅支持SM4加密算法,主密钥和加密密钥长度为16,且经过base64编码:
    • --audit_encrypt_algorithm=SM4
    • base64编码命令:echo -n "12345@abcdeABCDE"|base64
    • --audit_master_key=“MTIzNDVAYWJjZGVBQkNERQ==”
    • --audit_encrypt_key=“YWJjZGVAMTIzNDVBQkNERQ==”

2、数据库启动时输入主密钥以获取加密密钥,校验加密密钥正确则正常启动,启动过程提示语句如下:

[BACKEND] LOG:  the config file /home/vastbase/data/vastbase_test/postgresql.conf verify success.
please input the master key:

3、vsql连接数据库,开启审计参数设置审计表。

alter system set audit_enabled=on;
alter system set audit_dml_state=1;
  • audit_enabled参数用于控制审计进程的开启和关闭,开启后审计信息会写入审计文件,详细信息参见审计开关
  • audit_dml_state参数用于觉得是否对具体表的dml操作进行审计,取值为1时表示开启对dml操作的审计,详细信息参见操作审计

4、用户对表做dml操作。

5、使用pg_query_audit接口可查询审计日志。

select * from pg_query_audit(now()-1,now());

pg_query_audit()函数用于查看数据库主节点审计日志,详细信息参见安全函数

6、查看pg_audit目录下加密存储的审计日志文件,如0_adt(审计索引不进行加密存储)。

vi ./data/pg_audit/0_adt

./data/pg_audit/为审计文件的存储路径,用户可通过audit_directory参数设置,详细信息参见审计开关

相关链接

审计开关操作审计安全函数