加解密洗数任务 #
语法 | 描述 | 类型 |
---|---|---|
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';