Logo
数据加解密任务

加解密洗数任务 #

语法描述类型
ALTER ENCRYPTING RULE修改数据加密洗数规则RAL
SHOW ENCRYPTING RULE查看数据加密洗数规则RAL
ENCRYPT TABLE启动加密洗数作业RAL
SHOW ENCRYPTING LIST查看加密洗数作业RAL
SHOW ENCRYPTING STATUS查看加密洗数状态RAL
COMMIT ENCRYPTING提交加密洗数作业RAL
ROLLBACK ENCRYPTING回滚加密洗数作业RAL
ALTER DECRYPTING RULE修改数据解密洗数规则RAL
SHOW DECRYPTING RULE查看数据解密洗数规则RAL
DECRYPT TABLE启动解密洗数作业RAL
SHOW DECRYPTING LIST查看解密洗数作业RAL
SHOW DECRYPTING STATUS查看解密洗数状态RAL
COMMIT DECRYPTING提交解密洗数作业RAL
ROLLBACK DECRYPTING回滚解密洗数作业RAL
REENCRYPT TABLE WITH RULE tableName换密钥第一阶段语句RAL
START REENCRYPTING jobId换密钥第二阶段洗数语句RAL
STOP ENCRYPTING jobId停止加密洗数作业RAL
START ENCRYPTING jobId重启加密洗数作业RAL
STOP DECRYPTING jobId停止解密洗数作业RAL
START DECRYPTING jobId重启解密洗数作业RAL
STOP REENCRYPTING jobId停止换密钥作业RAL

1. 定义数据加密洗数规则 #

ALTER ENCRYPTING RULE

示例

ALTER ENCRYPTING RULE (READ(RATE_LIMITER (TYPE(NAME='QPS',PROPERTIES('qps'=500)))));

2. 查看数据加密洗数规则 #

SHOW ENCRYPTING RULE

参数说明

示例

SHOW ENCRYPTING RULE

3. 启动加密洗数作业 #

ENCRYPT TABLE tableName;

参数说明

参数名说明
tableName加密洗数的表

示例

启动表的洗数

ENCRYPT TABLE t_user;

启动表的指定列的洗数

ENCRYPT TABLE t_user (password);

启动表的指定列的衍生列的洗数

ENCRYPT TABLE t_user (username(LIKE_QUERY));

4. 查看加密洗数作业 #

SHOW ENCRYPTING LIST;

参数说明

示例

SHOW ENCRYPTING LIST;

5. 查看加密洗数状态 #

SHOW ENCRYPTING STATUS jobId;

参数说明

参数名说明
jobid作业id

示例

mysql> SHOW ENCRYPTING STATUS j5202p0000e2af8bea809d29f6ab4b3ac4c99b5789;
+-------------+----------+--------+-------------------------+-------------------------------+---------------+
| table_name  | status   | active | processed_records_count | inventory_finished_percentage | error_message |
+-------------+----------+--------+-------------------------+-------------------------------+---------------+
| t_user      | FINISHED | true   | 3                       | 100                           |               |
| t_user_info | FINISHED | true   | 3                       | 100                           |               |
+-------------+----------+--------+-------------------------+-------------------------------+---------------+

输出说明

  • table_name : 逻辑表名
  • status : 作业状态
  • active : 作业是否在运行
  • processed_records_count : 已经处理的记录数
  • inventory_finished_percentage : 完成百分比
  • error_message : 错误信息

6. 提交加密洗数作业 #

COMMIT ENCRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

COMMIT ENCRYPTING 'j51017f973ac82cb1edea4f5238a258c25e89';

7. 回滚加密洗数作业 #

ROLLBACK ENCRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

ROLLBACK ENCRYPTING  'j51017f973ac82cb1edea4f5238a258c25e89';

8. 定义数据解密洗数规则 #

ALTER DECRYPTING RULE

示例

ALTER DECRYPTING RULE (READ(RATE_LIMITER (TYPE(NAME='QPS',PROPERTIES('qps'=500)))));

9. 查看数据解密洗数规则 #

SHOW DECRYPTING RULE

参数说明

示例

SHOW DECRYPTING RULE

10. 启动解密洗数作业 #

DECRYPT TABLE tableName;

参数说明

参数名说明
tableName加密洗数的表

示例

DECRYPT TABLE t_user;

启动表的反洗数

DECRYPT TABLE t_user;

启动表的指定列的反洗数

DECRYPT TABLE t_user (password);

特别说明

在启动反洗数时,若目标表为单表且物理表中不包含明文列,Engine 将会自动创建明文列用于反洗数,否则用户需自行创建明文列。(该特性支持 MySQL、PostgreSQL、openGauss、Oracle 和 Hive 存储单元)

11. 查看解密洗数作业 #

SHOW DECRYPTING LIST;

参数说明

示例

SHOW DECRYPTING LIST;

12. 查看解密洗数状态 #

SHOW DECRYPTING STATUS jobId;

参数说明

参数名说明
jobid作业id

示例

mysql> SHOW DECRYPTING STATUS j5302p0000e2af8bea809d29f6ab4b3ac4c99b5789;
+------+-------------+----------+--------+---------------------+---------------+
| item | data_source | status   | active | finished_percentage | error_message |
+------+-------------+----------+--------+---------------------+---------------+
| 0    | testdb      | FINISHED | true   | 100                 |               |
+------+-------------+----------+--------+---------------------+---------------+

输出说明

  • data_source : 作业任务项所在存储单元
  • status : 作业状态
  • active : 作业是否在运行
  • finished_percentage : 完成百分比
  • error_message : 错误信息

13. 提交解密洗数作业 #

COMMIT DECRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

COMMIT DECRYPTING  'j51017f973ac82cb1edea4f5238a258c25e89';

14. 回滚解密洗数作业 #

ROLLBACK DECRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

ROLLBACK DECRYPTING  'j51017f973ac82cb1edea4f5238a258c25e89';

15. 换密钥第一阶段语句 #

REENCRYPT TABLE WITH RULE tableName 

重洗数支持自动创建明文列,在作业完成后,会自动删除明文列。

参数说明

参数名说明
tableName换密钥的表

示例

REENCRYPT TABLE WITH RULE t_encrypt (
COLUMNS(
(NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,ASSISTED_QUERY_COLUMN=user_assisted,LIKE_QUERY_COLUMN=user_like,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='665544aaa'))),ASSISTED_QUERY_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='523234abc'))), LIKE_QUERY_ALGORITHM(TYPE(NAME='CHAR_DIGEST_LIKE'))),
(NAME=order_id, PLAIN=order_plain,CIPHER =order_cipher, ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='445533ccc'))))
), QUERY_WITH_CIPHER_COLUMN=true);

16. 换密钥第二阶段洗数语句 #

START REENCRYPTING jobId;

参数说明

参数名说明
jobid换密钥作业的id

示例

START REENCRYPTING j54014fb26631db0f7149741422d86cc5dfe6;

17. 停止加密洗数作业 #

STOP ENCRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

STOP ENCRYPTING 'j51017f973ac82cb1edea4f5238a258c25e89';

18. 重启加密洗数作业 #

START ENCRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

START ENCRYPTING 'j51017f973ac82cb1edea4f5238a258c25e89';

19. 停止解密洗数作业 #

STOP ENCRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

STOP DECRYPTING 'j51017f973ac82cb1edea4f5238a258c25e89';

20. 重启解密洗数作业 #

START DECRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

START DECRYPTING 'j51017f973ac82cb1edea4f5238a258c25e89';

21. 停止换密钥洗数作业 #

STOP REENCRYPTING jobId;

参数说明

参数名说明
jobid作业id

示例

STOP REENCRYPTING 'j51017f973ac82cb1edea4f5238a258c25e89';