Cria um segredo e armazena a versão inicial do segredo.
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 invocar esta operação de API, consulte Controle de acesso.
-
Você deve especificar o nome do segredo, o valor do segredo da versão inicial e o ID da versão. O status da versão inicial é marcado como ACSCurrent.
-
O Key Management Service (KMS) usa a chave especificada para criptografar e proteger o valor do segredo. A chave e o segredo devem pertencer à mesma instância do KMS, e a chave deve ser uma chave simétrica.
NotaO KMS criptografa o valor do segredo de cada versão. Metadados como o nome do segredo, o ID da versão e as tags de status da versão não são criptografados.
-
Antes de criptografar o valor do segredo, você deve ter a permissão kms:GenerateDataKey na chave.
Este tópico fornece um exemplo de criação de um segredo do ApsaraDB RDS chamado mydbconninfo com o ID da versão inicial VersionId definido como v1 e o valor do segredo SecretData definido como {"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
kms:CreateSecret |
create |
*Todos os recursos.
|
Nenhuma |
|
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| SecretName |
string |
Sim |
O nome do segredo. O nome do segredo deve ser exclusivo na região atual. O nome pode ter até 192 caracteres e pode conter letras, dígitos, sublinhados (_), barras (/), sinais de mais (+), sinais de igual (=), pontos (.), hifens (-) e arrobas (@). Os requisitos de nomenclatura variam de acordo com o tipo de segredo:
|
mydbconninfo |
| VersionId |
string |
Sim |
O ID da versão inicial. O ID da versão deve ser exclusivo dentro do segredo. O ID da versão pode ter até 64 caracteres. |
v1 |
| EncryptionKeyId |
string |
Não |
O ID da chave usada para criptografar o valor do segredo. Nota
A chave e o segredo devem pertencer à mesma instância do KMS, e a chave deve ser uma chave simétrica. |
key-gzz63ff0db5hg3qje**** |
| SecretData |
string |
Sim |
O valor do segredo. O valor pode ter até 30.720 bytes (30 KB) de comprimento. O KMS criptografa o valor usando a chave especificada e o armazena na versão inicial.
|
{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]} |
| SecretDataType |
string |
Não |
O tipo do valor do segredo. Valores válidos:
Nota
Quando SecretType é definido como Rds, Redis, PolarDB, RAMCredentials ou ECS, SecretDataType só pode ser definido como text. |
text |
| Description |
string |
Não |
A descrição do segredo. |
mydbinfo |
| Tags |
string |
Não |
As tags do segredo. Cada tag é um par chave-valor que consiste em uma chave de tag e um valor de tag. A chave de tag e o valor de tag podem ter até 128 caracteres e podem conter letras maiúsculas e minúsculas, dígitos, barras (/), barras invertidas (), sublinhados (_), hifens (-), pontos (.), sinais de mais (+), sinais de igual (=), dois-pontos (:) e arrobas (@).
|
[{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}] |
| SecretType |
string |
Não |
O tipo do segredo. Valores válidos:
|
Rds |
| ExtendedConfig |
object |
Não |
A configuração estendida do segredo, que é usada para especificar a propriedade de um tipo de segredo específico. O valor pode ter até 1.024 caracteres.
Nota
Quando SecretType é definido como Rds, Redis, PolarDB, RAMCredentials ou ECS, você deve definir este parâmetro. |
{"SecretSubType":"SingleUser", "DBInstanceId":"rm-bp1b3dd3a506e****" ,"CustomData":{"Key1": "v1", "fds":"fdsf"}} |
| EnableAutomaticRotation |
boolean |
Não |
Especifica se a rotação automática deve ser ativada. Valores válidos:
Nota
Este parâmetro só entra em vigor quando SecretType é definido como Rds (segredo do ApsaraDB RDS), PolarDB (segredo do PolarDB), Redis (segredo do Redis), RAMCredentials (segredo do RAM) ou ECS (segredo do ECS). Quando SecretType é definido como Generic (segredo genérico), a rotação automática não é suportada. Você pode chamar a operação PutSecretValue para rotacionar o segredo manualmente. |
true |
| RotationInterval |
string |
Não |
O intervalo para rotação automática. Valores válidos: de 6 horas a 8.760 horas (365 dias). Nota
Você deve definir este parâmetro apenas quando EnableAutomaticRotation estiver definido como true. |
30d |
| DKMSInstanceId |
string |
Não |
O ID da instância do KMS. |
kst-bjj62d8f5e0sgtx8h**** |
| Policy |
string |
Não |
O conteúdo da política de acesso no formato JSON. O comprimento máximo é de 32.768 bytes. Para obter mais informações sobre as políticas de segredo, consulte Visão geral das políticas de segredo. Se você não especificar este parâmetro, a política de acesso padrão será usada. A política de acesso inclui os seguintes campos:
A política de acesso usa o seguinte formato:
Detalhes da instrução:
Nota
Depois de conceder permissão a um usuário do Resource Access Management (RAM) ou a uma função do RAM em outra conta do Alibaba Cloud, você também deve usar a conta do Alibaba Cloud do usuário ou da função do RAM para autorizá-los a usar o segredo no console do RAM. Somente então o usuário ou a função do RAM poderá usar o segredo. Para obter mais informações, consulte Exemplos de políticas personalizadas para o Key Management Service, Conceder permissão a um usuário do Resource Access Management (RAM) e Conceder permissões a uma função do RAM. |
{"Version":"1","Statement": [{"Sid":"kms default secret policy","Effect":"Allow","Principal":{"RAM": ["acs:ram::119285303511****:*"]},"Action":["kms:*"],"Resource": ["*"] }] } |
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 |
|||
| Arn |
string |
O Alibaba Cloud Resource Name (ARN). |
acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo |
| AutomaticRotation |
string |
Indica se a rotação automática está ativada. Valores válidos:
Nota
Este parâmetro é retornado apenas quando SecretType é definido como Rds, Redis, PolarDB, RAMCredentials ou ECS. |
Enabled |
| DKMSInstanceId |
string |
O ID da instância do KMS. |
kst-bjj62d8f5e0sgtx8h**** |
| ExtendedConfig |
string |
A configuração estendida do segredo. Nota
Este parâmetro é retornado apenas quando SecretType é definido como Rds, Redis, PolarDB, RAMCredentials ou ECS. |
{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} } |
| NextRotationDate |
string |
A hora da próxima rotação. Nota
Este parâmetro é retornado apenas quando a rotação automática está ativada. |
2023-07-06T18:22:03Z |
| RequestId |
string |
O ID da solicitação, que é um identificador exclusivo gerado pelo Alibaba Cloud para a solicitação. Você pode usar o ID para solucionar problemas. |
3bf02f7a-015b-4f93-be0f-cc043fda2dd3 |
| RotationInterval |
string |
O intervalo para rotação automática do segredo. Nota
Este parâmetro é retornado apenas quando a rotação automática está ativada. |
604800s |
| SecretName |
string |
O nome do segredo. |
mydbconninfo |
| SecretType |
string |
O tipo do segredo. Valores válidos:
|
Rds |
| VersionId |
string |
O ID da versão do segredo. |
v1 |
Exemplos
Resposta de sucesso
JSON formato
{
"Arn": "acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo",
"AutomaticRotation": "Enabled",
"DKMSInstanceId": "kst-bjj62d8f5e0sgtx8h****",
"ExtendedConfig": "{\\\"SecretSubType\\\":\\\"SingleUser\\\", \\\"DBInstanceId\\\":\\\"rm-uf667446pc955****\\\", \\\"CustomData\\\":\"Key1\": \"v1\", \"fds\":\"fdsf\"} }",
"NextRotationDate": "2023-07-06T18:22:03Z",
"RequestId": "3bf02f7a-015b-4f93-be0f-cc043fda2dd3",
"RotationInterval": "604800s",
"SecretName": "mydbconninfo",
"SecretType": "Rds",
"VersionId": "v1"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | UnsupportedOperation | This action is not supported. | |
| 400 | Rejected.LimitExceeded | The request was rejected because user create resource limit was exceeded | |
| 400 | InvalidParameter | The specified parameter is not valid. | |
| 400 | Rejected.ShareQuotaExceedLimit | Instance Share Quota Exceed Limit. | |
| 500 | InternalFailure | Internal Failure | |
| 403 | Forbidden.DKMSInstanceNotFound | The specified DKMS Instance is not found. | |
| 404 | Forbidden.ResourceNotFound | The resource is not found. | |
| 409 | Rejected.ResourceExist | The resource already exists. | |
| 409 | Rejected.ResourceInDeleteWindow | The secret is planned to be deleted. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.