
# CREATE CLIENT MASTER KEY
#### 功能描述
密态等值查询特性使用多级加密模型，主密钥加密列密钥，列密钥加密数据。本语法用于创建主密钥对象。
#### 注意事项
- 本语法属于全密态数据库特有语法。
- 连接数据库时，在数据库驱动侧，需开启密态等值查询特性连接参数，才可执行本语法。
- 主密钥由外部密钥管理者提供，本语法仅处理密钥来源、密钥ID等信息，已支持的外部密钥管理者包括：
  1. 华为云密钥管理服务huawei_kms。
   
- 在使用本语法前，请参考《特性指南》中"设置密态等值查询"章节，在数据库驱动侧，为外部密钥管理者设置环境变量。
 
#### 语法格式
```
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**
  该参数作为密钥对象名，在同一命名空间下，需满足命名唯一性约束。
  取值范围：字符串，需符合[标识符命名规范](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0319.html#ZH-CN_TOPIC_0000002235270221__zh-cn_topic_0000002235098221_section14873217506)。
  
- **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   |
     
  
 
#### 示例（在使用gsql连接数据库服务器的场景下）
在使用本语法前，需开通密钥服务并配置访问密钥服务的参数，详细示例请参考《特性指南》中"设置密态等值查询"。
#### 相关链接
[DROP CLIENT MASTER KEY](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0559.html#ZH-CN_TOPIC_0000002200190326)
