Encripta y desencripta datos

En este documento, se describe cómo encriptar y desencriptar datos con claves del sistema de administración de claves (KMS) con la CLI de gdcloud.

Este documento está dirigido a los públicos del grupo de operadores de aplicaciones que necesitan realizar operaciones criptográficas en proyectos de GDC. Para obtener más información, consulta Públicos de la documentación de GDC aislado.

Antes de comenzar

Antes de encriptar o desencriptar datos, debes tener los permisos necesarios y preparar tu entorno.

Solicita roles de IAM

Para encriptar y desencriptar datos, comunícate con el administrador de la organización de IAM para solicitar el rol de desarrollador de KMS (kms-developer) en el espacio de nombres de tu proyecto.

Prepara el entorno

Encripta datos

Para encriptar datos, usa el comando gdcloud kms keys encrypt. Este comando encripta un archivo de texto simple determinado con la clave AEAD y lo escribe en un archivo de texto cifrado con nombre.

  • Para encriptar datos, pasa el nombre de la clave y lo siguiente:

    gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
      --plaintext-file=PLAINTEXT_PATH \
      --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
      --ciphertext-file=CIPHERTEXT_PATH
    

    Reemplaza las siguientes variables:

    • NAMESPACE: Es el espacio de nombres del proyecto, por ejemplo, kms-test1.
    • KEY_NAME: Es el nombre de la clave que se usa para encriptar el texto sin formato, por ejemplo: key-1.
    • PLAINTEXT_PATH: Es la ruta de acceso al archivo que contiene el texto simple que se encriptará.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: Es un archivo opcional que contiene datos autenticados adicionales (AAD). Los AAD se usan para las verificaciones de integridad y protegen tus datos de un ataque de diputado confundido. Los datos de autenticación adicionales (AAD) y el texto simple tienen un límite de tamaño de 64 KB cada uno.
    • CIPHERTEXT_PATH: Es la ruta de acceso al archivo que contiene el texto sin formato encriptado.

    Después de ejecutar el comando, verás un archivo que especificaste en la marca --ciphertext-file que contiene el contenido encriptado del archivo de texto sin formato.

Desencripta datos

Para desencriptar datos, usa el comando gdcloud kms keys decrypt. Este comando desencripta un archivo de texto cifrado determinado con la clave AEAD y lo escribe en un archivo de texto simple con nombre.

  • Para desencriptar el texto cifrado, pasa el nombre de la clave y lo siguiente:

    gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
     --ciphertext-file=CIPHERTEXT_PATH \
     --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
     --plaintext-file=PLAINTEXT_PATH
    

    Reemplaza las siguientes variables:

    • NAMESPACE: Es el espacio de nombres del proyecto.
    • KEY_NAME: Es el nombre de la clave que se usa para encriptar el texto simple.
    • CIPHERTEXT_PATH: Es la ruta de acceso del archivo que deseas desencriptar.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: Es un archivo opcional que contiene datos autenticados adicionales (AAD). Los AAD se usan para las verificaciones de integridad y protegen tus datos de un ataque de diputado confundido. Los datos de autenticación adicionales (AAD) y el texto simple tienen un límite de tamaño de 64 KB cada uno.
    • PLAINTEXT_PATH: Es la ruta de acceso al archivo que contiene el texto sin formato desencriptado.

    Después de ejecutar el comando, verás un archivo que especificaste en la marca --plaintext-file que contiene los datos desencriptados.