调用PutSecretValue接口为通用凭据存入一个新版本的凭据值。
说明 仅通用凭据支持本接口,每个通用凭据最多保存10个凭据版本,超出时KMS会滚动删除最早的凭据版本。
默认情况下,新存入的凭据值被标记为ACSCurrent,而ACSCurrent标记的前一个版本被标记为ACSPrevious。您可以通过指定VersionStage参数来覆盖该默认行为。
此接口用于存入新版本的凭据值,而不能用于修改已有版本的凭据值。存入新版本时需指定版本号,KMS按照如下规则进行操作:
- 版本号在凭据内不存在:创建新版本并存入凭据值。
- 版本号在凭据内存在:如果入参中的凭据值和凭据内该版本号对应的凭据值相同,则请求会被忽略,并且返回成功(请求是幂等的),不相同时则请求会被拒绝,且返回失败。
本文将提供一个示例,为凭据名称是secret001的凭据存入一个新版本的凭据值,新凭据版本号VersionId为v3、凭据值SecretData为importantdata。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 | 
| Action | String | 是 | PutSecretValue | 要执行的操作。取值:PutSecretValue。 | 
| VersionId | String | 是 | v3 | 凭据的版本号,在该凭据内唯一。 | 
| SecretName | String | 是 | secret001 | 凭据名称或凭据资源名称(ARN)。 说明 访问其他阿里云账号下的凭据时,必须输入凭据ARN。凭据ARN的格式为 acs:kms:${region}:${account}:secret/${secret-name}。 | 
| SecretData | String | 是 | importantdata | 凭据值。加密后存入指定的新版本中。 | 
| SecretDataType | String | 否 | text | 凭据值类型。取值: 
 | 
| VersionStages | String | 否 | ["ACSCurrent","ACSNext"] | 凭据版本在存入时需要被同时标记的版本状态。如果您不指定此参数,KMS默认为新版本标记ACSCurrent。 | 
关于公共请求参数的详情,请参见公共参数。
返回数据
| 名称 | 类型 | 示例值 | 描述 | 
| SecretName | String | secret001 | 凭据名称。 | 
| VersionId | String | v3 | 凭据的版本号。 | 
| RequestId | String | f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8 | 本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 | 
| VersionStages | Array of String | { "VersionStage": [ "ACSCurrent", "ACSNext" ] } | 凭据的版本状态。 | 
示例
请求示例
http(s)://[Endpoint]/?Action=PutSecretValue
&VersionId=v3
&SecretName=secret001
&SecretData=importantdata
&SecretDataType=text
&VersionStages=["ACSCurrent","ACSNext"]
&公共请求参数正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<PutSecretValueResponse>
    <SecretName>secret001</SecretName>
    <VersionId>v3</VersionId>
    <RequestId>f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8</RequestId>
    <VersionStages>{ "VersionStage": [ "ACSCurrent", "ACSNext" ] }</VersionStages>
</PutSecretValueResponse>JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
  "SecretName" : "secret001",
  "VersionId" : "v3",
  "RequestId" : "f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8",
  "VersionStages" : [ "{ \"VersionStage\": [ \"ACSCurrent\", \"ACSNext\" ] }" ]
}错误码
访问错误中心查看更多错误码。
该文章对您有帮助吗?