云数据库 GAUSSDB-CREATE COLUMN ENCRYPTION KEY:示例(在使用gsql连接数据库服务器的场景下)

时间:2024-01-23 20:09:44

示例(在使用gsql连接数据库服务器的场景下)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 1 解压GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Gsql.tar.gz安装包,找到脚本gsql_env.sh

# 2 通过脚本,自动配置环境变量GS_KTOOL_FILE_PATH
source gsql_env.sh

# 3 连接数据库,开启-C密态开关
gsql -p 端口号 -d postgres -r -C

# 4 创建秘钥,以gs_ktool示例
gaussdb=# \! gs_ktool -g
GENERATE
1
gaussdb=# \! gs_ktool -g
GENERATE
2

# 5 创建CMK和CEK
gaussdb=# CREATE CLIENT MASTER KEY cmk1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC);
CREATE CLIENT MASTER KEY
gaussdb=# CREATE CLIENT MASTER KEY cmk2 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/2" , ALGORITHM = AES_256_CBC);
CREATE CLIENT MASTER KEY
gaussdb=# CREATE COLUMN ENCRYPTION KEY cek1 WITH VALUES (CLIENT_MASTER_KEY = cmk1, ALGORITHM = AES_256_GCM);
CREATE COLUMN ENCRYPTION

# 6 更改用于重加密该CEK的新的CMK
gaussdb=# ALTER COLUMN ENCRYPTION KEY cek1 WITH VALUES (CLIENT_MASTER_KEY = cmk2);
ALTER COLUMN ENCRYPTION KEY

# 7 删除CMK和CEK
gaussdb=# DROP COLUMN ENCRYPTION KEY cek1;
DROP COLUMN ENCRYPTION KEY
gaussdb=# DROP CLIENT MASTER KEY cmk1;
DROP CLIENT MASTER KEY
gaussdb=# DROP CLIENT MASTER KEY cmk2;
DROP CLIENT MASTER KEY

# 8 删除第四步中创建的秘钥
gaussdb=# \! gs_ktool -d1
DELETE
1
gaussdb=# \! gs_ktool -d1
DELETE
2
support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0512.html