华为云云数据库GaussDBCREATE CLIENT MASTER KEY_云淘科技

功能描述

密态等值查询特性使用多级加密模型,主密钥加密列密钥,列密钥加密数据。本语法用于创建主密钥对象。

注意事项

本语法属于全密态数据库特有语法。
连接数据库时,在数据库驱动侧,需开启密态等值查询特性连接参数,才可执行本语法。
主密钥由外部密钥管理者提供,本语法仅处理密钥来源、密钥ID等信息,已支持的外部密钥管理者包括:

华为云密钥管理服务huawei_kms
本地密钥管理工具gs_ktool。

在使用本语法前,请参考《特性指南》中“设置密态等值查询”章节,在数据库驱动侧,为外部密钥管理者设置环境变量。

语法格式

CREATE CLIENT MASTER KEY client_master_key_name WITH (KEY_STORE = key_store_name, KEY_PATH = "key_path_value", ALGORITHM = algorithm_type);

参数说明

client_master_key_name

该参数作为密钥对象名,在同一命名空间下,需满足命名唯一性约束。

取值范围:字符串,需符合标识符命名规范。

KEY_STORE

外部密钥管理者。取值见表1。

KEY_PATH

由外部密钥管理者管理某个的密钥,不同密钥管理者格式不同。取值为字符串,详见表1。字符串由单引号或双引号包含,如果字符串长度超过64,则只能使用单引号包含。

ALGORITHM

密钥用于何种加密算法。取值见表1。

表1 针对不同密钥管理者的参数值

KEY_STORE

KEY_PATH

ALGORITHM

huawei_kms

格式:‘{KmsApiUrl}/{密钥ID}’

参考:’https://kms.{项目}.myhuaweicloud.com/v1.0/{项目ID}/kms/{密钥ID}’

示例:’https://kms.cn-north-4.myhuaweicloud.com/v1.0/00000000000000000000000000000000/kms/00000000-0000-0000-0000-000000000000′

AES_256

gs_ktool

格式:”gs_ktool/{密钥ID}”

示例:”gs_ktool/1″

AES_256_CBC

AES_256_GCM

SM4

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

# 1 解压GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Gsql.tar.gz安装包,找到脚本gsql_env.sh

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

# 3 创建密钥,返回密钥ID,密钥ID为1
gs_ktool -g

# 4 连接数据库,使用特权账号,创建新用户 alice
gsql -p 端口号 -d postgres -r
gaussdb=# CREATE USER alice PASSWORD '*******';
gaussdb=# \q

# 5 连接数据库,务必使用 -C 参数
gsql -p 端口号 -d postgres -U alice -r -C
gaussdb=# -- 6 创建主密钥
gaussdb=# CREATE CLIENT MASTER KEY alice_cmk WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC);

父主题: SQL语法

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

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