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

创建凭据版本

功能介绍

在指定的凭据中,创建一个新的凭据版本,用于加密保管新的凭据值。默认情况下,新创建的凭据版本被标记为SYSCURRENT状态,而SYSCURRENT标记的前一个凭据版本被标记为SYSPREVIOUS状态。您可以通过指定VersionStage参数来覆盖默认行为。

接口约束

  • 凭据管理服务console控制台仅使用secret_string字段。如果您想要添加二进制类型凭据到secret_binary字段中保存,你必须使用SDK或API的方式。
  • 凭据管理服务的每个凭据中最多可支持20个版本。
  • 只能对处于ENABLED状态的凭据添加新的版本。
  • 每次存入新的凭据值时,凭据版本号按照为v1,v2,v3...的模式自动增加。

调试

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

URI

POST /v1/{project_id}/secrets/{secret_name}/versions

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

secret_name

String

凭据名称。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

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

表3 请求Body参数

参数

是否必选

参数类型

描述

secret_binary

String

新创建凭据的凭据值,将其加密后,存入初始版本中。

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

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

secret_string

String

新创建凭据的凭据值,将其加密后,存入初始版本中。

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

version_stages

Array of strings

凭据版本在存入时需要被同时标记的版本状态。如果您不指定此参数,凭据管家默认为新版本标记SYSCURRENT

约束:数组大小:最小1,最大12。stage长度:最小1字节,最大64字节。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

version_metadata

VersionMetadata object

凭据版本被标记的状态。

表5 VersionMetadata

参数

参数类型

描述

id

String

凭据的版本号标识符,凭据对象下唯一。

create_time

Long

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

kms_key_id

String

加密版本凭据值的KMS主密钥ID。

secret_name

String

凭据名称。

version_stages

Array of strings

凭据版本被标记的状态列表。每个版本标签对于凭据对象下版本是唯一存在的,如果你创建版本时,指定的是同一凭据对象下的一个已经标记在其他版本上的状态,该标签将自动从其他版本上删除,并附加到此版本上。

如果未指定version_stage的值,则凭据管理服务会自动移动临时标签SYSCURRENT到此新版本。

状态码: 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

错误描述

请求示例

{
  "secret_string" : "secret_string"
}

响应示例

状态码: 200

请求已成功

{
  "version_metadata" : {
    "id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
    "kms_key_id" : "b168fe00ff56492495a7d22974df2d0b",
    "create_time" : 1581507580000,
    "secret_name" : "secret-name-demo",
    "version_stages" : [ "pending", "used" ]
  }
}

状态码

状态码

描述

200

请求已成功

400

请求参数有误

401

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

403

认证失败

404

资源不存在,资源未找到

500

服务内部错误

502

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

504

网关超时

错误码

请参见错误码