Armazena uma nova versão de um valor de segredo para um segredo genérico.
Descrição da operação
-
Para obter detalhes sobre a política de acesso que deve ser concedida a um usuário do Resource Access Management (RAM) ou a uma função do RAM para chamar esta operação de API, consulte Controle de acesso.
-
Apenas segredos genéricos suportam esta operação de API. Cada segredo genérico pode armazenar até 10 versões de segredo. Se o limite for excedido, o KMS exclui automaticamente a versão de segredo mais antiga.
-
Por padrão, um valor de segredo recém-armazenado é marcado com ACSCurrent, e a versão anterior marcada com ACSCurrent é marcada com ACSPrevious. Você pode substituir esse comportamento padrão especificando o parâmetro VersionStages.
-
Esta operação de API é usada para armazenar uma nova versão de um valor de segredo, e não para modificar o valor de segredo de uma versão existente. Ao armazenar uma nova versão, você deve especificar um ID de versão. O KMS executa operações com base nas seguintes regras:
Se o ID de versão não existir no segredo: uma nova versão é criada e o valor do segredo é armazenado.
Se o ID de versão já existir no segredo: se o valor do segredo na solicitação for igual ao valor do segredo correspondente ao ID de versão no segredo, a solicitação será ignorada e uma resposta de sucesso será retornada (a solicitação é idempotente). Se os valores do segredo forem diferentes, a solicitação será rejeitada e uma resposta de falha será retornada.
Este tópico fornece um exemplo de armazenamento de uma nova versão de um valor de segredo para o segredo chamado secret001. O ID de versão VersionId da nova versão do segredo é v3, e o valor do segredo SecretData é importantdata.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
kms:PutSecretValue |
update |
*Segredo.
|
Nenhuma |
|
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| VersionId |
string |
Sim |
O ID da versão do segredo. O ID da versão deve ser exclusivo dentro do segredo. |
v3 |
| SecretName |
string |
Sim |
O nome ou o Alibaba Cloud Resource Name (ARN) do segredo. Nota
Ao acessar um segredo que pertence a outra conta da Alibaba Cloud, você deve especificar o ARN do segredo. O ARN de um segredo está no formato |
secret001 |
| SecretData |
string |
Sim |
O valor do segredo. O valor do segredo é criptografado e armazenado na nova versão especificada. |
importantdata |
| SecretDataType |
string |
Não |
O tipo do valor do segredo. Valores válidos:
|
text |
| VersionStages |
string |
Não |
Os estágios de versão que são anexados à versão do segredo quando ela é armazenada. Se você não especificar este parâmetro, o KMS anexa ACSCurrent à nova versão por padrão. |
["ACSCurrent","ACSNext"] |
Para obter mais informações sobre os parâmetros de solicitação comuns, consulte Parâmetros comuns.
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| RequestId |
string |
O ID da solicitação. O ID é um identificador exclusivo gerado pela Alibaba Cloud para a solicitação e pode ser usado para solução de problemas. |
f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8 |
| SecretName |
string |
O nome do segredo. |
secret001 |
| VersionId |
string |
O ID da versão do segredo. |
v3 |
| VersionStages |
object |
||
| VersionStage |
array |
O estágio da versão do segredo. |
|
|
string |
O estágio da versão do segredo. |
{ "VersionStage": [ "ACSCurrent", "ACSNext" ] } |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "f94ec9d3-2d10-4922-9a5c-5dcd5ebcb5e8",
"SecretName": "secret001",
"VersionId": "v3",
"VersionStages": {
"VersionStage": [
"{ \"VersionStage\": [ \"ACSCurrent\", \"ACSNext\" ] }"
]
}
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | InvalidParameter | some of the specified parameters "\" is not valid | |
| 400 | Rejected.LimitExceeded | exceed secret limits error | |
| 500 | InternalFailure | Internal Failure | |
| 403 | Forbidden.NoPermission | This operation is forbidden by permission system | |
| 404 | Forbidden.ResourceNotFound | Resource not found | |
| 409 | Rejected.ResourceExist | The request was rejected becasue key already exsit |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.