创建密钥
功能介绍
创建用户主密钥,可用来加密数据密钥。
别名“/default”为服务默认主密钥的后缀名,由服务自动创建。因此用户创建的主密钥别名不能与服务默认主密钥的别名相同,即后缀名不能为“/default”。
对于开通企业项目的用户,服务默认主密钥属于且只能属于默认企业项目下,且不支持企业资源的迁入迁出。服务默认主密钥为用户提供基础的云上加密功能,满足合规要求。因此,在企业多项目下,其他非默认企业项目下的用户均可使用该密钥。若客户有企业管理资源诉求,请自行创建和使用密钥。
URI
请求消息
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
| Content-Type | 是 | String | application/json |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key_alias | 是 | String | 非默认主密钥别名,取值范围为1到255个字符,满足正则匹配“^[a-zA-Z0-9:/_-]{1,255}$”,且不与系统服务创建的默认主密钥别名重名。 |
| key_spec | 否 | String | 密钥生成算法,默认为“AES_256”,枚举如下:
|
| key_usage | 否 | String | 密钥用途,对称密钥默认为“ENCRYPT_DECRYPT”,非对称密钥默认为“SIGN_VERIFY”,具体如下:
|
| enterprise_project_id | 否 | String | 企业多项目ID。 |
| key_description | 否 | String | 密钥描述,取值0到255字符。 |
| origin | 否 | String | 密钥来源,默认为“kms”,枚举如下:
|
| sequence | 否 | String | 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff |
响应消息
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key_info | 是 | Array of objects | 密钥信息,详情请参见表5。 |
示例
如下以创建别名为“test”的密钥为例。
- 请求样例
{ "key_alias": "test" } - 响应样例
{ "key_info": { "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e", "domain_id": "b168fe00ff56492495a7d22974df2d0b" } }或
{ "error": { "error_code": "KMS.XXXX", "error_msg": "XXX" } }