更新时间:2023-05-22 GMT+08:00

创建凭据

功能介绍

创建新的凭据,并将凭据值存入凭据的初始版本。

凭据管理服务将凭据值加密后,存储在凭据对象下的版本中。每个版本可与多个凭据版本状态相关联,凭据版本状态用于标识凭据版本处于的阶段,没有版本状态标记的版本视为已弃用,可用凭据管理服务自动删除。

初始版本的状态被标记为SYSCURRENT。

接口约束

您可以指定一个对称密钥类型的用户主密钥作为保护凭据的加密密钥。当不指定kms_key_id参数时,凭据管理服务将默认使用名为csms/default的默认主密钥,用于加密您帐号在本项目中创建的凭据。如果用户帐号下不存在该名称的主密钥,则凭据管理服务会自动为您创建该名称的密钥。

如果您指定主密钥,则需要同时具备相应主密钥的kms:dek:create权限,用于凭据值进行加密。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/secrets

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

凭据名称。

约束:取值范围为1到64个字符,满足正则匹配“^[a-zA-Z0-9._-]{1,64}$”。

kms_key_id

String

用于加密保护凭据值的KMS主密钥ID,如果您未指定此参数,凭据管理服务将默认使用名为csms/default的默认主密钥,用于加密您帐号在本项目中创建的凭据值。如果用户帐号下不存在该名称的主密钥,则凭据管理服务自动为您创建该名称的密钥。

description

String

凭据的描述信息。

约束:2048字节。

secret_binary

String

二进制类型凭据在base64编码后的明文,凭据管理服务将其加密后,存入凭据的初始版本中。

类型:base64编码的二进制数据对象。

约束:secret_binary和secret_string必须且只能设置一个,最大32K。

secret_string

String

文本类型凭据的明文,凭据管理服务将其加密后,存入凭据的初始版本中。

约束:secret_binary和secret_string必须且只能设置一个,最大32K。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

secret

Secret object

凭据对象。

表5 Secret

参数

参数类型

描述

id

String

凭据的资源标识符。

name

String

凭据名称。

state

String

凭据状态,取值如下:

ENABLED:表示启用状态

DISABLED:表示禁用状态

PENDING_DELETE:表示待删除状态

FROZEN:表示冻结状态

kms_key_id

String

用于加密凭据值的KMS主密钥的ID值。

description

String

凭据的描述信息。

create_time

Long

凭据创建时间,时间戳,即从1970年1月1日至该时间的总秒数。

update_time

Long

凭据上次更新时间,时间戳,即从1970年1月1日至该时间的总秒数。

scheduled_delete_time

Long

凭据计划删除时间,时间戳,即从1970年1月1日至该时间的总秒数。

凭据不在删除计划中时,本项值为null。

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 502

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 504

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

{
  "name" : "demo",
  "kms_key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "secret_string" : "this is a demo secret string"
}

响应示例

状态码: 200

请求已成功

{
  "secret" : {
    "id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
    "name" : "test",
    "state" : "ENABLED",
    "kms_key_id" : "b168fe00ff56492495a7d22974df2d0b",
    "description" : "description",
    "create_time" : 1581507580000,
    "update_time" : 1581507580000,
    "scheduled_delete_time" : 1581507580000
  }
}

状态码

状态码

描述

200

请求已成功

400

请求参数有误

401

被请求的页面需要用户名和密码

403

认证失败

404

资源不存在,资源未找到

500

服务内部错误

502

请求未完成。服务器从上游服务器收到一个无效的响应

504

网关超时

错误码

请参见错误码