Armazena o valor do segredo de uma nova versão em um segredo genérico.
Apenas segredos genéricos suportam esta operação. Cada segredo genérico pode ter até 10 versões. Se um segredo genérico ultrapassar esse limite, o Key Management Service (KMS) exclui automaticamente a versão mais antiga de forma rotativa.
Por padrão, o novo valor de segredo armazenado recebe o rótulo ACSCurrent, e o rótulo da versão anterior passa de ACSCurrent para ACSPrevious. Caso você especifique VersionStage, o novo valor de segredo armazenado receberá o rótulo de estágio definido.
Use esta operação para armazenar os valores de segredo de novas versões. Não é possível usá-la para modificar o valor de segredo de uma versão existente. Ao armazenar uma nova versão, especifique o número da versão. O KMS segue estas regras:
Se o número de versão especificado não existir no segredo, o KMS cria a versão e armazena o valor do segredo.
Caso o número de versão especificado já exista no segredo e seu valor seja idêntico ao valor informado, o KMS ignora a solicitação e retorna uma mensagem de sucesso. A solicitação é idempotente. Se o número de versão já existir, mas o valor for diferente do informado, o KMS rejeita a solicitação e retorna uma mensagem de falha.
No exemplo a seguir, o valor de segredo de uma nova versão é armazenado no segredo secret001. VersionId está definido como v3 e SecretData como importantdata.
Depuração
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
| Action | String | Sim | PutSecretValue | A operação a ser executada. Defina o valor como PutSecretValue. |
| VersionId | String | Sim | v3 | O número da versão do segredo, que deve ser único dentro do segredo. |
| SecretName | String | Sim | secret001 | O Alibaba Cloud Resource Name (ARN) do segredo ou do recurso de segredo. Nota Ao acessar um segredo em outra conta Alibaba Cloud, insira o ARN do segredo. O ARN segue o formato acs:kms:${region}:${account}:secret/${secret-name}. |
| SecretData | String | Sim | importantdata | O valor do segredo. Esse valor é criptografado e depois armazenado na nova versão. |
| SecretDataType | String | Não | text | O tipo do valor do segredo. Valores válidos:
|
| VersionStages | String | Não | ["ACSCurrent","ACSNext"] | O rótulo de estágio usado para marcar a nova versão. Se você não especificar este parâmetro, o KMS marca a nova versão com ACSCurrent. |
Para obter mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
SecretName |
String |
secret001 |
O nome do segredo. |
|
VersionId |
String |
v3 |
O número da versão do segredo. |
|
RequestId |
String |
f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8 |
O ID da solicitação, utilizado para localizar e solucionar problemas. |
|
VersionStages |
Array of String |
{ "VersionStage": [ "ACSCurrent", "ACSNext" ] } |
O rótulo de estágio do segredo. |
Exemplos
Exemplos de solicitações
http(s)://[Endpoint]/?Action=PutSecretValue
&VersionId=v3
&SecretName=secret001
&SecretData=importantdata
&SecretDataType=text
&VersionStages=["ACSCurrent","ACSNext"]
&Common request parameters
Exemplos de respostas de sucesso
Formato 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>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"SecretName" : "secret001",
"VersionId" : "v3",
"RequestId" : "f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8",
"VersionStages" : [ "{ \"VersionStage\": [ \"ACSCurrent\", \"ACSNext\" ] }" ]
}
Códigos de erro
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.