Cloud Key Management Service (Cloud KMS) te permite administrar claves de encriptación en Google Cloud. Cloud KMS crea las claves de encriptación y tú las administras de la misma manera que lo harías en tus instalaciones.
Con Cloud KMS puedes generar, usar, rotar y destruir claves de encriptación simétricas AES256 para uso directo de todos tus servicios en la nube.
En este lab, crearás un llavero de claves y CryptoKeys con Cloud KMS; luego, usarás esas claves con Cloud Storage para establecer claves predeterminadas en buckets, y encriptarás objetos individuales con una clave de Cloud KMS.
Además, realizarás de forma manual la encriptación del servidor con tus claves de Cloud KMS y subirás los datos encriptados a Cloud Storage.
Administrarás los permisos de Cloud KMS con la IAM y usarás los registros de auditoría de Cloud para ver toda la actividad de CryptoKeys y el llavero de claves.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
Administrar claves y datos encriptados con Cloud KMS
Crear llaveros de claves y CryptoKeys
Establecer una clave de encriptación predeterminada para un bucket de almacenamiento
Encriptar un objeto con una clave de Cloud KMS
Rotar las claves de encriptación
Realizar de forma manual la encriptación del lado del servidor con claves Cloud KMS
Configuración y requisitos
En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
Accede a Qwiklabs desde una ventana de incógnito.
Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.
Cuando esté listo, haga clic en Comenzar lab.
Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.
Haga clic en Abrir Google Console.
Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
Si usa otras credenciales, se generarán errores o incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación.
Tarea 1. Configura los recursos necesarios
En esta tarea, configurarás los recursos necesarios para el lab.
Crea un bucket de Cloud Storage
Nota: Los nombres de los buckets deben ser únicos a nivel global. En este lab, usarás tu ID del proyecto de Google Cloud como parte del nombre del bucket para asegurarte de que no haya otro igual. Tu ID del proyecto de Google Cloud se almacena automáticamente en una variable de entorno de Cloud Shell denominada DEVSHELL_PROJECT_ID.
En la barra de título de la consola de Google Cloud, haz clic en Activar Cloud Shell (). Si se te solicita, haz clic en Continuar.
Ejecuta el siguiente comando para crear el bucket:
Nota: Antes de usar Cloud KMS, debes habilitarlo en tu proyecto. En el proyecto de Google Cloud de Qwiklabs que se te aprovisionó, Cloud KMS ya debería estar habilitado. Como precaución, ejecutarás el comando para habilitarlo de todas formas.
Ejecuta el siguiente comando en Cloud Shell para habilitar Cloud KMS:
gcloud services enable cloudkms.googleapis.com
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un bucket de Cloud Storage
Tarea 2. Usa Cloud KMS
En esta tarea, usarás Cloud KMS para crear un llavero de claves y una cryptokey.
Crea un llavero de claves y una Criptokey
Nota: Para encriptar los datos, es necesario crear un llavero de claves y una CryptoKey. Los llaveros de claves son útiles para agrupar claves. Esto se puede hacer por entorno (como prueba, etapa de pruebas y producción) o cualquier otro concepto de agrupación. En este lab, tu llavero de claves se llamará test, y tu CryptoKey, labkey.
Ejecuta los siguientes comandos en Cloud Shell para crear variables que contengan el nombre del llavero de claves y el de la CryptoKey:
Puedes ver el llavero y las claves en la consola de Google Cloud.
En la consola de Google Cloud, en el menú de navegación (), haz clic en Seguridad > Administración de claves.
Verás un llavero de claves con el nombre lab-keyring.
Haz clic en el llavero con el nombre lab-keyring para ver las claves de encriptación labkey-1 y labkey-2.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear llaveros de claves y claves criptográficas
Tarea 3. Agrega una clave predeterminada para un bucket
En esta tarea, se agrega una clave predeterminada para el bucket.
Revisa la clave predeterminada para un bucket
Ejecuta el siguiente comando para ver la clave de encriptación predeterminada de tu bucket:
gsutil kms encryption gs://$DEVSHELL_PROJECT_ID-kms
Nota: El bucket no debe tener, en este momento, una clave de encriptación predeterminada. Esto significa que se encriptarán todos los datos del bucket con las claves de encriptación administradas por Google.
Asigna las claves de Cloud KMS a una cuenta de servicio
Ejecuta los siguientes comandos para darle permiso de usar tus dos claves de Cloud KMS a tu cuenta de servicio de Cloud Storage:
Se puede establecer una clave de Cloud KMS como la predeterminada cuando se escriben objetos en un bucket.
Cuando estableces la clave predeterminada, debes especificar el recurso de clave en el mismo formato que el comando anterior:
projects/[PROJECT_STORING_KEYS]/locations/[LOCATION]/keyRings/ [KEY_RING_NAME]/cryptoKeys/[KEY_NAME].
Ejecuta el siguiente comando para establecer la primera clave que generaste como la predeterminada para tu bucket:
La clave de encriptación predeterminada para el bucket debería ser ahora tu primera clave.
Nota: Los objetos que se escribieron en un bucket antes de agregar o cambiar la clave predeterminada permanecen encriptados con el método de encriptación anterior.
Ejecuta el siguiente comando para copiar file2.txt en el bucket:
En la consola de Google Cloud, en el menú de navegación (), haz clic en Cloud Storage > Buckets y, luego, haz clic en el bucket de este lab.
Verás que el archivo 1 se encriptó con una clave administrada por Google y el archivo 2 con una administrada por el cliente.
Haz clic en Revisar mi progreso para verificar el objetivo.
Agregar una clave predeterminada para un bucket
Tarea 4. Encripta objetos individuales con una clave de Cloud KMS
En esta tarea, encriptarás un objeto individual con una clave de Cloud KMS. Esto es útil si quieres usar una clave diferente a la predeterminada en el bucket o si no tienes una. Para esto, debes aprobar la clave que se usará en cada comando gsutil con la marca -o: -o "GSUtil:encryption_key=[KEY_RESOURCE]"
Ejecuta el siguiente comando para copiar file3.txt en el bucket, así lo encriptarás con tu segunda clave de encriptación:
En la consola de Google Cloud, actualiza la pantalla Detalles del bucket y verás que el file3.txt también está encriptado con una clave administrada por el cliente.
Identifica la clave que se usa para encriptar un objeto
En la consola, fíjate en la columna de encriptación. Muestra qué tipo de clave se usa: una clave administrada por Google o una administrada por el cliente. Si colocas el cursor sobre la clave, verás sus detalles. También puedes obtener los detalles de la clave con gsutil, como se indica en el siguiente paso.
Ejecuta el siguiente comando para mostrar los detalles de un objeto (la opción -L hace que gsutil ls muestre todos los detalles del archivo):
gsutil ls -L gs://$DEVSHELL_PROJECT_ID-kms/file3.txt
En la información que se muestra, localiza la línea de la clave KMS.
Esto mostrará la clave de encriptación que ese archivo usó.
Ejecuta el mismo comando para file1.txt y file2.txt.
Haz clic en Revisar mi progreso para verificar el objetivo.
Encriptar objetos individuales con una clave de Cloud KMS
Tarea 5. Realiza la rotación de claves
En esta tarea, realizarás la rotación automática y manual de las claves.
Nota: En Cloud KMS, para activar la rotación de claves, debes generar una nueva versión de una clave y marcar esa versión como la principal. Cada clave tiene una versión principal designada en algún momento que Cloud KMS usa para encriptar datos. Después de rotar una clave, sus versiones anteriores (que ya no son las principales) no se inhabilitan ni se destruyen, permanecen disponibles para desencriptar datos.
Rota las claves automáticamente
Nota: Para que Cloud KMS automáticamente rote tus claves por ti, proporciónale un programa de rotación. El programa de rotación de una clave se puede configurar con la herramienta de línea de comandos de gcloud o a través de la consola de Google Cloud.
En la consola de Google Cloud, en el menú de navegación (), haz clic en Seguridad > Administración de claves y, luego, haz clic en el llavero de claves lab-keyring para ver tus claves de encriptación labkey-1 y labkey-2.
Nota: Si no ves lab-keyring, haz clic en Actualizar.
Haz clic en labkey-1 para ver todas sus versiones.
Por el momento solo tienes una versión.
Haz clic en el botón Editar período de rotación.
Te aparecerá un menú desplegable con el período de rotación, establécelo para 30 días.
Ten en cuenta que también puedes personalizar el período de rotación, lo que te permite especificar cualquier período.
Haz clic en Guardar.
La consola muestra ahora la próxima fecha de rotación de esta clave.
Rota las claves de forma manual
Nota: La rotación manual de claves también puede hacerse con la herramienta de línea de comandos de gcloud o a través de la consola de Google Cloud.
En la consola, dirígete al llavero de claves lab-keyring y haz clic en la clave labkey-2 para ver todas sus versiones.
Haz clic en el botón Rotar clave y, luego, en Rotar.
Ahora tienes dos versiones de esta clave. La version 2 es la principal.
Nota: Si usas los comandos de rotación de claves anteriores, la rotación de clave NO volverá a encriptar datos que ya fueron encriptados con la versión de clave que generaste recién. Si sospechas que una clave se usa sin autorización, debes volver a encriptar los datos que esta protege y, luego, inhabilitar o programar la destrucción de la versión de clave anterior.
Destruye claves antiguas
Nota: Si destruyes una clave que encripta los objetos existentes, no podrás recuperar esos datos, pero se te seguirá cobrando el almacenamiento de tus objetos hasta que los borres.
En esta parte, no destruirás una clave, pero investigarás el proceso para hacerlo.
En la pantalla de versiones de labkey-2, haz clic en los tres puntos verticales en el extremo derecho en la línea de la version 1 de la clave y selecciona Destruir.
Lee el mensaje que dice ¿Quieres programar la destrucción de la versión de clave version 1? y cuando termines haz clic en Cancelar.
Usaste de forma correcta las claves de Cloud KMS para encriptar datos en Cloud Storage.
Haz clic en Revisar mi progreso para verificar el objetivo.
Rotación de claves
Tarea adicional. Encripta datos con la API de REST
El servicio Cloud KMS también proporciona una API de REST para realizar la encriptación y la desencriptación. El contenido que se encriptará debe estar especificado como parte de un documento JSON en la solicitud de REST, y también se debe codificar con Base64. Este documento JSON tiene la siguiente fórmula:
{"plaintext":"Base64 encoded data to encrypt"}.
En esta sección extra del lab, invocarás de forma manual la API de REST con los comandos curl para demostrar la capacidad de la API.
Esta sección supone que aún tienes la sesión de Cloud Shell abierta y que las siguientes variables de entorno están definidas:
KEYRING_NAME
CRYPTOKEY_1_NAME
CRYPTOKEY_2_NAME.
Si estas variables ya no están definidas, vuelve al principio del lab y ejecuta los comandos para crearlas.
Ejecuta el siguiente comando para codificar un texto de ejemplo como base64 y almacenarlo en una variable llamada PLAIN_TEXT:
PLAIN_TEXT=$(echo -n "Some text to be encrypted" | base64)
Copia la variable PLAIN_TEXT para verificar que el texto se codificó:
echo $PLAIN_TEXT
Deberías ver el texto codificado en base64.
Usa la API de REST para encriptar el texto codificado con el método encrypt de tu clave.
Proporciona el contenido codificado en base64 en el campo texto simple del JSON de tu solicitud:
La respuesta será una carga útil de JSON que contendrá el texto encriptado en el campo de texto cifrado.
Nota: El texto cifrado puede extraerse con facilidad de la respuesta JSON y guardarse en un archivo con la utilidad de línea de comandos jq. La respuesta de la llamada anterior puede canalizarse en jq, que puede analizar la propiedad del texto cifrado y guardarla en data1.encrypted.
Ejecuta el siguiente comando que repite la encriptación, pero esta vez analiza la propiedad del texto cifrado y guárdala en el archivo data1.encrypted:
Visualiza el contenido del archivo data1.encrypted con el siguiente comando:
more data1.encrypted
Nota: El texto cifrado puede desencriptarse con el método decrypt de tu clave. Debes usar la misma clave que se usaste para encriptar el contenido.
Ejecuta el siguiente comando para desencriptar los contenidos del archivo data1.encrypted y guardarlos en data1.decrypted:
Visualiza los contenidos del archivo data1.decrypted con el siguiente comando:
more data1.decrypted
Usaste con éxito las claves de Cloud KMS.
Felicitaciones
En este lab, realizaste las siguientes tareas:
Administraste claves y datos encriptados con Cloud KMS.
Creaste llaveros de claves y CryptoKeys.
Estableciste una clave de encriptación predeterminada para un bucket de almacenamiento.
Encriptaste un objeto con una clave de Cloud KMS.
Rotaste las claves de encriptación.
Realizaste la encriptación manual del servidor con las claves de Cloud KMS.
Finalice su lab
Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.
Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.
La cantidad de estrellas indica lo siguiente:
1 estrella = Muy insatisfecho
2 estrellas = Insatisfecho
3 estrellas = Neutral
4 estrellas = Satisfecho
5 estrellas = Muy satisfecho
Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.
Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.
Copyright 2025 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.
Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
.
Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar
Usa la navegación privada
Copia el nombre de usuario y la contraseña proporcionados para el lab
Haz clic en Abrir la consola en modo privado
Accede a la consola
Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación
No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
Un lab a la vez
Confirma para finalizar todos los labs existentes y comenzar este
Usa la navegación privada para ejecutar el lab
Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así
evitarás cualquier conflicto entre tu cuenta personal y la cuenta
de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
Uso de claves de encriptación administradas por el cliente con Cloud Storage y Cloud KMS
Duración:
0 min de configuración
·
Acceso por 90 min
·
90 min para completar