Puntos de control
Create a Cloud Storage bucket.
/ 25
Create a Keyring and Crypto key.
/ 25
Encrypt Your Data with the Cloud KMS key and upload it on the storage bucket.
/ 25
Encrypt multiple files using KMS API and upload to cloud storage.
/ 25
Empieza a usar Cloud KMS
- GSP079
- Descripción general
- Configuración y requisitos
- Tarea 1: Crea un bucket de Cloud Storage
- Tarea 2: Revisa los datos
- Tarea 3: Habilita Cloud KMS
- Tarea 4. Crea un llavero de claves y un CryptoKey
- Tarea 5. Encripta tus datos
- Tarea 6. Configura los permisos de IAM
- Tarea 7. Crea una copia de seguridad de los datos en la línea de comandos
- Tarea 8. Visualiza los Registros de auditoría de Cloud
- Tarea 9. Pon a prueba tus conocimientos
- ¡Felicitaciones!
GSP079
Descripción general
En este lab, aprenderás a usar algunas funciones avanzadas de las APIs de seguridad y privacidad de Google Cloud, como las siguientes:
- Configuración de un bucket seguro de Cloud Storage
- Administración de claves y datos encriptados con Key Management Service
- Visualización de registros de auditoría en Cloud Storage
Uso de datos resumidos de Enron Corpus para encriptar y cargar en Cloud Storage
Qué aprenderás
- Cómo encriptar datos y administrar claves de encriptación con Cloud Key Management Service (KMS)
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón Abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debe usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta. -
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}} También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}} También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia Cuenta de Google podría generar cargos adicionales. -
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
- Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
-
Haz clic en Autorizar.
-
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
- Puedes solicitar el ID del proyecto con este comando (opcional):
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
Tarea 1: Crea un bucket de Cloud Storage
Para almacenar los datos de este lab, deberás crear tu propio bucket en Cloud Storage.
- Elige un nombre para el bucket de Cloud Storage, como
-enron_corpus. Si quieres obtener más información sobre cómo otorgar nombres a buckets, lee los lineamientos para otorgar nombres a los buckets de Cloud Storage. Ejecuta el comando siguiente en Cloud Shell con el objetivo de configurar una variable para el nombre del bucket:
- Ahora, ejecuta el comando siguiente para crear el bucket:
La ejecución de este comando también sirve para verificar si configuraste de forma correcta el cliente de línea de comandos gsutil
, si la autenticación está funcionando y si tienes acceso de escritura al proyecto de la nube que estás usando.
- Una vez que hayas creado el bucket, avanza al paso siguiente para descargar el Enron Corpus.
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 2: Revisa los datos
Enron Corpus es una gran base de datos que cuenta con más de 600,000 correos electrónicos generados por 158 empleados de Enron Corporation. Estos datos se copiaron en el bucket de Cloud Storage gs://enron_emails/
.
- Ejecuta el comando siguiente para descargar uno de los archivos fuente a nivel local y ver cómo es:
- Ahora, ejecuta el comando
tail
en el archivo descargado para verificar que el texto del correo electrónico esté allí:
Deberías recibir el resultado siguiente:
Este comando debería mostrar el contenido de un archivo de correo en texto simple. Existen dos tipos de archivos que deberás buscar: archivos de correo de texto simple y archivos de imagen. Si te interesa saber qué contienen los demás archivos, usa este mismo mecanismo.
Tarea 3: Habilita Cloud KMS
Cloud KMS es un servicio de administración de claves criptográficas de Google Cloud. Antes de usarlo, debes habilitarlo en tu proyecto. En este lab, te aprovisionarán KMS si ya lo habilitaste. Para asegurarte de ello, usa uno de los comandos de la CLI de gcloud
.
- Ejecuta el comando siguiente en tu sesión de Cloud Shell:
No deberías haber recibido ningún resultado. Cloud KMS ya está habilitado en tu proyecto.
Tarea 4. Crea un llavero de claves y un CryptoKey
Para encriptar los datos, debes crear un llavero de claves y un CryptoKey. Los llaveros de claves son útiles para agrupar claves. Esto se puede hacer por entorno (como test, staging y prod) o cualquier otro concepto de agrupación. En este lab, tu llavero de claves se llamará test
y tu CryptoKey, qwiklab
.
- En Cloud Shell, ejecuta el comando siguiente para configurar las variables de entorno:
- Ejecuta el comando de
gcloud
para crear el llavero de claves. En este lab, usarás una ubicación global, pero también se podría configurar para una región específica.
- A continuación, con el llavero de claves nuevo, crea un CryptoKey llamado
qwiklab
:
No debería aparecer ningún resultado. Así de fácil, ya creaste un llavero de claves y un CryptoKey.
- Abre la Administración de claves a través de la consola; para ello, dirígete al menú de navegación > Seguridad > Administración de claves.
La IU web de la administración de claves permite visualizar y administrar los llaveros de claves y los CryptoKeys. Utilizarás la IU más adelante, cuando administres los permisos.
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 5. Encripta tus datos
A continuación, intenta encriptar algunos datos.
- Toma el contenido del correo electrónico que leíste y codifícalo en
base64
con el comando siguiente:
Con el extremo de la encriptación, puedes enviar el texto codificado en base64 que desees encriptar a la clave especificada.
- Ejecuta lo siguiente:
encrypt
mostrará un resultado distinto cada vez, incluso cuando uses el mismo texto y la misma clave.
La respuesta será una carga útil de JSON que contendrá el texto encriptado en el atributo ciphertext
.
- Ahora que encriptaste tus datos, puedes guardarlos en un archivo y subirlos a tu bucket de Cloud Storage. Si deseas tomar el texto encriptado de la respuesta de JSON y guardarlo en un archivo, usa la utilidad de línea de comandos jq. La respuesta de la llamada anterior se puede canalizar a jq, que puede analizar la propiedad
ciphertext
en el archivo1.encrypted
. Ejecuta lo siguiente:
- Para verificar si los datos encriptados se pueden desencriptar, llama al extremo
decrypt
y comprueba que el texto desencriptado coincida con el correo electrónico original. Los datos encriptados tienen información sobre la versión del CryptoKey que se usó para encriptarlos, por lo que la versión específica nunca se proporciona al extremo desencriptado. Ejecuta lo siguiente:
- Ahora que comprobaste que el texto se encriptó con éxito, sube el archivo encriptado al bucket de Cloud Storage.
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 6. Configura los permisos de IAM
En KMS, existen dos permisos principales en los que debes enfocarte. Uno le permite a un usuario o a una cuenta de servicio administrar los recursos de KMS, mientras que el otro les permite usar claves para encriptar o desencriptar datos.
El permiso para administrar las claves es cloudkms.admin
y permite que cualquier persona que lo tenga cree un llavero de claves y, además, cree, modifique, inhabilite o destruya CryptoKeys. El permiso para encriptar y desencriptar es cloudkms.cryptoKeyEncrypterDecrypter
y se utiliza para llamar a los extremos de la API de encriptación y desencriptación.
En este ejercicio, utilizarás el usuario actual autorizado para asignar permisos de IAM.
- Para obtener el usuario autorizado actual, ejecuta el comando siguiente:
- Luego, asigna al usuario la capacidad de administrar recursos de KMS. Ejecuta el comando siguiente de
gcloud
con el objetivo de asignar el permiso de IAM para administrar el llavero de claves que acabas de crear:
Debido a que los CryptoKeys pertenecen a los llaveros de claves, y los llaveros de claves pertenecen a los proyectos, un usuario con un rol o permiso específico en un nivel superior de la jerarquía recibe los mismos permisos en los recursos secundarios. Por ejemplo, un usuario que tiene la función de propietario del proyecto también es propietario de todos los llaveros de claves y los CryptoKeys del proyecto. De manera similar, si un usuario recibe la función de cloudkms.admin
en un llavero de claves, tiene los permisos asociados para los CryptoKeys del llavero de claves.
Sin el permiso cloudkms.cryptoKeyEncrypterDecrypter
, el usuario autorizado no podrá utilizar las claves para encriptar o desencriptar datos.
- Ejecuta el comando siguiente de
gcloud
con el objetivo de asignar el permiso de IAM y encriptar o desencriptar datos de cualquier CryptoKey en el llavero de claves que creaste:
Ahora puedes ver los permisos asignados en la sección Claves criptográficas de la Administración de claves.
- Marca la casilla junto al nombre del llavero de claves (
test
) y, luego, haz clic en Principales en el panel de información de la derecha.
De esta forma, se abrirá un menú en el que podrás ver las cuentas y los permisos del llavero de claves que acabas de agregar.
Tarea 7. Crea una copia de seguridad de los datos en la línea de comandos
Ahora que ya sabes cómo encriptar un solo archivo y tienes los permisos para hacerlo, puedes ejecutar una secuencia de comandos con el objetivo de crear una copia de seguridad de todos los archivos de un directorio. En este caso, copia todos los correos electrónicos para allen-p, encríptalos y súbelos a un bucket de Cloud Storage.
- Primero, copia todos los correos electrónicos para allen-p en tu directorio de trabajo actual:
- Luego, copia y pega lo siguiente en Cloud Shell para crear una copia de seguridad y encriptar todos los archivos del directorio allen-p en el bucket de Cloud Storage:
Esta secuencia de comandos aplica un bucle a todos los archivos de un directorio específico, los encripta con la API de KMS y los sube a Cloud Storage.
Haz clic en Revisar mi progreso para verificar el objetivo.
Luego de que se complete la secuencia de comandos, podrás ver los archivos encriptados si haces clic en Almacenamiento, en el menú de la izquierda de la consola.
- Para encontrar los archivos, ve al menú de navegación > Cloud Storage > Buckets > YOUR_BUCKET > allen-p > inbox. Deberías ver algo como esto:
Tarea 8. Visualiza los Registros de auditoría de Cloud
Google Cloud Audit Logging consiste en dos transmisiones de registros, Admin Activity y Data Access, que se generan a través de los servicios de Google Cloud para ayudarte a responder la pregunta “¿Quién hizo qué, dónde y cuándo?” en tus proyectos de Google Cloud.
- Para ver la actividad de cualquier recurso en KMS, ve al menú de navegación > Descripción general de Cloud > pestaña Actividad. Esto te llevará a la IU de Cloud Activity. Luego, haz clic en View Log Explorer, selecciona Llavero de claves KMS de Cloud como el
Tipo de recurso
y deberías ver la creación del llavero de claves y todas sus modificaciones.
Encriptaste y subiste datos con KMS y Cloud Storage.
Temas abordados
- Uso de IAM para administrar permisos de KMS
- Uso de KMS para encriptar datos
- Uso de Cloud Storage para almacenar datos encriptados
- Uso de Cloud Audit Logging para ver toda la actividad de los CryptoKeys y los llaveros de claves
Tarea 9. Pon a prueba tus conocimientos
Completa este cuestionario para poner a prueba tus conocimientos sobre Cloud KMS.
¡Felicitaciones!
Aprendiste a encriptar datos y administrar claves de encriptación con Cloud Key Management Service (KMS).
Próximos pasos y más información
- Obtén más información sobre la rotación de claves de encriptación.
- Lee acerca de la encriptación de sobre.
- Obtén más información sobre las opciones de encriptación de datos.
Última actualización del manual: 15 de abril de 2024
Prueba más reciente del lab: 31 de agosto de 2023
Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.