En este documento se describe cómo cifrar y descifrar datos con claves del sistema de gestión de claves (KMS) mediante la CLI gdcloud.
Este documento está dirigido a los usuarios del grupo de operadores de aplicaciones que necesitan realizar operaciones criptográficas en proyectos de GDC. Para obtener más información, consulta el artículo Audiencias para la documentación de GDC en entornos aislados.
Antes de empezar
Antes de cifrar o descifrar datos, debes tener los permisos necesarios y preparar tu entorno.
Solicitar roles de gestión de identidades y accesos
Para cifrar y descifrar datos, ponte en contacto con el administrador de gestión de identidades y accesos de tu organización para solicitar el rol de desarrollador de KMS (kms-developer) en el espacio de nombres de tu proyecto.
Preparar tu entorno
Cifrar datos
Para cifrar datos, usa el comando gdcloud kms keys encrypt. Este comando cifra un archivo de texto sin formato determinado con la clave AEAD y lo escribe en un archivo de texto cifrado con nombre.
Para cifrar datos, introduce 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_PATHSustituye las siguientes variables:
- NAMESPACE: el espacio de nombres del proyecto (por ejemplo,
kms-test1). - KEY_NAME: el nombre de la clave utilizada para cifrar el
texto sin formato (por ejemplo,
key-1). - PLAINTEXT_PATH: la ruta al archivo que contiene el texto sin formato que se va a cifrar.
- ADDITIONAL_AUTHENTICATED_DATA_FILE: un archivo opcional que contiene datos autenticados adicionales (AAD). Los AAD se utilizan para comprobar la integridad y proteger los datos de ataques de "confused deputy". Los AAD y el texto sin formato tienen un límite de tamaño de 64 KB.
- CIPHERTEXT_PATH: la ruta al archivo que contiene el texto sin formato cifrado.
Después de ejecutar el comando, verás un archivo que has especificado en la marca
--ciphertext-fileque contiene el contenido cifrado del archivo de texto sin formato.- NAMESPACE: el espacio de nombres del proyecto (por ejemplo,
Descifrar datos
Para descifrar datos, usa el comando gdcloud kms keys decrypt. Este comando descifra un archivo de texto cifrado determinado con la clave AEAD y lo escribe en un archivo de texto sin formato con nombre.
Para descifrar texto cifrado, introduce 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_PATHSustituye las siguientes variables:
- NAMESPACE: el espacio de nombres del proyecto.
- KEY_NAME: el nombre de la clave utilizada para cifrar el texto sin formato.
- CIPHERTEXT_PATH: la ruta al archivo que quieres descifrar.
- ADDITIONAL_AUTHENTICATED_DATA_FILE: un archivo opcional que contiene datos autenticados adicionales (AAD). Los AAD se utilizan para comprobar la integridad y proteger los datos de ataques de "confused deputy". Los AAD y el texto sin formato tienen un límite de tamaño de 64 KB.
- PLAINTEXT_PATH: la ruta al archivo que contiene el texto sin formato descifrado.
Después de ejecutar el comando, verás un archivo que has especificado en la marca
--plaintext-fileque contiene los datos descifrados.