CREATE CLIENT MASTER KEY
功能描述
创建一个客户端加密主密钥(cmk)。
注意事项
需要在使用gsql连接数据库的时候添加-C参数,开启密态数据库开关,才可以生效。
在创建客户端加密主密钥(cmk)之前,需要使用KeyTool工具生成密钥。
语法格式
CREATE CLIENT MASTER KEY client_master_key_name WITH '(' master_key_params ')';
master_key_params:
KEY_STORE '=' key_store_value ',' KEY_PATH '=' key_path_value ',' ALGORITHM '=' algorithm_value
参数说明
client_master_key_name
同一命名空间下,客户端加密主密钥(cmk)名称,需要唯一,不可重复。
取值范围:字符串,要符合标识符的命名规范。
mater_key_params
指的是创建客户端加密主密钥时所涉及的参数信息,具体包括:
- KEY_STORE,目前取值为gs_ktool。
- KEY_PATH值为KeyTool工具生成密钥的ID,类似”gs_ktool/1”这种写法。
- ALGORITHM为加密列加密密钥使用的算法,目前只支持AES_256_CBC。
示例
--创建dev_ce用户。
postgres=# CREATE USER dev_ce PASSWORD 'dev@1234';
--连接密态数据库
gsql -p 57101 postgres -U dev_ce -r -C
gsql ((GaussDB Kernel V500R001C20 build e1aa9b47) compiled at 2020-11-24 20:03:57 commit 1093 last mr 1793 debug)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
postgres=>
--使用Key_Tool工具创建一个密钥
postgres=> \! gs_ktool -g
--创建客户端加密主密钥(CMK)
postgres=> CREATE CLIENT MASTER KEY ImgCMK WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC);