更新时间:2022-12-06 GMT+08:00

创建密钥

功能介绍

创建用户主密钥,可用来加密数据密钥。

别名“/default”为服务默认主密钥的后缀名,由服务自动创建。因此用户创建的主密钥别名不能与服务默认主密钥的别名相同,即后缀名不能为“/default”

对于开通企业项目的用户,服务默认主密钥属于且只能属于默认企业项目下,且不支持企业资源的迁入迁出。服务默认主密钥为用户提供基础的云上加密功能,满足合规要求。因此,在企业多项目下,其他非默认企业项目下的用户均可使用该密钥。若客户有企业管理资源诉求,请自行创建和使用密钥。

URI

  • URI格式

    POST /v1.0/{project_id}/kms/create-key

  • 参数说明
    表1 参数说明

    参数

    是否必选

    参数类型

    描述

    project_id

    String

    项目ID。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

key_alias

String

非默认主密钥别名,取值范围为1到255个字符,满足正则匹配“^[a-zA-Z0-9:/_-]{1,255}$”,且不与系统服务创建的默认主密钥别名重名。

enterprise_project_id

String

企业多项目ID。

  • 用户未开通企业多项目时,不需要输入该字段。
  • 用户开通企业多项目时,创建资源可以输入该字段。

    若用户不输入该字段,默认创建属于默认企业多项目ID(ID为“0”)的资源。

    注意:若用户没有默认企业多项目ID(ID为“0”)下的创建权限,则接口报错。

key_description

String

密钥描述,取值0到255字符。

origin

String

密钥来源,默认为“kms”,枚举如下:
  • kms:表示密钥材料由kms生成。
  • external:表示密钥材料由外部导入。

sequence

String

请求消息序列号,36字节序列号。

例如:919c82d4-8046-4722-9094-35c3c6524cff

响应消息

表3 响应参数

参数

是否必选

参数类型

描述

key_info

Array of objects

密钥信息,详情请参见表4

表4 key_info字段结构说明

参数

是否必选

参数类型

描述

key_id

String

密钥ID。

domain_id

String

用户域ID。

示例

如下以创建别名为“test”的密钥为例。

  • 请求样例
    {
        "key_alias": "test"
    }
  • 响应样例
    {
        "key_info": {
            "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
            "domain_id": "b168fe00ff56492495a7d22974df2d0b"
        }
    }

    {
        "error": {
            "error_code": "KMS.XXXX",
            "error_msg": "XXX"
        }
    }

状态码

表5描述的是API返回的正常状态码。
表5 状态码

状态码

编码

状态说明

200

OK

请求已成功。

异常状态码,请参见状态码