Encripta y desencripta datos

En este documento, se describe cómo encriptar y desencriptar datos con claves de Key Management System (KMS) con gdcloud CLI.

Este documento está destinado a públicos dentro 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 Google Distributed Cloud 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 tu administrador de IAM de la organización para solicitar el rol de Desarrollador de KMS (kms-developer) en el espacio de nombres de tu proyecto.

Prepara el entorno

Permisos necesarios

Para obtener los permisos que necesitas, pídele a tu administrador de IAM de la organización que te otorgue el rol de Desarrollador de KMS (kms-developer) en tu proyecto.

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 simple, por ejemplo, key-1.
    • PLAINTEXT_PATH: Es la ruta de acceso al archivo que contiene el texto sin formato 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 engaño de aplicación delegada. Los AAD y el texto sin formato tienen un límite de tamaño de 64 KB.
    • 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 simple.

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 sin formato 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 al archivo que quieres 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 engaño de aplicación delegada. Los AAD y el texto sin formato tienen un límite de tamaño de 64 KB.
    • 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.