GSP878
Descripción general
Google Cloud Armor y sus políticas de seguridad perimetral te permiten restringir el acceso a objetos almacenados en caché en Cloud CDN (red de distribución de contenidos) y Cloud Storage. Las políticas de seguridad perimetral se implementan y se aplican en el perímetro más externo de la red de Google, más arriba de donde se encuentra la caché de Cloud CDN. Las razones para hacer esto incluyen garantizar que tus usuarios no accedan a objetos en buckets de almacenamiento desde ubicaciones geográficas restringidas, o asegurarse de que tu distribución de medios esté filtrando según las ubicaciones geográficas para las que tienes licencia.
En este lab, crearás un bucket de Google Cloud Storage, subirás una imagen a él, lo vincularás a un balanceador de cargas y, luego, habilitarás políticas de seguridad perimetrales de Cloud CDN y Cloud Armor en él.
Qué aprenderás
En este lab, aprenderás a realizar las siguientes tareas:
- Configurar un bucket de Cloud Storage con contenido que se puede almacenar en caché
- Crear una política de seguridad perimetral para proteger el contenido
- Validar que la política de seguridad perimetral esté funcionando como se espera
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, 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.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes 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: Ordena 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 Cloud para este lab podría generar cargos adicionales.
-
Haz 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.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Antes de comenzar
- En Cloud Shell, configura tu ID del proyecto y crea una variable de entorno para él:
export PROJECT_ID=$(gcloud config get-value project)
echo $PROJECT_ID
gcloud config set project $PROJECT_ID
Tarea 1. Crea un bucket de Cloud Storage y sube un objeto
El bucket de Cloud Storage será el origen para Cloud CDN.
-
Ve al menú de navegación (
) de la consola > Cloud Storage > Buckets.
-
Para crear un nuevo bucket de Cloud Storage, haz clic en CREAR.
-
Establece el nombre del bucket como -bucket .
-
Haz clic en Continuar.
-
En Tipo de ubicación, selecciona Región
y elige .
-
Haz clic en Continuar.
-
La clase de almacenamiento predeterminada para tu bucket es Estándar
. Haz clic en Continuar.
-
Desmarca la casilla de verificación Aplicar la prevención de acceso público a este bucket
debajo de Impedir el acceso público.
-
Elige Preciso en Control de acceso.
-
Haz clic en Continuar.
-
Haz clic en Crear.
Eso es todo. Acabas de crear un bucket de Cloud Storage.
Sube un objeto al bucket
Ahora, sube un objeto al bucket. Lo usarás más tarde. De forma predeterminada, los buckets de Cloud Storage son privados. Como parte de este lab, harás que el objeto esté disponible en Internet.
- Ejecuta el siguiente comando en Cloud Shell para descargar una imagen en Cloud Shell. Se usa una imagen de la página principal de Google para este lab.
wget --output-document google.png https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png
- Usa el comando
gsutil cp
para subir la imagen de Cloud Shell al bucket que creaste:
gsutil cp google.png gs://{{{project_0.startup_script.project_id|Bucket Name}}}
- Quita la imagen descargada de Cloud Shell:
rm google.png
-
Localiza el objeto que subiste al bucket; para ello, navega a Cloud Storage > Buckets > .
-
Ahora, haz clic en los tres puntos en el lado derecho del objeto que subiste y haz clic en Editar acceso.
-
Haz clic en Agregar entrada y establece la entidad como Pública desde la lista desplegable.
-
Haz clic en Guardar.

Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un bucket de Cloud Storage y subir un objeto
Tarea 2. Crea un balanceador de cargas
Cloud CDN y Cloud Armor son componentes que se pueden asociar al Cloud Load Balancing global de Google. En esta sección, crearás un balanceador de cargas HTTP.
- En el menú de navegación (
), haz clic en Ver todos los productos > Servicios de red > Balanceo de cargas.
- Haz clic en + CREAR BALANCEADOR DE CARGAS.
- En Tipo de balanceador de cargas, selecciona Balanceador de cargas de aplicaciones (HTTP/HTTPS) y haz clic en SIGUIENTE.
- En Orientado al público o para uso interno, selecciona Orientado al público (externo) y haz clic en SIGUIENTE.
- En Implementación global o de una sola región, selecciona Ideal para cargas de trabajo globales y haz clic en SIGUIENTE.
- En Generación de balanceadores de cargas, selecciona Balanceador de cargas de aplicaciones externo global y haz clic en SIGUIENTE.
- Haz clic en el botón CONFIGURAR.
- Asigna el nombre
edge-cache-lb
al balanceador de cargas.
Crea la configuración de frontend
Sigue estos pasos para crear la configuración de frontend:
-
Haz clic en Configuración de frontend.
-
Para la configuración de frontend, usa HTTP (aunque HTTPS también funciona si tienes un certificado) y una dirección IP efímera; además, asegúrate de tener seleccionada la red de nivel Premium. Esa es la configuración predeterminada.
-
Haz clic en Listo.

Crea la configuración de backend
Sigue estos pasos para crear la configuración de backend:
-
Haz clic en Configuración de backend.
-
En Servicios y buckets de backend, haz clic en Crear un bucket de backend.
-
Establece el Nombre del bucket de backend como lb-backend-bucket
.
-
En el siguiente campo, selecciona el bucket de Cloud Storage que creaste antes, para ello, haz clic en el botón Explorar.
-
Deja todos los demás valores con su configuración predeterminada.
-
Haz clic en Crear.
Crea las reglas de host y de ruta
Sigue estos pasos para crear las reglas de host y de ruta:
-
Haz clic en Reglas de enrutamiento en el lado izquierdo.
-
Selecciona Regla simple de host y ruta de acceso en Modo para enviar solicitudes al bucket. Esta es la opción predeterminada.
Revisa y crea el balanceador de cargas HTTP
Sigue estos pasos para revisar y crear el balanceador de cargas HTTP:
- Haz clic en Revisar y finalizar.
- Revisa los Servicios de backend y el Frontend.
- Haz clic en Crear.
Obtén la IP del balanceador de cargas
Sigue estos pasos para obtener la IP del balanceador de cargas en la consola:
- Haz clic en el nombre del balanceador de cargas en la lista de balanceadores de cargas del proyecto. Anota la dirección IPv4 del balanceador de cargas para la siguiente tarea. Remite a ella como
[LOAD_BALANCER_IP]
.

Consulta el balanceador de cargas
Después de unos minutos, consulta en el balanceador de cargas el objeto que subiste. Necesitarás la dirección IP del balanceador de cargas y el nombre de la imagen.
- Ejecuta este comando en Cloud Shell y reemplaza LOAD_BALANCER_IP por la dirección IPv4 del balanceador de cargas:
curl -svo /dev/null http://LOAD_BALANCER_IP/google.png
Nota: Puedes tardar hasta 5 minutos en acceder al balanceador de cargas HTTP.
Resultado:
student-cloudshell% curl -svo /dev/null http://34.98.81.123/google.png
* Trying 34.98.81.123...
* TCP_NODELAY set
* Connected to 34.98.81.123 (34.98.81.123) port 80 (#0)
> GET /google.png HTTP/1.1
> Host: YOUR_IP
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
< X-GUploader-UploadID: ADPycdtoILI76KVsvBvdVGvSfzaxys1m3zYqCepBrmJxAI48ni24cWCRIdNu-53PX3DS6iycxp6xwFbMpwtcHHZQUQmEBxAgng
< Expires: Mon, 13 Dec 2021 22:58:26 GMT
< Date: Mon, 13 Dec 2021 21:58:26 GMT
< Cache-Control: public, max-age=3600
< Last-Modified: Mon, 13 Dec 2021 21:45:57 GMT
< ETag: "8f9327db2597fa57d2f42b4a6c5a9855"
< x-goog-generation: 1639431957957903
< x-goog-metageneration: 2
< x-goog-stored-content-encoding: identity
< x-goog-stored-content-length: 5969
< Content-Type: image/png
< x-goog-hash: crc32c=TeiHTA==
< x-goog-hash: md5=j5Mn2yWX+lfS9CtKbFqYVQ==
< x-goog-storage-class: STANDARD
< Accept-Ranges: bytes
< Content-Length: 5969
< Server: UploadServer
- Ejecuta algunas consultas con este comando:
for i in `seq 1 50`; do curl http://LOAD_BALANCER_IP/google.png; done
Confirma el contenido entregado por Cloud CDN
- Valida que tu contenido se está entregando desde la CDN a través de la CDN o la supervisión del balanceo de cargas; para ello, navega a Servicios de red > Cloud CDN.

Deberías obtener una tasa de aciertos cercana a un 100%.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un balanceador de cargas
Tarea 3. Borra el objeto del bucket de Cloud Storage
Ahora que la caché se completó, borra el objeto del bucket. De esta manera, reafirmarás que estás aplicando la política a la caché y no al backend.
-
En el menú de navegación (
), haz clic en Cloud Storage > Buckets > -bucket > Objetos.
-
Selecciona el objeto y haz clic en el botón Borrar en la parte superior para borrarlo.
-
Haz clic en Borrar en el mensaje.
Haz clic en Revisar mi progreso para verificar el objetivo.
Borrar el objeto del bucket de Cloud Storage
Tarea 4. Crea una política de seguridad perimetral
Las políticas de Cloud Armor se comprueban fuera del balanceador de cargas HTTP. Una vez que se implemente la política de Cloud Armor, puedes asociarla con uno o más recursos de buckets o servicios de backend del balanceador de cargas HTTP, que se denominan Destinos.
- En el menú de navegación (
), haz clic en Ver todos los productos > Seguridad de red > Políticas de Cloud Armor y, luego, en Crear política.
- Establece los siguientes valores y deja el resto con la configuración predeterminada; luego, haz clic en Próximo paso:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Nombre |
edge-security-policy |
Tipo de política |
Política de seguridad perimetral |
Acción de la regla predeterminada |
Rechazar |
- En la sección Aplica políticas a los objetivos, haz clic en Agregar destino y establece los siguientes valores:
Propiedad |
Valor |
Tipo 1 |
Bucket de backend (balanceador de cargas de aplicaciones externo) |
Destino del bucket de backend 1 |
lb-backend-bucket |
-
Haz clic en Listo.
-
Haz clic en Crear política.
Valida la política de seguridad perimetral
Ahora que creaste una política de seguridad perimetral frente al bucket de backend, valida que funciona según lo esperado.
Comprueba la política de seguridad
Después de unos minutos, puedes comprobar que se esté ejecutando la política de Cloud Armor.
En la línea de comandos, ejecuta el siguiente comando, que genera un error 403:
curl -svo /dev/null http://LOAD_BALANCER_IP/google.png
El error 403 ocurre cuando no tienes permiso para acceder a una página web o un elemento en un servidor web.
Resultado:
curl -svo /dev/null http://34.98.81.123/google.png
* Trying 34.98.81.123...
* TCP_NODELAY set
* Connected to 34.98.81.123 (34.98.81.123) port 80 (#0)
> GET /google.png HTTP/1.1
> Host: YOUR_IP
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 403 Forbidden
< X-GUploader-UploadID: ADPycdtS6FtJOGIsiWYDrAAE8VFeQuNutcvbGoQe2t8EZxsuspVtmCjyiTv_P3CNktroHMOGFXkTCfG-Jj-rUO60ZGPpEbpqcw
< Content-Type: application/xml; charset=UTF-8
< Content-Length: 111
< Date: Mon, 13 Dec 2021 23:09:35 GMT
< Expires: Mon, 13 Dec 2021 23:09:35 GMT
< Cache-Control: private, max-age=0
< Server: UploadServer
Investiga los registros
A continuación, comprueba los registros para ver la política de seguridad perimetral aplicada.
-
En el menú de navegación (
), haz clic en Ver todos los productos > Observabilidad > Logging > Explorador de registros.
-
Ingresa el siguiente fragmento en el cuadro de consulta y haz clic en Ejecutar consulta:
resource.type:(http_load_balancer) AND jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" AND severity>=WARNING
- Observa la
respuesta 403
y la política de seguridad aplicada.

Haz clic en Revisar mi progreso para verificar el objetivo.
Crear la política de seguridad perimetral para Cloud Armor
Quita la política de seguridad
Para comprobar que el objeto se está entregando desde la caché de la CDN, quita la política de seguridad de Cloud Armor y consulta el objeto. El objeto de origen se quitó de Cloud Storage, lo que demuestra que el objeto se está entregando desde la caché perimetral.
- En el menú de navegación (
), haz clic en Ver todos los productos > Seguridad de red > Políticas de Cloud Armor > edge-security-policy > Destinos.
- Selecciona el destino
lb-backend-bucket
y haz clic en Quitar para eliminar el bucket de destino. Confirma la eliminación.
- Espera unos minutos y, luego, envía otro
curl
al recurso en el bucket de Cloud Storage:
curl -svo /dev/null http://LOAD_BALANCER_IP/google.png
Esta vez, obtendrás una respuesta 200
. La página web funciona como corresponde.
Resultado:
student-cloudshell% curl -svo /dev/null http://34.98.81.123/google.png
Trying 34.98.81.123...
TCP_NODELAY set
Connected to 34.98.81.123 (34.98.81.123) port 80 (#0)
GET /google.png HTTP/1.1
Host: YOUR_IP
User-Agent: curl/7.64.1
Accept: */*
HTTP/1.1 200 OK
X-GUploader-UploadID: ADPycdtI7f49P3MSuZSZ8vl6RwfwmnIDJ59EeSKp7UPvLPawdaiRHXiNWLtseQTxUxceWOvSLvpYmT3pWVkV4qeIP7M
Date: Mon, 13 Dec 2021 23:06:46 GMT
Last-Modified: Mon, 13 Dec 2021 21:45:57 GMT
ETag: "8f9327db2597fa57d2f42b4a6c5a9855"
x-goog-generation: 1639431957957903
x-goog-metageneration: 2
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 5969
Content-Type: image/png
x-goog-hash: crc32c=TeiHTA==
x-goog-hash: md5=j5Mn2yWX+lfS9CtKbFqYVQ==
x-goog-storage-class: STANDARD
Accept-Ranges: bytes
Content-Length: 5969
Server: UploadServer
Age: 1621
Cache-Control: public,max-age=3600
{ [775 bytes data]
Connection #0 to host 34.98.81.123 left intact
Closing connection 0
Inténtalo un par de veces más y comprueba si obtienes un código de estado 403.
¡Felicitaciones!
Creaste correctamente un bucket de Cloud Storage, subiste una imagen a él, lo vinculaste a un balanceador de cargas y, luego, habilitaste Cloud CDN y políticas de seguridad perimetrales en él.
Última actualización del manual: 10 de diciembre de 2024
Prueba más reciente del lab: 10 de diciembre de 2024
Copyright 2025 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.