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_PATHReemplaza 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-fileque contiene el contenido encriptado del archivo de texto simple.- NAMESPACE: Es el espacio de nombres del proyecto, por ejemplo:
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_PATHReemplaza 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-fileque contiene los datos desencriptados.