arrow_back

Protege las aplicaciones de Compute Engine con BeyondCorp Enterprise

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Protege las aplicaciones de Compute Engine con BeyondCorp Enterprise

Lab 1 hora 15 minutos universal_currency_alt 5 créditos show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

En este lab protegerás las cargas de trabajo de Compute Engine mediante la restricción del tráfico en función de la identidad con Identity-Aware Proxy (IAP) de BeyondCorp Enterprise.

IAP es una función de BeyondCorp Enterprise, la solución de confianza cero de Google Cloud que permite que la carga de trabajo de una organización acceda a aplicaciones web de manera segura desde cualquier lugar, sin necesidad de una VPN y sin preocuparse del software malicioso, la suplantación de identidad (phishing) ni la pérdida de datos.

Este lab aprovisiona un entorno de desarrollo integrado (IDE) basado en la Web al que podrás restringir el acceso mediante la habilitación del parámetro de configuración de confianza cero.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Configurar el consentimiento de OAuth.
  • Configurar credenciales de acceso de OAuth.
  • Configurar el acceso de IAP para la app implementada.
  • Usar IAP para restringir el acceso a la aplicación.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Nota: 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.

En este lab práctico de Qwiklabs, se te proporcionarán credenciales temporales nuevas para acceder a Google Cloud y realizar las actividades en un entorno de nube real, no en uno de simulación o demostración.

Requisitos

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
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses para el lab. Nota: Si usas una Pixelbook, abre una ventana de incógnito para ejecutar el lab.

Cómo iniciar tu lab y acceder a la consola

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago. A la izquierda, verás un panel con las credenciales temporales que debes usar para este lab.

    Panel de credenciales

  2. Copia el nombre de usuario y, luego, haz clic en Abrir la consola de Google. El lab inicia los recursos y abre otra pestaña que muestra la página Elige una cuenta.

    Sugerencia: Abre las pestañas en ventanas separadas, una junto a la otra.
  3. En la página Elige una cuenta, haz clic en Usar otra cuenta. Se abrirá la página de acceso.

    Cuadro de diálogo Elige una cuenta el que se destaca la opción Usar otra cuenta

  4. Pega el nombre de usuario que copiaste del panel Detalles de la conexión. Luego, copia y pega la contraseña.

Nota: Debes usar las credenciales del panel Detalles de la conexión. No uses tus credenciales de Google Cloud Skills Boost. Si tienes una cuenta propia de Google Cloud, no la utilices para este lab para no incurrir en cargos.
  1. 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 Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Menú de la consola de Cloud

Activa Google Cloud Shell

Google 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.

Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell destacado

  2. Haz clic en Continuar.

El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

ID del proyecto destacado en la terminal de Cloud Shell

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.

  • Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list

Resultado:

Credentialed accounts: - @.com (active)

Resultado de ejemplo:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puedes solicitar el ID del proyecto con este comando:
gcloud config list project

Resultado:

[core] project =

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: La documentación completa de gcloud está disponible en la guía de descripción general de gcloud CLI .

Tarea 1: Crea una plantilla de Compute Engine

En esta tarea crearás una plantilla de instancia. Este es un recurso que usarás para crear instancias de máquina virtual (VM) y grupos de instancias administrados (MIG).

  1. En el menú de navegación de la consola de Google Cloud (Menú de navegación), haz clic en Compute Engine > Plantillas de instancia.

  2. Haz clic en Crear plantilla de instancias.

  3. En la página Crear una plantilla de instancias, especifica lo siguiente y deja el resto de la configuración con los valores predeterminados.

Propiedad Valor
Ubicación Global
Serie E2
Tipo de máquina e2-micro (2 CPU virtuales)
Permisos de acceso Configurar acceso para cada API
Permisos de acceso > Compute Engine Solo lectura
Firewall Permitir tráfico HTTP
  1. Haz clic en Opciones avanzadas.

  2. Haz clic en Administración.

  3. En Automatización > Secuencia de comandos de inicio, copia y pega la siguiente secuencia de comandos:

# Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License.# You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. sudo apt-get -y update sudo apt-get -y install git sudo apt-get -y install virtualenv git clone https://github.com/GoogleCloudPlatform/python-docs-samples cd python-docs-samples/iap virtualenv venv -p python3 source venv/bin/activate pip install -r requirements.txt cat example_gce_backend.py | sed -e "s/YOUR_BACKEND_SERVICE_ID/$(gcloud compute backend-services describe my-backend-service --global --format="value(id)")/g" | sed -e "s/YOUR_PROJECT_ID/$(gcloud config get-value account | tr -cd "[0-9]")/g" > real_backend.py gunicorn real_backend:app -b 0.0.0.0:80
  1. Haz clic en Crear.

La creación de la plantilla de instancias toma unos minutos.

Tarea 2: Crea un grupo de instancias administrado

En esta tarea crearás un grupo de instancias administrado (MIG), un grupo de instancias de máquinas virtuales (VMs) que se administran como una sola entidad.

  1. En el Menú de navegación de la consola de Google Cloud, (Menú de navegación), haz clic enCompute Engine > Grupos de instancias.

  2. Haz clic en Crear grupo de instancias.

  3. Haz clic en Nuevo grupo de instancias administrado (sin estado) en el menú del lado izquierdo.

  4. En la página Nuevo grupo de instancias administrado (sin estado), especifica lo siguiente, y deja el resto de la configuración con sus valores predeterminados:

Propiedad Valor
Nombre my-managed-instance-group
Plantilla de instancias Selecciona la plantilla de instancias que creaste en la Tarea 1.
Ubicación Varias zonas
Región us-central1 (Iowa)
Ajuste de escala automático > Modo de ajuste de escala automático Sin ajuste de escala automático
Cantidad de instancias Para cambiar la cantidad de instancias, primero debes desactivar el ajuste de escala automático. Consulta a continuación. Cuando termines, establece el valor máximo de la cantidad en 3.
Nota: No te olvides de configurar la cantidad de instancias luego de cambiar el modo de ajuste de escala automático.
  1. Haz clic en Crear.

La creación del MIG tardará unos minutos.

Tarea 3: Crea un recurso de certificado SSL autoadministrado de Google Cloud

En esta tarea crearás una clave privada, un certificado y, luego, un recurso de certificado SSL autoadministrado. Antes de que puedas crear un recurso de certificado SSL de Google Cloud, debes tener una clave privada y un certificado.

Un certificado SSL de Google Cloud incluye una clave privada y el certificado en sí, ambos en formato PEM.

Los certificados SSL autoadministrados son certificados que obtienes, aprovisionas y renuevas tú mismo. Este recurso sirve para asegurar la comunicación entre los clientes y tu balanceador de cargas, que crearás en la siguiente tarea.

Crea una clave privada y un certificado

  1. En la barra de título de la consola de Google Cloud, haz clic en Activar Cloud Shell (Cloud Shell). Si se solicita, haz clic en Continuar.

  2. Para crear una clave privada nueva con encriptación RSA-2048 en formato PEM de OpenSSL, ejecuta el siguiente comando:

openssl genrsa -out PRIVATE_KEY_FILE 2048

Crea una CSR

Genera una solicitud de firma de certificado (CSR) en formato PEM con OpenSSL.

  1. Haz clic en Abrir editor. Si se te solicita, haz clic en Abrir en una nueva ventana.

  2. En el editor de Cloud Shell, haz clic en el menú y selecciona Archivo > Archivo nuevo.

  3. Para el nombre del archivo, escribe ssl_config y presiona Intro.

  4. Asegúrate de que la ubicación para la creación del archivo se muestre como /home > student-XX-XXXXXXXXX/ssl_config y, luego, haz clic en Aceptar.

  5. Copia y pega la siguiente configuración en la ventana del editor de Cloud Shell:

[req] default_bits = 2048 req_extensions = extension_requirements distinguished_name = dn_requirements prompt = no [extension_requirements] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [dn_requirements] countryName = US stateOrProvinceName = CA localityName = Mountain View 0.organizationName = Cloud organizationalUnitName = Example commonName = Test
  1. Haz clic en el menú y selecciona Archivo > Guardar.

  2. Regresa a la pestaña anterior. Es posible que debas hacer clic en Abrir terminal para reanudar tu sesión de Cloud Shell.

  3. Para crear un archivo de solicitud de firma de certificado (CSR), ejecuta el siguiente comando de OpenSSL:

openssl req -new -key PRIVATE_KEY_FILE \ -out CSR_FILE \ -config ssl_config

Firma la CSR

Cuando una autoridad certificadora (CA) firma tu CSR, usa su propia clave privada para crear un certificado:

  • Si deseas crear un certificado autofirmado para pruebas, ejecuta el siguiente comando de OpenSSL:
openssl x509 -req \ -signkey PRIVATE_KEY_FILE \ -in CSR_FILE \ -out CERTIFICATE_FILE.pem \ -extfile ssl_config \ -extensions extension_requirements \ -days 365

Crea un recurso de certificado SSL autoadministrado

Antes de que puedas crear un recurso de certificado SSL de Google Cloud, debes tener una clave privada y un certificado.

  1. Para crear un certificado SSL global, usa el comando gcloud compute ssl-certificates create con la marca --global:
gcloud compute ssl-certificates create my-cert \ --certificate=CERTIFICATE_FILE.pem \ --private-key=PRIVATE_KEY_FILE \ --global
  1. En el mensaje Autoriza Cloud Shell, haz clic en Autorizar.

Tarea 4: Crea un balanceador de cargas

En esta tarea crearás un balanceador de cargas. El balanceo de cargas HTTP(S) se implementa en Google Front End (GFE). Los GFE se distribuyen globalmente y operan juntos mediante el plano de control y la red global de Google.

Para configurar un balanceador de cargas, tus VMs deben estar en un grupo de instancias que creaste en la tarea anterior.

  1. En el menú de navegación (Menú de navegación) de la consola de Google Cloud, haz clic en Ver todos los productos y, luego, en Servicios de red > Balanceo de cargas.

  2. Haz clic en Crear balanceador de cargas.

  3. En Balanceador de cargas de aplicaciones (HTTP/S), haz clic en Siguiente.

  4. En Orientado al público o para uso interno, selecciona Orientado al público (externo) y haz clic en Siguiente.

  5. En Implementación global o de una sola región, selecciona Ideal para cargas de trabajo globales y haz clic en Siguiente.

  6. En Generación de balanceadores de cargas, selecciona Balanceador de cargas de aplicaciones externo global y haz clic en Siguiente.

  7. Haz clic en Configurar.

  8. En Nombre del balanceador de cargas, escribe my-load-balancer.

  9. Haz clic en Configuración de backend > Servicios y buckets de backend > Crear un servicio de backend.

  10. En el panel Crear un servicio de backend en Nombre, escribe my-backend-service.
    Debes usar el nombre exacto my-backend-service. Si usas un nombre distinto, la secuencia de comandos de inicio de tus VMs no podrá encontrar el ID correcto del servicio de backend para autenticar las solicitudes.

  11. En Nuevo backend especifica lo siguiente y deja los parámetros de configuración restantes con sus valores predeterminados:

Propiedad Valor
Grupo de instancias my-managed-instance-group
Números de puerto 80
  1. Desmarca Habilitar Cloud CDN.

  2. En Verificación de estado, haz clic en Crear una verificación de estado.

  3. En Nombre, escribe my-health-check.

  4. En Protocolo, selecciona HTTP.

  5. Haz clic en Guardar.

  6. Haz clic en Crear.

Volverá a aparecer el panel de creación de un balanceador de cargas de aplicaciones externo global.

  1. Haz clic en Configuración de frontend. Especifica lo siguiente y deja los parámetros de configuración restantes con sus valores predeterminados:
Propiedad Valor
Protocolo HTTPS (incluye HTTP/2 y HTTP/3)
Dirección IP Haz clic en Efímera y, luego, selecciona Crear dirección IP
Nombre Escribe static-ip y, luego, haz clic en Reservar.
Certificado my-cert
  1. Haz clic en Listo.

Volverá a aparecer el panel de creación de un balanceador de cargas de aplicaciones externo global.

  1. En Crear balanceador de cargas de aplicaciones externo global, haz clic en Crear.

Aparecerá la página Balanceo de cargas y se creará el nuevo balanceador de cargas en la lista de balanceadores de cargas.

  1. Después de que la consola de Cloud termine de crear el nuevo balanceador de cargas, haz clic en el nombre del balanceador de cargas y toma nota de la dirección IP externa en Detalles > Frontend. Lo necesitarás en la tarea 7.

Tarea 5: Reinicia tus VMs

En esta tarea, reiniciarás las VMs en tu MIG para que puedan autenticar de forma correcta las solicitudes de IAP.

  1. En el menú de navegación de la consola de Google Cloud, (Menú de navegación), haz clic enCompute Engine > Grupos de instancias.

  2. Haz clic en my-managed-instance-group.

  3. Haz clic en Reiniciar o reemplazar las VM.

  4. En Operación, haz clic en Reiniciar.

  5. En Instancias, escribe 3

  6. En Tiempo de espera mínimo, escribe 0

  7. Haz clic en Reiniciar las VM.

Tarea 6: Configura IAP

Configura tu firewall

En esta tarea, configurarás tu firewall para bloquear el acceso a las VMs subyacentes y permitirlo solo mediante IAP.

  1. En el menú de navegación de la consola de Google Cloud (Menú de navegación), haz clic en Red de VPC > Firewall.

  2. Selecciona la casilla de verificación default-allow-internal.

  3. Haz clic en Borrar y, luego, selecciona Borrar para confirmar.

  4. Haz clic en Crear regla de firewall. Especifica lo siguiente y deja los parámetros de configuración restantes con sus valores predeterminados:

Propiedad Valor
Nombre allow-iap-traffic
Destinos Todas las instancias de la red
Rangos de IPv4 de origen 130.211.0.0/22, 35.191.0.0/16 (Presiona Intro después de pegar cada valor en el cuadro)
Protocolos y puertos Protocolos y puertos especificados
TCP 80
  1. Haz clic en Crear.

Configura IAP

En este paso configurarás IAP para tu proyecto.

  1. En el Menú de navegación de la consola de Google Cloud (Menú de navegación), haz clic en Seguridad > Identity-Aware Proxy.

  2. Haz clic en Habilitar API.

  3. Haz clic en Ir a Identity-Aware Proxy.

  4. Haz clic en Configurar pantalla de consentimiento.

Precaución: No ingreses información confidencial en la pantalla de consentimiento de OAuth. Cualquier información que guardes en la pantalla de consentimiento de OAuth podría ser visible de forma pública para cualquier persona que acceda a tu URL. Los detalles del correo electrónico y del producto se muestran en la pantalla de acceso y cuando alguien intenta acceder a un recurso para el cual no tiene permiso.
  1. En User Type, selecciona Externos y, luego, haz clic en Crear.

  2. En Nombre de la aplicación, escribe IAP.

  3. En Correo electrónico de asistencia del usuario, selecciona la cuenta de estudiante. Su valor es student-00-*****@qwiklabs.net.

  4. En Información de contacto del desarrollador, copia y pega el Nombre de usuario de la cuenta de estudiante de la ventana del lab. Este coincide con el valor en el paso anterior.

  5. Haz clic en Guardar y continuar tres veces, y, luego selecciona Volver al panel.

Para cambiar la información en la pantalla de consentimiento de OAuth más tarde, como el nombre del producto o la dirección de correo electrónico, repite los pasos anteriores para configurarla.

  1. En el Menú de navegación de la consola de Google Cloud (Menú de navegación), haz clic en Seguridad > Identity-Aware Proxy.

  2. Junto a my-backend-service, activa o desactiva el interruptor en la columna IAP.

  3. En el cuadro de diálogo Activar IAP, selecciona la casilla de verificación para confirmar que leíste los requisitos de configuración.

  4. Haz clic en Activar.

Nota: Si aparece un error, haz clic en el error. Si se te solicita que agregues una regla de firewall, edita la regla que creaste con anterioridad para incluir el número de puerto mencionado en el error. Error de estado de IAP Confirmar que se configuró el consentimiento de OAuth.

Agrega principales a la lista de acceso

En este paso deberás agregar principales a la lista de acceso IAP de tu proyecto.

  1. En Identity-Aware Proxy, selecciona la casilla de verificación my backend-service.

  2. Haz clic en Agregar permisos de cuenta principal.

  3. Para otorgarte acceso, copia y pega tu Nombre de usuario de qwiklabs en Principales nuevas desde el panel de credenciales.

  4. Selecciona el rol Cloud IAP > Usuario de aplicación web protegida con IAP.

  5. Haz clic en Guardar.

Confirmar la principal para acceder a la aplicación mediante la configuración de IAM.

Tarea 7: Prueba IAP

En esta tarea, debes ejecutar un comando curl para probar el acceso a tu balanceador de cargas externo y, luego, verificar que está protegido por IAP.

  1. En el menú de navegación (Menú de navegación) de la consola de Google Cloud, haz clic en Ver todos los productos y, luego, en Servicios de red > Balanceo de cargas.

  2. Haz clic en Frontends.

  3. En la barra de título de la consola de Google Cloud, haz clic en Activar Cloud Shell (Cloud Shell). Si se solicita, haz clic en Continuar.

  4. Ejecuta el siguiente comando curl reemplazando Load Balancer External IP address por la dirección IP externa de tu balanceador de cargas:

curl -kvi https://<Load Balancer External IP address> Nota: Si se muestra una respuesta generada por IAP que es verdadera, configuraste correctamente IAP para tu instancia de Compute Engine. Mensaje configurado correctamente
  1. Desplázate hacia arriba en la página de la consola y busca el redireccionamiento Http/2 302 a accounts.google.com.

  2. Haz clic en el vínculo Ubicación.

Este te dirige a la página de autenticación integrada de la cuenta de Google.

Diálogo de autenticación integrado de la cuenta de Google Nota: Porque usaste un certificado autofirmado, no puedes acceder a la aplicación. Sin embargo, esto confirma que IAP se configuró y que protege el tráfico. Confirmar la restricción de acceso con IAP.

¡Felicitaciones!

Usaste correctamente IAP para proteger una aplicación web que se ejecuta en una instancia de Compute Engine.

En este lab, aprendiste a realizar las siguientes tareas:

  • Crear una plantilla de instancias
  • Crear un grupo de instancias
  • Crear un certificado autofirmado
  • Crear un balanceador de cargas
  • Configurar una pantalla de consentimiento de OAuth
  • Otorgar acceso a la aplicación mediante IAP

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.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. 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.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. 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.