Cloud Storage siempre encripta los datos del servidor con una clave de encriptación administrada por Google, antes de escribirlos en el disco, sin costo adicional. Como alternativa a una clave de encriptación del servidor administrada por Google, puedes elegir proporcionar tu propia clave AES-256, codificada en Base64 estándar. Esta clave se conoce como clave de encriptación proporcionada por el cliente.
En este lab, configurarás claves de encriptación proporcionadas por el cliente (CSEK) para Cloud Storage. Luego, los archivos se subirán a un bucket de almacenamiento. A continuación, generarás una clave de encriptación nueva y rotarás las CSEK.
Cloud Storage no almacenará tu clave en los servidores de Google de forma permanente, ni tampoco la administrará. En cambio, debes proporcionar tu clave para cada operación de Cloud Storage, y esta se borrará definitivamente de los servidores de Google una vez que se complete la operación. Cloud Storage almacena solo un hash criptográfico de la clave para que las solicitudes futuras puedan validarse en función del hash.
Tu clave no se puede recuperar de este hash, y este no se puede usar para desencriptar tus datos.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
Configurar CSEK para Cloud Storage
Usar CSEK para encriptar archivos en Cloud Storage
Borrar archivos locales de Cloud Storage y verificar la encriptación
Rotar las claves de encriptación sin descargar y volver a subir datos
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 que se usarán durante el lab.
Crea una cuenta de servicio de IAM
Nota: En este lab, iniciarás una VM en Compute Engine y ejecutarás la mayoría del trabajo en esta VM. Una cuenta de servicio se creará, en primera instancia, con el objetivo de proporcionar los permisos necesarios a la VM para que pueda llevar a cabo el lab.
En la consola de Google Cloud, selecciona menú de navegación > IAM y administración > Cuentas de servicio.
Haz clic en Crear cuenta de servicio.
Especifica el Nombre de la cuenta de servicio como cseklab.
Haz clic en Crear y continuar.
Especifica el Rol como Cloud Storage > Administrador de almacenamiento.
Haz clic en Continuar.
Haz clic en Listo.
Crea una VM de Compute Engine
En la consola de Cloud, ve al menú de navegación > Compute Engine > Instancias de VM. Haz clic en Crear instancia.
Especifica lo siguiente y deja los parámetros de configuración restantes con sus valores predeterminados:
Nombre:cseklab-vm
Región:
Zona:
Serie:E2
Tipo de máquina:e2-micro
Cuenta de servicio: La cuenta de servicio cseklab que se acaba de crear
Permisos de acceso: Selecciona Configurar acceso para cada API para Storage y, luego, selecciona Total en el menú desplegable
Haz clic en Crear.
Una vez que la VM se inicia, haz clic en el botón SSH para conectarte con ella.
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 ayudar a garantizar que sea único. Tu ID del proyecto de Google Cloud se puede copiar del panel Detalles de la conexión en Qwiklabs.
Desde la terminal de SSH conectada a cseklab-vm, ejecuta el siguiente comando para crear una variable de entorno que almacene el nombre del bucket:
Ingresa el siguiente comando para crear el bucket:
gsutil mb -l us gs://$BUCKET_NAME
Haz clic en Revisar mi progreso para verificar el objetivo.
Configurar los recursos necesarios
Descarga un archivo de muestra mediante CURL y haz dos copias
Ejecuta el siguiente comando para descargar un archivo de muestra (es un archivo HTML de la documentación de Hadoop que está disponible públicamente): Este archivo se copiará en el bucket de almacenamiento del lab:
Tarea 2. Configura las claves de encriptación proporcionadas por el cliente
En esta tarea, generarás una CESK, subirás el archivo a la consola de Cloud y, luego, borrarás la copia local.
Genera una CSEK
Nota: Cuando uses claves de encriptación proporcionadas por el cliente, dependerá de ti generar y administrar tus claves de encriptación. Debes proporcionar una clave a Cloud Storage que sea una cadena de 256 bits codificada en base64 estándar RFC 4648. Para este lab, generarás una clave con un número aleatorio.
En la terminal de SSH cseklab-vm, ejecuta el siguiente comando para crear una clave:
Copia el valor de la clave generada. Lo necesitarás para un paso posterior.
Modifica el archivo .boto
Nota: Los controles de encriptación están ubicados en un archivo de configuración de gsutil llamado .boto.
Ejecuta el siguiente comando en la terminal de SSH para comprobar que exista el archivo .boto:
ls -al
Si no ves un archivo .boto, ejecuta el siguiente comando para generarlo y ponerlo en la lista:
gsutil config -n
ls -al
Para editar el archivo .boto, ejecuta el siguiente comando:
nano .boto
En el archivo .boto, localiza la línea con “#encryption_key=”. Para buscar en Nano, haz clic en el teclado ubicado en la parte superior derecha de la ventana de SSH, selecciona Ctrl + W y escribe #encrypt.
Quita el comentario de la línea encryption_key. Para esto quita el carácter # y pega la clave que generaste antes.
Regresa a la consola de Cloud y visualiza el contenido del bucket de almacenamiento, seleccionaMenú de navegación > Cloud Storage, luego, haz clic en el bucket.
Nota: Los archivos setup.html y setup2.html se presentan encriptados por el cliente.
Haz clic en Revisar mi progreso para verificar el objetivo.
Configurar las claves de encriptación proporcionadas por el cliente
Borra un archivo local, cópialo desde Cloud Storage y verifica la encriptación
Borra el archivo local setup.html, ejecuta el siguiente comando:
rm setup.html
Para volver a copiar el archivo desde el bucket, ejecuta el siguiente comando:
gsutil cp gs://$BUCKET_NAME/setup.html ./
Visualiza el archivo para saber si pudo copiarse con el siguiente comando:
cat setup.html
Tarea 3. Rota las CSEK
En esta tarea, rotarás las CSEK. Para rotar las CSEK, debes cambiar el valor de configuración de encryption_key por un valor de configuración de decryption_key y, luego, usar un valor nuevo para encryption_key.
Luego, puedes usar el comando de reescritura para rotar las claves en la nube sin descargar y volver a subir los datos.
Genera otra CSEK y agrégala al archivo .boto
En la terminal de SSH, ejecuta el siguiente comando para generar una clave nueva:
La línea encryption_key original que está marcada como comentario también puede borrarse por completo del archivo.
Presiona Ctrl + X para salir o Y si deseas guardar el archivo. Luego, presiona Intro para confirmar el nombre del archivo.
Encripta un archivo con la clave nueva y desencripta un archivo con la clave antigua
Sube un archivo nuevo al bucket. Este archivo estará encriptado con la clave nueva:
gsutil cp setup3.html gs://$BUCKET_NAME
Nota: En este punto, setup.html y setup2.html están encriptados con la clave original y setup3.html está encriptado con la clave nueva.
Borra los archivos locales setup2.html y setup3.html con los siguientes comandos:
rm setup2.html
rm setup3.html
Para volver a copiar los archivos del bucket de almacenamiento, ejecuta los siguientes comandos:
Visualiza el archivo encriptado para saber si pudo copiarse con el siguiente comando:
cat setup2.html
cat setup3.html
Nota: Este lab demuestra cómo las claves nuevas pueden generarse para datos nuevos, pero ten en cuenta que los archivos encriptados con las claves más antiguas aún se pueden desencriptar.
Reescribe la clave del archivo 1 y marca como comentario la clave de desencriptación antigua
Volver a escribir un archivo encriptado provoca que el archivo se desencripte con la decryption_key1 que estableciste con anterioridad y encripta el archivo con la encryption_key nueva.
Ejecuta el siguiente comando para volver a escribir setup.html
gsutil rewrite -k gs://$BUCKET_NAME/setup.html
Nota: En este punto, setup.html se reescribió con la nueva clave de encriptación y setup3.html también se encripta con la clave nueva. El archivo setup2.html sigue encriptado con la clave original para que puedas ver qué sucede si no rotas las claves adecuadamente.
Abre el archivo .boto con el siguiente comando:
nano .boto
Marca como comentario la línea decryption_key1 actual y vuelve a agregar el carácter #.
Presiona Ctrl + X para salir o Y si deseas guardar el archivo. Luego, presiona Intro para confirmar el nombre del archivo.
Borra los tres archivos locales con el siguiente comando:
rm setup*.html
Descarga setup.html y setup3.html (ambos encriptados con la clave nueva) con los siguientes comandos:
Visualiza los archivos encriptados con los siguientes comandos para saber si se realizó el proceso correctamente:
cat setup.html
cat setup3.html
Intenta descargar setup2.html (encriptado con la clave original) con el siguiente comando:
gsutil cp gs://$BUCKET_NAME/setup2.html ./
Nota: ¿Qué sucedió? setup2.html no se reescribió con la clave nueva, por lo que ya no puede desencriptarse, y la copia falló.
Rotaste las claves CSEK correctamente.
¡Felicitaciones!
En este lab, realizaste las siguientes tareas:
Configuraste CSEK para Cloud Storage.
Usaste CSEK para encriptar archivos en Cloud Storage.
Borraste archivos locales de Cloud Storage y comprobaste la encriptación.
Rotaste las claves de encriptación sin tener que descargar y volver a subir los datos.
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 2020 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.
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.
Usa Claves de encriptación proporcionadas por el cliente con Cloud Storage
Duración:
0 min de configuración
·
Acceso por 60 min
·
60 min para completar