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
| 
        Parâmetro  | 
      
        Obrigatoriedade  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|---|
| 
        project_id  | 
      
        Sim  | 
      
        String  | 
      
        ID do projeto.  | 
     
Parâmetros 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).  | 
     
| 
        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: 
  | 
     
| 
        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
| 
        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
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        error  | 
      
        Object  | 
      
        Mensagem de erro.  | 
     
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        Código de erro.  | 
     
| 
        error_msg  | 
      
        String  | 
      
        Informação de erro.  | 
     
Código de status: 403
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        error  | 
      
        Object  | 
      
        Mensagem de erro.  | 
     
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        Código de erro.  | 
     
| 
        error_msg  | 
      
        String  | 
      
        Informação de erro.  | 
     
Código de status: 404
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        error  | 
      
        Object  | 
      
        Mensagem de erro.  | 
     
| 
        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.