Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-02-28 GMT+08:00

Criação de um segredo

Função

Essa API é usada para criar um segredo e armazenar o valor de segredo na versão de segredo inicial.

Valores de segredo são criptografados e armazenados em versões de segredo. Uma versão pode ter vários status. Versões sem nenhum status são consideradas versões obsoletas e podem ser excluídas automaticamente pelo CSMS.

A versão inicial é marcada pela tag de status SYSCURRENT.

Restrições

Você pode usar uma chave principal de cliente (CMK) simétrica para criptografar um segredo. Se o parâmetro kms_key_id não for especificado, a chave principal padrão csms/default será usada para criptografar segredos. A chave padrão é criada automaticamente pelo CSMS.

Para usar uma chave definida pelo usuário para criptografar segredos, você precisa ter a permissão kms:dek:create para a chave.

URI

POST /v1/{project_id}/secrets

Tabela 1 Parâmetro de URI

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto

Parâmetro de solicitação

Tabela 2 Parâmetro de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário.

Ele pode ser obtido chamando a API do IAM (valor de X-Subject-Token no cabeçalho da resposta).

Tabela 3 Parâmetros de corpo de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome de segredo.

Restrição: o valor pode conter de 1 a 64 caracteres e deve corresponder à expressão regular ^[a-zA-Z0-9._-]{1,64}$.

kms_key_id

Não

String

ID da CMK do KMS usado para criptografar segredos. Se este parâmetro não for especificado, a chave principal padrão csms/default será usada. A chave padrão é criada automaticamente pelo CSMS.

description

Não

String

Descrição de um segredo.

Restrições: o valor contém 2048 bytes.

secret_binary

Não

String

Texto não criptografado de um segredo binário no formato Base64. O CSMS o criptografa e o armazena na versão inicial do segredo.

Tipo: objeto de dados binários no formato Base64

Restrições: você deve configurar um e somente um de secret_binary e secret_string. O tamanho máximo é de 32 KB.

secret_string

Não

String

Texto não criptografado de um segredo binário em formato de texto. O CSMS o criptografa e o armazena na versão inicial do segredo.

Restrições: você deve configurar um e somente um de secret_binary e secret_string. O tamanho máximo é de 32 KB.

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetro do corpo da resposta

Parâmetro

Tipo

Descrição

secret

Secret object

Segredo

Tabela 5 Segredo

Parâmetro

Tipo

Descrição

id

String

ID do segredo

name

String

Nome de segredo

state

String

Status de segredo. Seu valor pode ser:

ENABLED

DISABLED

PENDING_DELETE

FROZEN

kms_key_id

String

ID da CMK do KMS usado para criptografar valores do segredo

description

String

Descrição de um segredo

create_time

Long

Tempo de criação do segredo. O carimbo de data/hora indica o total de segundos após o início da data da época (1º de janeiro de 1970).

update_time

Long

Hora em que um segredo foi atualizado pela última vez. O carimbo de data/hora indica o total de segundos após o início da data da época (1º de janeiro de 1970).

scheduled_delete_time

Long

Hora em que um segredo será excluído conforme programado. O carimbo de data/hora indica o total de segundos após o início da data da época (1º de janeiro de 1970).

Se um segredo não estiver no estado Pending deletion, o valor deste parâmetro é null.

Código de status: 400

Tabela 6 Parâmetro do corpo da resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro

error_msg

String

Descrição do erro

Exemplo de solicitação

{
  "name" : "demo",
  "kms_key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "secret_string" : "this is a demo secret string"
}

Exemplo de resposta

Código de status: 200

O pedido foi bem-sucedido.

{
  "secret" : {
    "id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
    "name" : "test",
    "state" : "ENABLED",
    "kms_key_id" : "b168fe00ff56492495a7d22974df2d0b",
    "description" : "description",
    "create_time" : 1581507580000,
    "update_time" : 1581507580000,
    "scheduled_delete_time" : 1581507580000
  }
}

Código de status

Código de status

Descrição

200

O pedido foi bem-sucedido.

400

Parâmetros de solicitação inválidos.

Código de erro

Para obter detalhes, consulte Códigos de erro.