一、背景及说明
为了防止数据泄露时对个人,社会群体以及国家机关造成较大损失,需要对已归集的数据进行数据字段存储加密,加密方式为MySQL数据库系统的AES加密函数,加密对象为数据字段分类分级在3级的所有字段。
数据源名称(支撑平台):数据局_中间库_加密
数据库地址:192.168.141.187:3306
数据库名称:qx_etl_2_jm
用户/密码:qx_etl_2_jm/QxEtl2Jm#!

二、加密过程
数据字段加密的整个过程通过在支撑平台上布置任务来完成。数据源的配置步骤和引入在此省略。目前已经引入加密数据库的数据源信息,可直接选择。

2.1 选择来源
新建数据同步任务,选择数据源和数据表名,确定后点击下一步。
2025-03-11T06:56:22.png

2.2 选择目标
数据同步目标选择“数据局_中间库_加密”,点击一键生成目标表,为表名添加前缀(如“ods_s_”,具体取名标准在此省略)后,根据数据源表的字段类型、长度和精度进行调整,并将需要加密的字段类型改为varbinary。
导入前准备语句:truncate table 前缀&表名
导入后准备语句:update 前缀&表名 set 加密字段名=AES_ENCRYPT(加密字段名,’前缀&表名&加密字段名’),(...);

2025-03-11T06:56:32.png
2025-03-11T06:56:44.png 2025-03-11T06:56:51.png
快捷调整:通过DBeaver连接数据源,复制表DDL语句中的建字段语句。

2.3 字段映射
选择同名映射后点击下一步即可。图略。

2.4 通道控制
无调整,点击下一步即可。图略。

2.5 预览保存
确认任务布置无误后点击保存,点击左上角运行。运行成功后点击右上角提交任务至调度引擎,至此整个加密过程结束。
2025-03-11T06:57:12.png

2.6 结果展示
最终加密效果如图所示。
2025-03-11T06:57:19.png
三、解密过程
数据字段解密的整个过程也通过在支撑平台上布置任务来完成。

2025-03-11T06:57:27.png
2.1 创建解密表
新建工作流任务,选择MySQL节点组件进行解密表创建。
建表语句:
create table qx_etl_2_jm.tmp_表名as select字段名1,字段名2,(...),
cast(AES_DECRYPT(解密字段名,’前缀&表名&解密字段名’)AS CHAR CHARACTER SET utf8mb4) as 解密字段名,(...)
from qx_etl_2_jm.前缀&表名;
2025-03-11T06:57:34.png

2.2 数据推送
选择数据同步节点组件进行任务布置,具体流程参考加密过程。

2.3 删除解密表
选择MySQL节点组件进行解密表删除。
删表语句:drop table qx_etl_2_jm.tmp.表名;

2025-03-11T06:57:40.png

添加新评论