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

Criptografia de dados

Função

Essa API permite criptografar dados usando uma CMK especificada.

Restrições

  • Ao usar uma CMK assimétrica para criptografar dados, registre o ID de CMK selecionado e o algoritmo de criptografia. Ao descriptografar dados, você precisa fornecer o mesmo ID de CMK e algoritmo de criptografia. Se a CMK especificada e o algoritmo de criptografia não corresponderem ao valor usado para criptografar os dados, a operação de descriptografia falhará.
  • Ao usar uma CMK simétrica para descriptografar dados, não há necessidade de fornecer o ID da CMK e o algoritmo de criptografia. O KMS armazenará as informações no texto cifrado. O KMS não pode armazenar metadados no texto cifrado gerado usando uma chave assimétrica. O formato padrão do texto cifrado de chave assimétrica não inclui campos configuráveis.

URI

POST /v1.0/{project_id}/kms/encrypt-data

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatoriedade

Tipo

Descrição

project_id

Sim

String

ID do projeto.

Parâmetros de solicitação

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

Parâmetro

Obrigatoriedade

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário. O token pode ser obtido chamando a API do IAM (valor de X-Subject-Token no cabeçalho de resposta).

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

Parâmetro

Obrigatoriedade

Tipo

Descrição

key_id

Sim

String

ID de CMK. Deve ter 36 bytes e corresponder à expressão regular ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$. Exemplo: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

encryption_context

Não

Object

Pares de chave-valor com um comprimento máximo de caracteres 8.192. Esse parâmetro é usado para registrar informações de contexto de recursos, excluindo informações confidenciais, para garantir a integridade dos dados. Se esse parâmetro for especificado durante a criptografia, ele também será necessário para a descriptografia. Exemplo: {"Key1":"Value1","Key2":"Value2"}

plain_text

Sim

String

Dados de texto não criptografado. Pode ser de 1 a 4.096 bytes e deve corresponder à expressão regular ^.{1,4096}$. Depois que ele é convertido em uma matriz de bytes, seu comprimento ainda deve ser de 1 a 4096 bytes.

encryption_algorithm

Não

String

Algoritmo de criptografia de dados. Use apenas CMKs assimétricas precisam especificar este parâmetro, o valor padrão é "SYMMETRIC_DEFAULT". Pode ser:

  • SYMMETRIC_DEFAULT
  • RSAES_OAEP_SHA_256
  • RSAES_OAEP_SHA_1

sequence

Não

String

Número de sequência de 36-byte de uma mensagem de solicitação. Exemplo: 919c82d4-8046-4722-9094-35c3c6524cff

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

key_id

String

ID de CMK.

cipher_text

String

A DEK de texto cifrado em formato hexadecimal. Dois caracteres representam 1 byte.

Código de status: 400

Tabela 5 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Object

Mensagem de erro.

Tabela 6 ErrorDetail

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Informação de erro.

Código de status: 403

Tabela 7 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Object

Mensagem de erro.

Tabela 8 ErrorDetail

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Informação de erro.

Código de status: 404

Tabela 9 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Object

Mensagem de erro.

Tabela 10 ErrorDetail

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Informação de erro.

Exemplo de solicitações

{
  "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "plain_text" : "hello world"
}

Exemplo de respostas

Código de status: 200

Processamento da solicitação bem-sucedido.

{
  "key_id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
  "cipher_text" : "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFXXX..."
}

Código de status: 400

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

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Código de status: 403

Autenticação falhou.

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Código de status: 404

O recurso solicitado não existe ou não foi encontrado.

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Códigos de status

Código de status

Descrição

200

Processamento da solicitação bem-sucedido.

400

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

403

Autenticação falhou.

404

O recurso solicitado não existe ou não foi encontrado.

Códigos de erro

Consulte Códigos de erro.