Encriptación de un DEK
Función
Esta API le permite cifrar un DEK usando un CMK especificado.
URI
POST /v1.0/{project_id}/kms/encrypt-datakey
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Token de usuario. El token se puede obtener llamando a la API IAM (valor de X-Subject-Token en el encabezado de respuesta). |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key_id |
Sí |
String |
CMK ID. Debe tener 36 bytes y coincidir con la expresión regular ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$. Ejemplo: 0d0466b0-e727-4d9c-b35d-f84bb474a37f |
encryption_context |
No |
Object |
Pares clave-valor con una longitud máxima de 8,192 caracteres. Este parámetro se utiliza para registrar información de contexto de recursos, excluyendo información confidencial, para garantizar la integridad de los datos. Si este parámetro se especifica durante el encriptación, también se requiere para el desencriptación. Ejemplo: {"Key1":"Value1"",Key2":"Value2"} |
plain_text |
Sí |
String |
Tanto el texto plano de un DEK como el valor hash SHA-256 (32 bytes) del texto plano se expresan como una cadena hexadecimal. Tanto el texto sin formato (64 bytes) de un DEK como el valor hash SHA-256 (32 bytes) del texto sin formato se expresan como una cadena hexadecimal. |
datakey_plain_length |
Sí |
String |
Número de bytes de un DEK en texto plano. El rango de valores es de 1 a 1024. Número de bytes de un DEK en texto plano. El valor es 64. |
sequence |
No |
String |
Número de secuencia de 36 bytes de un mensaje de solicitud. Ejemplo: 919c82d4-8046-4722-9094-35c3c6524cff |
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
key_id |
String |
CMK ID. |
cipher_text |
String |
Ciphertext DEK en formato hexadecimal. Dos caracteres representan 1 byte. |
datakey_length |
String |
Longitud de un DEK, en bytes. |
Código de estado: 400
Parámetro |
Tipo |
Descripción |
---|---|---|
error |
Object |
Mensaje de error. |
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Información de error. |
Código de estado: 403
Parámetro |
Tipo |
Descripción |
---|---|---|
error |
Object |
Mensaje de error. |
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Información de error. |
Código de estado: 404
Parámetro |
Tipo |
Descripción |
---|---|---|
error |
Object |
Mensaje de error. |
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Información de error. |
Solicitudes de ejemplo
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text" : "7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94ffbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797", "datakey_plain_length" : "64" }
Ejemplo de respuestas
Código de estado: 200
El procesamiento de la solicitud se ha realizado correctamente.
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "datakey_length" : "64", "cipher_text" : "020098009EEAFCE122CAA5927D2XXX..." }
Código de estado: 400
Parámetros de solicitud no válidos.
{ "error" : { "error_code" : "KMS.XXX", "error_msg" : "XXX" } }
Código de estado: 403
Error de autenticación.
{ "error" : { "error_code" : "KMS.XXX", "error_msg" : "XXX" } }
Código de estado: 404
La página solicitada no existe o no se encuentra.
{ "error" : { "error_code" : "KMS.XXX", "error_msg" : "XXX" } }
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
El procesamiento de la solicitud se ha realizado correctamente. |
400 |
Parámetros de solicitud no válidos. |
403 |
Error de autenticación. |
404 |
La página solicitada no existe o no se encuentra. |
Códigos de error
Consulte Códigos de error.