El AO realiza operaciones de encriptación y desencriptación a través de la CLI aislada de Google Distributed Cloud (GDC) en el KMS a través de un cliente de gRPC.
Antes de comenzar
Antes de realizar operaciones de KMS, configura kubectl para acceder al servidor de la API de Management y obtener los permisos necesarios.
Configura el acceso al servidor de la API de Management
Configura kubectl para acceder al servidor de la API de Management:
- Si aún no lo hiciste, obtén un archivo kubeconfig para el servidor de la API de Management con la interfaz de línea de comandos (CLI) de gdcloud.
Establece la variable de entorno
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGReemplaza
PATH_TO_KUBECONFIGpor la ruta de acceso del archivo kubeconfig generado.Si aún no lo hiciste, descarga, instala y configura la CLI de gdcloud. Para ello, sigue la descripción general de la CLI de gcloud.
Permisos necesarios
Para obtener los permisos que necesitas, pídele al administrador de IAM de la organización que te otorgue el rol de KMS Developer (kms-developer) en tu proyecto.
Encripta datos
Para encriptar datos, usa el comando gdcloud kms keys encrypt. Este comando encripta un archivo de texto sin formato 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 sin formato, 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. El AAD y el texto sin formato 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-filey que contiene el contenido encriptado del archivo de texto sin formato.- 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 sin formato.
- CIPHERTEXT_PATH: Es la ruta de acceso al 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 engaño de aplicación delegada. El AAD y el texto sin formato 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 descifrado.
Después de ejecutar el comando, verás un archivo que especificaste en la marca
--plaintext-fileque contiene los datos desencriptados.