华为云云数据库GaussDBgs_ktool_云淘科技
前提条件
gs_ktool工具前向兼容数据库,若需使用与数据库同步增加的新特性,须升级数据库。
背景
在使用gs_ktool前,需先了解全密态数据库等值查询特性,该特性使用三级加密模型,旨在提供客户端加密的解决方案:
使用客户端加密密钥(Client Encryption Key, CEK)加密数据;
使用客户端加密主密钥(Client Master Key, CMK)加密CEK;
使用根密钥(Root Key,RK)加密CMK。
功能介绍
gs_ktool为客户端提供CMK明文,以保证其能够对CEK的进行加解密;与此同时,gs_ktool还为用户提供人机交互接口,以支持以下功能:
支持管理CMK:创建、删除、查询、导入和导出CMK。其中,查询功能不支持查询CMK的明文或者密文。目前,gs_ktool不支持更新CMK,用户仅能通过删除旧的密钥,并创建新的密钥以达到同等的效果;
全密态当前仅支持华为云KMS,gs_ktool不具备自动备份密钥能力,一旦密钥丢失,则数据无法恢复,建议gs_ktool仅作为验证与调试使用。
如果用户需要将gs_ktool中密钥进行备份,请手工执行密钥导出命令。并请注意,在进行密钥导入时,会覆盖当前gs_ktool中保存的所有密钥,请谨慎使用。
支持管理RK:查询、更新RK;
支持查询操作日志:针对上述对密钥进行管理的操作,gs_ktool均会记录相关的操作日志,用户可查看日志文件。
环境变量
GS_KTOOL_FILE_PATH:gs_ktool运行时需要读取配置文件gs_ktool_conf.ini,使用GS_KTOOL_FILE_PATH来设置配置文件的路径。默认情况下,运行gs_ktool时生成的密钥存储文件和日志文件也会存储在该路径下。
解压GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_gsql.tar.gz包后,可在gs_ktool_file路径下找到gs_ktool_conf.ini配置文件,该文件中所有配置项已设置缺省值;另外,通过指令”source gsql_env.sh”可配置环境变量$GS_KTOOL_FILE_PATH。
配置项 |
配置项说明 |
参数类型 : 取值范围 |
---|---|---|
rk_validity |
生成RK时,默认的有效期(该配置项仅在生成RK时有效,即生成密钥文件时)。 |
整型 : [1, 10000] days |
cmk_validity |
生成CMK时,默认的有效期。 |
整型 : [1, 3660] days |
cmk_length |
生成CMK时,默认的密钥长度。 |
整型 : [16, 112] bytes |
pri_ksf |
密钥存储文件。 |
字符型 : 绝对路径/密钥文件名 |
sec_ksf |
备份的密钥存储文件。 |
字符型 : 绝对路径/密钥文件名 |
export_ksf |
导出密钥时,默认的密钥存储文件。 |
字符型 : 绝对路径/密钥文件名 |
is_logmodule_open |
是否打开日志记录功能。 |
字符型 : {ON, OFF} |
log_file |
日志文件 |
字符型 :绝对路径/日志文件名 |
参数说明
参数 |
参数说明 |
参数类型 : 取值范围 |
---|---|---|
-g |
生成单个密钥,可在配置文件中配置默认的CMK长度。 |
– |
-l CMK_LENTH |
配合-g使用,可指定生成的CMK长度。 |
整型 : [16, 112] bytes |
-d CMK_ID |
删除指定CMK。 |
整型 : [1, 4095]; 字符型 : all |
-s CMK_ID |
查询指定CMK的信息,不包含CMK明文或密文。 |
整型 : [1, 4095]; 字符型 : all |
-e |
导出当前gs_ktool中的全部密钥到文件中,可使用-f指定导出文件。 |
– |
-i |
从指定密钥文件中导入全部密钥,必须使用-f指定密钥文件;请注意该操作的覆盖特性。 |
– |
-f FILE |
配合-i和-e使用,指定密钥文件的位置 (可指定绝对路径或相对路径,但必须是已存在的路径;当配合-e使用时,如果指定的文件不存在,则新建,如果已存在,则会覆盖)。 |
字符型 : 绝对路径/日志文件名 |
-p FILE_PASSWORD |
配和-i和-e使用,输入密钥文件的口令 (如果未使用该参数,则默认使用交互式口令输入方式)。 |
字符型 : 长度区间为[8, 255],且至少包含3种类型的字符。 |
-R -u |
轮转(更新)RK;该操作会更新CMK的密文。 |
– |
-R -s |
查询RK的信息,不包含RK的明文或密文。 |
– |
-v |
查看版本信息。 |
– |
-h, -? |
查看使用帮助。 |
– |
在使用gs_ktool -d all命令删除全部密钥时,命令执行的过程中,如果同时使用gs_ktool -g命令生成密钥,新生成的密钥可能会被删除。
父主题: 客户端工具
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家