数据库安全审计密码等敏感信息脱敏最佳实践
当需要对输入的SQL语句的敏感信息进行脱敏时,您可以通过开启隐私数据脱敏功能,以及配置隐私数据脱敏规则,防止敏感信息泄露。
前提条件
- 数据库安全审计实例的状态为“运行中”。
- 请参考开启数据库安全审计成功开启数据库安全审计功能。
创建脱敏规则
效果验证
以脱敏“密码”信息,且审计的数据库为MySQL为例说明,请参考以下操作步骤验证隐私数据脱敏功能是否生效:
- 使用MySQL数据库自带的客户端,以root用户登录数据库。
- 在数据库客户端,输入如下SQL请求语句:
INSERT INTO 'adventureworks'.'user_login_info' ('id', 'user_name', 'pass_word') VALUES (1, 'name_1', '密码'); INSERT INTO 'adventureworks'.'user_login_info' ('id', 'user_name', 'pass_word') VALUES (2, 'name_2', '密码'); INSERT INTO 'adventureworks'.'user_login_info' ('id', 'user_name', 'pass_word') VALUES (3, 'name_3', '密码'); INSERT INTO 'adventureworks'.'user_login_info' ('id', 'user_name', 'pass_word') VALUES (4, 'name_4', '密码'); - 在左侧导航栏选择“数据报表”,进入“数据报表”页面。
- 根据筛选条件,查询输入的SQL语句。
在“SQL语句”列查看执行的“INSERT INTO”SQL语句,显示脱敏前的信息。
图2 查看SQL语句
- 在左侧导航栏选择“审计规则”进入“审计规则”页面。选择“隐私数据保护”页签单击“添加自定义规则”,添加插入密码的脱敏规则。
图3 添加插入密码脱敏规则
- 重复步骤1~4,根据筛选条件,查询输入的SQL语句。
在“SQL语句”列查看执行的“INSERT INTO”SQL语句,隐私数据脱敏功能正常,显示脱敏后的信息。
图4 查看脱敏后SQL语句
- 继续在数据库客户端,输入如下SQL请求语句:
UPDATE 'adventureworks'.'user_login_info' set 'pass_word' = "密码" where id = 1; UPDATE 'adventureworks'.'user_login_info' set 'pass_word' = "密码" where id = 2; UPDATE 'adventureworks'.'user_login_info' set 'pass_word' = "密码" where id = 3; UPDATE 'adventureworks'.'user_login_info' set 'pass_word' = "密码" where id = 4;
- 重复步骤3~4,根据筛选条件,查询输入的SQL语句。
在“SQL语句”列查看执行的“UPDATE”SQL语句,显示脱敏前的信息。
图5 查看SQL语句
- 在左侧导航栏选择“审计规则”进入“审计规则”页面。选择“隐私数据保护”页签单击“添加自定义规则”,添加修改密码的脱敏规则。
图6 添加修改密码脱敏规则
- 重复步骤7,执行SQL请求语句。
- 重复3~4,根据筛选条件,查询输入的SQL语句。
在“SQL语句”列查看执行的“UPDATE”SQL语句,隐私数据脱敏功能正常,显示脱敏后的信息。
图7 查看脱敏后的SQL语句
其他场景或数据库类型,需结合具体语法特征和用户具体敏感字段来创建脱敏规则,实现审计脱敏。

