PutSecretValue
調(diào)用PutSecretValue接口為通用憑據(jù)存入一個新版本的憑據(jù)值。
默認(rèn)情況下,新存入的憑據(jù)值被標(biāo)記為ACSCurrent,而ACSCurrent標(biāo)記的前一個版本被標(biāo)記為ACSPrevious。您可以通過指定VersionStage參數(shù)來覆蓋該默認(rèn)行為。
此接口用于存入新版本的憑據(jù)值,而不能用于修改已有版本的憑據(jù)值。存入新版本時需指定版本號,KMS按照如下規(guī)則進(jìn)行操作:
- 版本號在憑據(jù)內(nèi)不存在:創(chuàng)建新版本并存入憑據(jù)值。
- 版本號在憑據(jù)內(nèi)存在:如果入?yún)⒅械膽{據(jù)值和憑據(jù)內(nèi)該版本號對應(yīng)的憑據(jù)值相同,則請求會被忽略,并且返回成功(請求是冪等的),不相同時則請求會被拒絕,且返回失敗。
本文將提供一個示例,為憑據(jù)名稱是secret001
的憑據(jù)存入一個新版本的憑據(jù)值,新憑據(jù)版本號VersionId
為v3
、憑據(jù)值SecretData
為importantdata
。
調(diào)試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求參數(shù)
名稱 |
類型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | PutSecretValue | 要執(zhí)行的操作。取值:PutSecretValue。 |
VersionId | String | 是 | v3 | 憑據(jù)的版本號,在該憑據(jù)內(nèi)唯一。 |
SecretName | String | 是 | secret001 | 憑據(jù)名稱或憑據(jù)資源名稱(ARN)。 說明 訪問其他阿里云賬號下的憑據(jù)時,必須輸入憑據(jù)ARN。憑據(jù)ARN的格式為 acs:kms:${region}:${account}:secret/${secret-name} 。 |
SecretData | String | 是 | importantdata | 憑據(jù)值。加密后存入指定的新版本中。 |
SecretDataType | String | 否 | text | 憑據(jù)值類型。取值:
|
VersionStages | String | 否 | ["ACSCurrent","ACSNext"] | 憑據(jù)版本在存入時需要被同時標(biāo)記的版本狀態(tài)。如果您不指定此參數(shù),KMS默認(rèn)為新版本標(biāo)記ACSCurrent。 |
關(guān)于公共請求參數(shù)的詳情,請參見公共參數(shù)。
返回數(shù)據(jù)
名稱 |
類型 |
示例值 |
描述 |
SecretName | String | secret001 | 憑據(jù)名稱。 |
VersionId | String | v3 | 憑據(jù)的版本號。 |
RequestId | String | f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8 | 本次調(diào)用請求的ID,是由阿里云為該請求生成的唯一標(biāo)識符,可用于排查和定位問題。 |
VersionStages | Array of String | { "VersionStage": [ "ACSCurrent", "ACSNext" ] } | 憑據(jù)的版本狀態(tài)。 |
示例
請求示例
http(s)://[Endpoint]/?Action=PutSecretValue
&VersionId=v3
&SecretName=secret001
&SecretData=importantdata
&SecretDataType=text
&VersionStages=["ACSCurrent","ACSNext"]
&公共請求參數(shù)
正常返回示例
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\" ] }" ]
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。