创建凭据版本 - CreateSecretVersion
功能介绍
在指定的凭据中,创建一个新的凭据版本,用于加密保管新的凭据值。默认情况下,新创建的凭据版本被标记为SYSCURRENT状态,而SYSCURRENT标记的前一个凭据版本被标记为SYSPREVIOUS状态。您可以通过指定VersionStage参数来覆盖默认行为。
接口约束
-
凭据管理服务console控制台仅使用secret_string字段。如果您想要添加二进制类型凭据到secret_binary字段中保存,必须使用SDK或API的方式。
-
凭据管理服务的每个凭据中最多可支持20个版本。
-
只能对处于ENABLED状态的凭据添加新的版本。
-
每次存入新的凭据值时,凭据版本号按照为v1,v2,v3...的模式自动增加。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
csms:secret:createVersion
Write
secretName *
-
csms:Type
-
g:EnterpriseProjectId
-
g:ResourceTag/<tag-key>
- csms:secretVersion:create
kms:cmk:createDataKey
-
URI
POST /v1/{project_id}/secrets/{secret_name}/versions
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
项目ID。 |
|
secret_name |
是 |
String |
凭据名称。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
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字节。 |
|
expire_time |
否 |
Long |
凭据版本过期时间,时间戳,即从1970年1月1日至该时间的总秒数。默认为空,凭据订阅“版本过期”事件类型时,有效期判断所依据的值。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
version_metadata |
VersionMetadata object |
凭据版本被标记的状态。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
凭据的版本号标识符,凭据对象下唯一。 |
|
create_time |
Long |
凭据版本创建时间,时间戳,即从1970年1月1日至该时间的总秒数。 |
|
expire_time |
Long |
凭据版本过期时间,时间戳,即从1970年1月1日至该时间的总秒数。默认为空,凭据订阅“版本过期”事件类型时,有效期判断所依据的值。 |
|
kms_key_id |
String |
加密版本凭据值的KMS主密钥ID。 |
|
secret_name |
String |
凭据名称。 |
|
version_stages |
Array of strings |
凭据版本被标记的状态列表。每个版本标签对于凭据对象下版本是唯一存在的,如果创建版本时,指定的是同一凭据对象下的一个已经标记在其他版本上的状态,该标签将自动从其他版本上删除,并附加到此版本上。 如果未指定version_stage的值,则凭据管理服务会自动移动临时标签SYSCURRENT到此新版本。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:401
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:403
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:404
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:500
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:502
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
状态码:504
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码 |
|
error_msg |
String |
错误描述 |
请求示例
创建凭据版本,凭据值为secret_string。
{
"secret_string" : "secret_string"
}
响应示例
状态码:200
请求已成功
{
"version_metadata" : {
"id" : "v1",
"kms_key_id" : "b168fe00ff56492495a7d22974df2d0b",
"create_time" : 1581507580000,
"secret_name" : "secret-name-demo",
"version_stages" : [ "SYSCURRENT" ]
}
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
请求已成功 |
|
400 |
请求参数有误 |
|
401 |
被请求的页面需要用户名和密码 |
|
403 |
认证失败 |
|
404 |
资源不存在,资源未找到 |
|
500 |
服务内部错误 |
|
502 |
请求未完成。服务器从上游服务器收到一个无效的响应 |
|
504 |
网关超时 |
错误码
请参见错误码。