Crea claves de encriptación con Cloud KMS
En esta guía de inicio rápido, se usa la línea de comandos para enviar solicitudes a la API de Cloud KMS. Si deseas ver ejemplos de programación que usan las bibliotecas cliente para enviar solicitudes a la API de Cloud KMS, consulta Encriptación y desencriptación.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita la API de Cloud KMS.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita la API de Cloud KMS.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
Claves y llaveros de claves
Para encriptar y desencriptar contenido, necesitarás una clave de Cloud KMS, que es parte de un llavero de claves.
Crea un llavero de claves denominado test
y una clave con el nombre quickstart
. Consulta la descripción general de la jerarquía de objetos para obtener más información sobre estos objetos y cómo se relacionan.
gcloud kms keyrings create "test" \
--location "global"
gcloud kms keys create "quickstart" \
--location "global" \
--keyring "test" \
--purpose "encryption"
Puedes usar la opción list
para ver el nombre y los metadatos de la clave que acabas de crear.
gcloud kms keys list \
--location "global" \
--keyring "test"
Deberías ver lo siguiente:
NAME PURPOSE PRIMARY_STATE projects/project-id/locations/global/keyRings/test/cryptoKeys/quickstart ENCRYPT_DECRYPT ENABLED
Encripta datos
Ahora que tienes una clave, puedes usarla para encriptar texto o contenido binario.
Almacena algo de texto para encriptar en un archivo llamado “mysecret.txt”.
echo -n "Some text to be encrypted" > mysecret.txt
Para encriptar los datos con gcloud kms encrypt
, proporciona tu información de clave, especifica el nombre del archivo de texto sin formato que se debe encriptar y especifica el nombre del archivo que contendrá el contenido encriptado:
gcloud kms encrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--plaintext-file ./mysecret.txt \
--ciphertext-file ./mysecret.txt.encrypted
El método encrypt
guarda tu contenido encriptado en el archivo que especifica la marca --ciphertext-file
.
Desencripta contenido cifrado
Para desencriptar los datos con gcloud kms decrypt
, proporciona tu información de clave, especifica el nombre del archivo encriptado (archivo de cifrado) a desencriptar, y especifica el nombre del archivo que contendrá el contenido desencriptado:
gcloud kms decrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--ciphertext-file ./mysecret.txt.encrypted \
--plaintext-file ./mysecret.txt.decrypted
El método decrypt
guarda tu contenido desencriptado en el archivo que especifica la marca --plaintext-file
.
A fin de desencriptar contenido, debes utilizar la misma clave que usaste para encriptarlo.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página.
Crea una lista de versiones disponibles para tu clave:
gcloud kms keys versions list \
--location "global" \
--keyring "test" \
--key "quickstart"
Para destruir una versión, ejecuta el siguiente comando y reemplaza key-version por el número de la versión de clave que se destruirá:
gcloud kms keys versions destroy key-version \ --location "global" \ --keyring "test" \ --key "quickstart"
¿Qué sigue?
- Comienza a usar la API.
- Revisa la referencia de la API.
- Obtén más información sobre cómo encriptar datos en reposo.