华为云云数据库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。

表1 gs_ktool_conf.ini配置文件说明

配置项

配置项说明

参数类型 : 取值范围

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

日志文件

字符型 :绝对路径/日志文件名

参数说明

表2 gs_ktool参数说明

参数

参数说明

参数类型 : 取值范围

-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)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家