El AO realiza operaciones de cifrado y descifrado a través de la CLI aislada de Google Distributed Cloud (GDC) al KMS mediante un cliente gRPC.
Antes de empezar
Antes de realizar operaciones de KMS, configura kubectl para acceder al servidor de la API Management y obtener los permisos necesarios.
Configurar el acceso al servidor de la API Management
Configura kubectl para acceder al servidor de la API Management:
- Si aún no lo has hecho, obtén un archivo kubeconfig para el servidor de la API Management mediante la interfaz de línea de comandos (CLI) de gdcloud.
Define la variable de entorno
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGSustituye
PATH_TO_KUBECONFIGpor la ruta del archivo kubeconfig generado.Si aún no lo has hecho, descarga, instala y configura la CLI de gdcloud. Para ello, consulta la información general sobre la herramienta de línea de comandos gdcloud.
Permisos obligatorios
Para obtener los permisos que necesitas, pide al administrador de gestión de identidades y accesos de tu organización que te asigne el rol de desarrollador de KMS (kms-developer) en tu proyecto.
Cifrar datos
Para cifrar datos, usa el comando gdcloud kms keys encrypt. Este comando cifra un archivo de texto sin formato con la clave AEAD y lo escribe en un archivo de texto cifrado con nombre.
Para cifrar datos, proporciona 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 usada para cifrar el texto sin formato. Por ejemplo,
key-1. - PLAINTEXT_PATH: la ruta al archivo que contiene el texto sin cifrar que se va a cifrar.
- ADDITIONAL_AUTHENTICATED_DATA_FILE: un archivo opcional que contiene datos autenticados adicionales (AAD). AAD se usa para comprobar la integridad y protege tus datos frente a ataques de delegado confuso. El 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 cifrar con nombre.
Para descifrar el 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 cifrar.
- CIPHERTEXT_PATH: la ruta del archivo que quieras descifrar.
- ADDITIONAL_AUTHENTICATED_DATA_FILE: un archivo opcional que contiene datos autenticados adicionales (AAD). AAD se usa para comprobar la integridad y protege tus datos frente a ataques de delegado confuso. El 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 cifrar descifrado.
Después de ejecutar el comando, verás un archivo que has especificado en la marca
--plaintext-fileque contiene los datos descifrados.