Habilita IAP para Compute Engine

En esta página, se explica cómo proteger una instancia de Compute Engine con Identity-Aware Proxy (IAP).

Antes de comenzar

Con el fin de habilitar IAP para Compute Engine, necesitas lo siguiente:

  • Un proyecto de Cloud Console con facturación habilitada
  • Un grupo de una o más instancias de Compute Engine, entregadas mediante un balanceador de cargas de HTTPS
  • Un nombre de dominio registrado con la dirección de tu balanceador de cargas
  • Un código de la aplicación para verificar que todas las solicitudes tengan una identidad

Si aún no configuraste tu instancia de Compute Engine, consulta Configura IAP para Compute Engine con el fin de obtener una explicación completa.

Habilita IAP con Cloud Console

Configuring the OAuth consent screen

If you haven't configured your project's OAuth consent screen, you need to do so. An email address and product name are required for the OAuth consent screen.

  1. Ve a la pantalla de consentimiento de OAuth.
    Configuración de la pantalla de consentimiento
  2. En Correo electrónico de asistencia, selecciona la dirección de correo electrónico que deseas mostrar como contacto público. Esta debe ser tu dirección de correo electrónico o un Grupo de Google de tu propiedad.
  3. Ingresa el Nombre de la aplicación que deseas mostrar.
  4. Agrega otro tipo de información opcional que desees mostrar.
  5. Haz clic en Guardar.

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.

Creating OAuth credentials

  1. Go to the Credentials page.
    Go to the Credentials page
  2. On the Create credentials drop-down list, select OAuth client ID.
  3. Under Application type, select Web application.
  4. Add a Name for your OAuth client ID.
  5. Click Create. Your OAuth client ID and client secret are generated and displayed on the OAuth client window.
  6. Click OK.
  7. Select the client that you created.
  8. Copy the client ID to the clipboard.
  9. Add the universal redirect URL to the authorized redirect URIs field in the following format:
    https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect

    where CLIENT_ID is the OAuth client ID.

  10. Near the top of the page, click Download JSON. You'll use these credentials in a later step.

Setting up IAP access

  1. Go to the Identity-Aware Proxy page.
    Go to the Identity-Aware Proxy page
  2. Select the project you want to secure with IAP.
  3. Select the checkbox next to the resource you want to grant access to.
  4. On the right side panel, click Add principal.
  5. In the Add principals dialog that appears, enter the email addresses of groups or individuals who should have the IAP-secured Web App User role for the project.

    The following kinds of principals can have this role:

    • Google Account: user@gmail.com
    • Google Group: admins@googlegroups.com
    • Service account: server@example.gserviceaccount.com
    • Google Workspace domain: example.com

    Make sure to add a Google Account that you have access to.

  6. Select Cloud IAP > IAP-secured Web App User from the Roles drop-down list.
  7. Click Save.

Turning on IAP

  1. On the Identity-Aware Proxy page, under HTTPS Resources, find the load balancer that serves the instance group you want to restrict access to. To turn on IAP for a resource,
    To enable IAP:
    • At least one protocol in the load balancer frontend configuration must be HTTPS. Learn about setting up a load balancer.
    • You need the compute.backendServices.update, clientauthconfig.clients.create, and clientauthconfig.clients.getWithSecret permissions. These permissions are granted by roles, such as the Project Editor role. To learn more, see Managing access to IAP-secured resources.
  2. In the Turn on IAP window that appears, click Turn On to confirm that you want IAP to secure your resource. After you turn on IAP, it requires login credentials for all connections to your load balancer. Only accounts with the IAP-Secured Web App User role on the project will be given access.

Habilita IAP con el SDK de Cloud

En esta sección, se describe cómo usar la herramienta de línea de comandos de gcloud para activar IAP en aplicaciones Compute Engine. Aún no se admite el uso de la herramienta de línea de comandos de gcloud a fin de activar IAP para App Engine. En cambio, usa la guía de inicio rápido de App Engine.

Obtén el SDK de Cloud

Antes de configurar tu IAP y tu proyecto, necesitas una versión actualizada del SDK de Cloud. Obtén el SDK de Cloud.

Configura tu proyecto

Selecciona el proyecto para el que deseas habilitar IAP y configúralo de la siguiente manera:

  1. Ve a la página Grupos de instancias para asegurarte de que tus instancias estén dentro de un grupo.
  2. Define los servicios de backend.
  3. Configura el balanceo de cargas.
  4. Configura un cliente de OAuth:
    1. Ve a API > Credenciales y selecciona el proyecto para el que deseas habilitar IAP.
    2. Configura tu pantalla de consentimiento de OAuth:
      1. Ve a la pantalla de consentimiento de OAuth.
        Configuración de la pantalla de consentimiento
      2. En Correo electrónico de asistencia, selecciona la dirección de correo electrónico que deseas mostrar como contacto público. Esta debe ser tu dirección de correo electrónico o un Grupo de Google de tu propiedad.
      3. Ingresa el Nombre de la aplicación que deseas mostrar.
      4. Agrega otro tipo de información opcional que desees mostrar.
      5. Haz clic en Guardar.

      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.

    3. En Credenciales, haz clic en Crear credenciales > ID de cliente de OAuth.
    4. En Tipo de aplicación, selecciona Aplicación web y, luego, agrega un Nombre.
    5. Cuando termines de ingresar los detalles, haz clic en Crear.
    6. En la ventana Cliente de OAuth que aparece a continuación, toma nota del ID del cliente y del secreto del cliente.
    7. Vuelve a seleccionar el cliente. Agrega la URL de redireccionamiento universal al campo URI de redireccionamiento autorizados en el formato https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect, en el que CLIENT_ID es el ID de cliente de OAuth.

Habilita IAP

  1. Usa la herramienta de línea de comandos gcloud para ejecutar gcloud auth login.
  2. Sigue la URL que aparece para obtener acceso.
  3. Después de acceder, copia el código de verificación que aparece y pégalo en la línea de comandos.
  4. Ejecuta gcloud config set project project_id del proyecto para el que deseas habilitar IAP.
  5. Para habilitar IAP, usa el ID de cliente de OAuth y el secreto que creaste anteriormente y ejecuta gcloud compute backend-services update backend_service_name --global --iap=enabled,oauth2-client-id=client_id,oauth2-client-secret=client_secret.

Después de habilitar IAP, puedes usar la herramienta de línea de comandos de gcloud para manipular la política de acceso de IAP con la función de IAM roles/iap.httpsResourceAccessor. Obtén más información sobre cómo administrar funciones y permisos.