This is an automated email from the ASF dual-hosted git repository.
zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new bd68c35c653 Update reference encrypt cn images (#23301)
bd68c35c653 is described below
commit bd68c35c6530edc1c9f8c78b0a80856988e7e147
Author: zhuxiaoyu118 <[email protected]>
AuthorDate: Tue Jan 3 18:56:56 2023 +0800
Update reference encrypt cn images (#23301)
* Update _index.cn.md
* Create 1_cn_v2.png
* Create 2_cn_v2.png
* Create 3_cn_v2.png
* Create 4_cn_v2.png
* Create 5_cn_v2.png
* Create 6_cn_v2.png
* Create 7_cn_v2.png
* Create 8_cn_v2.png
Co-authored-by: shardingsphere <[email protected]>
---
docs/document/content/reference/encrypt/_index.cn.md | 16 ++++++++--------
docs/document/static/img/encrypt/1_cn_v2.png | Bin 0 -> 27181 bytes
docs/document/static/img/encrypt/2_cn_v2.png | Bin 0 -> 48197 bytes
docs/document/static/img/encrypt/3_cn_v2.png | Bin 0 -> 26473 bytes
docs/document/static/img/encrypt/4_cn_v2.png | Bin 0 -> 40906 bytes
docs/document/static/img/encrypt/5_cn_v2.png | Bin 0 -> 17273 bytes
docs/document/static/img/encrypt/6_cn_v2.png | Bin 0 -> 27213 bytes
docs/document/static/img/encrypt/7_cn_v2.png | Bin 0 -> 26922 bytes
docs/document/static/img/encrypt/8_cn_v2.png | Bin 0 -> 22314 bytes
9 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/docs/document/content/reference/encrypt/_index.cn.md
b/docs/document/content/reference/encrypt/_index.cn.md
index f34780d6c31..7783a6c3797 100644
--- a/docs/document/content/reference/encrypt/_index.cn.md
+++ b/docs/document/content/reference/encrypt/_index.cn.md
@@ -13,7 +13,7 @@ Apache ShardingSphere 自动化 & 透明化了数据加密过程,让用户无
### 整体架构
-
+
加密模块将用户发起的 SQL 进行拦截,并通过 SQL 语法解析器进行解析、理解 SQL
行为,再依据用户传入的加密规则,找出需要加密的字段和所使用的加解密算法对目标字段进行加解密处理后,再与底层数据库进行交互。
Apache ShardingSphere 会将用户请求的明文进行加密后存储到底层数据库;并在用户查询时,将密文从数据库中取出进行解密后返回给终端用户。
@@ -23,7 +23,7 @@ Apache ShardingSphere 会将用户请求的明文进行加密后存储到底层
在详解整套流程之前,我们需要先了解下加密规则与配置,这是认识整套流程的基础。加密配置主要分为四部分:数据源配置,加密算法配置,加密表配置以及查询属性配置,其详情如下图所示:
-
+
**数据源配置**:指数据源配置。
@@ -51,14 +51,14 @@ Apache ShardingSphere 接收到该 SQL,通过用户提供的加密配置,发
**Apache ShardingSphere 将面向用户的逻辑列与面向底层数据库的明文列和密文列进行了列名以及数据的加密映射转换。**
如下图所示:
-
+
即依据用户提供的加密规则,将用户 SQL 与底层数据表结构割裂开来,使得用户的 SQL 编写不再依赖于真实的数据库表结构。
而用户与底层数据库之间的衔接、映射、转换交由 Apache ShardingSphere 进行处理。
下方图片展示了使用加密模块进行增删改查时,其中的处理流程和转换逻辑,如下图所示。
-
+
## 解决方案详解
@@ -92,7 +92,7 @@ Apache ShardingSphere 接收到该 SQL,通过用户提供的加密配置,发
使用这套配置, Apache ShardingSphere 只需将 logicColumn 和
cipherColumn,assistedQueryColumn 进行转换,底层数据表不存储明文,只存储了密文,这也是安全审计部分的要求所在。
如果用户希望将明文、密文一同存储到数据库,只需添加 plainColumn 配置即可。整体处理流程如下图所示:
-
+
### 已上线业务改造
@@ -138,7 +138,7 @@ Apache ShardingSphere 接收到该 SQL,通过用户提供的加密配置,发
通过 Apache ShardingSphere,针对新增的数据,会把明文写到 pwd 列,并同时把明文进行加密存储到 `pwd_cipher` 列。
此时,由于 `queryWithCipherColumn` 设置为 false,对业务应用来说,依旧使用 `pwd`
这一明文列进行查询存储,却在底层数据库表 `pwd_cipher` 上额外存储了新增数据的密文数据,其处理流程如下图所示:
-
+
新增数据在插入时,就通过 Apache ShardingSphere 加密为密文数据,并被存储到了
cipherColumn。而现在就需要处理历史明文存量数据。
**由于 Apache ShardingSphere 目前并未提供相关迁移洗数工具,此时需要业务方自行将 `pwd` 中的明文数据进行加密处理存储到
`pwd_cipher`。**
@@ -157,7 +157,7 @@ Apache ShardingSphere 接收到该 SQL,通过用户提供的加密配置,发
也就是说,如果将系统切到密文列进行查询时,发现系统报错,需要回滚。那么只需将 `queryWithCipherColumn = false`,Apache
ShardingSphere 将会还原,即又重新开始使用 plainColumn 进行查询。
处理流程如下图所示:
-
+
3. 系统迁移后
@@ -190,7 +190,7 @@ Apache ShardingSphere 接收到该 SQL,通过用户提供的加密配置,发
其处理流程如下:
-
+
4. 系统迁移完成
diff --git a/docs/document/static/img/encrypt/1_cn_v2.png
b/docs/document/static/img/encrypt/1_cn_v2.png
new file mode 100644
index 00000000000..e2d294cc869
Binary files /dev/null and b/docs/document/static/img/encrypt/1_cn_v2.png differ
diff --git a/docs/document/static/img/encrypt/2_cn_v2.png
b/docs/document/static/img/encrypt/2_cn_v2.png
new file mode 100644
index 00000000000..6d9efa0ea59
Binary files /dev/null and b/docs/document/static/img/encrypt/2_cn_v2.png differ
diff --git a/docs/document/static/img/encrypt/3_cn_v2.png
b/docs/document/static/img/encrypt/3_cn_v2.png
new file mode 100644
index 00000000000..99e93ee1997
Binary files /dev/null and b/docs/document/static/img/encrypt/3_cn_v2.png differ
diff --git a/docs/document/static/img/encrypt/4_cn_v2.png
b/docs/document/static/img/encrypt/4_cn_v2.png
new file mode 100644
index 00000000000..f9f02b72bd0
Binary files /dev/null and b/docs/document/static/img/encrypt/4_cn_v2.png differ
diff --git a/docs/document/static/img/encrypt/5_cn_v2.png
b/docs/document/static/img/encrypt/5_cn_v2.png
new file mode 100644
index 00000000000..3ff8314ae6b
Binary files /dev/null and b/docs/document/static/img/encrypt/5_cn_v2.png differ
diff --git a/docs/document/static/img/encrypt/6_cn_v2.png
b/docs/document/static/img/encrypt/6_cn_v2.png
new file mode 100644
index 00000000000..23a6c034b91
Binary files /dev/null and b/docs/document/static/img/encrypt/6_cn_v2.png differ
diff --git a/docs/document/static/img/encrypt/7_cn_v2.png
b/docs/document/static/img/encrypt/7_cn_v2.png
new file mode 100644
index 00000000000..d4bfd50073f
Binary files /dev/null and b/docs/document/static/img/encrypt/7_cn_v2.png differ
diff --git a/docs/document/static/img/encrypt/8_cn_v2.png
b/docs/document/static/img/encrypt/8_cn_v2.png
new file mode 100644
index 00000000000..5e92d30fbba
Binary files /dev/null and b/docs/document/static/img/encrypt/8_cn_v2.png differ