Migra desde la API de OAuth Admin de IAP

La API de administrador de OAuth de Identity-Aware Proxy (IAP) ahora está obsoleta. En esta guía, se muestra cómo puedes migrar de forma opcional los clientes de OAuth existentes a clientes de OAuth administrados por Google. Si no usas la API de administrador de OAuth de IAP, este cambio no te afectará.

Para verificar si tu proyecto usa las APIs de administrador de OAuth, consulta Verifica el uso de las APIs de administrador de OAuth. Si tu proyecto usa las APIs de administrador de OAuth, debes seguir las instrucciones de migración de este documento o puedes usar alternativas a la API de administrador de OAuth.

¿Qué aspectos cambiarán?

Estamos inhabilitando la API de administrador de OAuth de IAP, que incluye las siguientes APIs para la administración manual de clientes de OAuth y marcas:

Ya no puedes crear ni administrar clientes de OAuth personalizados con la API de administrador de OAuth de IAP. En lugar de administrar manualmente los clientes de OAuth 2.0, IAP usa un cliente de OAuth administrado por Google. Esto simplifica la administración de clientes de OAuth, reduce los errores manuales y optimiza los procesos de implementación.

Para seguir proporcionando una marca personalizada, te recomendamos que configures clientes de OAuth personalizados.

¿Qué no cambiará?

Si no usas la API de administrador de OAuth de IAP, este cambio no te afectará.

Esta inhabilitación no afecta a los clientes de OAuth que configuras manualmente con la API de Compute Engine, la API de App Engine o la Google Cloud consola de.

Puedes seguir creando configuraciones nuevas de marca y cliente de OAuth, y administrar las con la Google Cloud consola. No es necesario que migres tus clientes de OAuth existentes. Puedes seguir usándolos y administrándolos a través de la Google Cloud consola en lugar de la API de administrador de OAuth de IAP.

Verifica el uso de las APIs de administrador de OAuth de IAP

Para verificar si tu proyecto usa las APIs de administrador de OAuth de IAP, haz lo siguiente:

  1. En la Google Cloud consola de, ve a la página Uso de la API de IAP.

    Ir a Uso de la API de IAP

  2. Selecciona el proyecto en el que deseas verificar el uso de la API de Admin de OAuth de IAP.

  3. En la lista Seleccionar gráficos , selecciona Tráfico por método de API y, luego, haz clic en Aceptar.

  4. En la sección Métodos, busca cualquier método con el prefijo google.cloud.iap.v1.IdentityAwareProxyOAuthService, que indica que el proyecto usa la API de administrador de OAuth de IAP.

Descripción detallada

A partir del 22 de enero de 2025, la API de Admin de OAuth 2.0 de IAP, que se usa para crear un cliente de OAuth 2.0 de IAP, estará obsoleta. IAP ahora usa un cliente de OAuth administrado por Google para el acceso al navegador de forma predeterminada o cuando no se configura un cliente de OAuth 2.0 de forma explícita. El cliente de OAuth 2.0 administrado por Google restringe el acceso a las aplicaciones habilitadas para IAP a los usuarios de la misma organización cuando acceden a esas aplicaciones a través de un navegador.

Con la inhabilitación de la API de Admin de OAuth 2.0 de Identity-Aware Proxy (IAP), ya no podrás usar esta API para crear ni administrar clientes de OAuth. Los clientes de OAuth creados antes de esta inhabilitación no se invalidarán. Puedes seguir usando los clientes de OAuth que creaste anteriormente y administrarlos con la consola de. Google Cloud

Si tienes aplicaciones configuradas con clientes de OAuth creados con la API de Admin de IAP 2.0 o de otra manera, esas aplicaciones seguirán funcionando. No se requieren cambios en las aplicaciones. Sin embargo, si tus secuencias de comandos de automatización o herramientas de infraestructura como código (IaC) usan la API de Admin de OAuth 2.0 de IAP para configurar clientes nuevos o recuperar secretos de clientes para clientes existentes, debes actualizar las secuencias de comandos para que no usen la API de Admin de OAuth 2.0 de IAP.

Si continúas usando tu cliente existente administrado por el usuario o consideras cambiar a la opción administrada por Google, depende de tus requisitos de marca y acceso externo. Para obtener un desglose detallado de todas las diferencias funcionales, consulta la tabla de comparación de clientes de OAuth administrados por Google y personalizados. Si tu aplicación requiere un ID de cliente personalizado para la marca o el acceso externo, usa la Google Cloud consola de para crear el ID de cliente. Para obtener más información sobre los clientes de OAuth personalizados, consulta Personaliza una configuración de OAuth para habilitar IAP.

Para obtener información sobre cómo configurar clientes de OAuth 2.0 administrados por Google para tus aplicaciones, consulta Acceso programático.

Si tienes un requisito que no cumple el cliente de OAuth 2.0 administrado por Google, puedes compartir un solo cliente de OAuth con varias aplicaciones de IAP, lo que elimina la necesidad de crear manualmente un cliente para cada aplicación nueva.

Acciones necesarias

  • Actualiza las secuencias de comandos de automatización

    Si usas Terraform o cualquier otra herramienta para automatizar la configuración de IAP y usas la API de Admin de OAuth 2.0 de IAP, debes actualizar las secuencias de comandos de automatización para usar un cliente creado previamente o usar el cliente de OAuth administrado por Google con IAP.

  • Configura el acceso programático para las aplicaciones con los clientes de OAuth 2.0 administrados por Google

    Si ya tienes algunas aplicaciones protegidas por IAP y planeas migrarlas con el cliente de OAuth 2.0 administrado por Google, puedes configurar el acceso programático para estas aplicaciones agregando a la lista de entidades permitidas los clientes de OAuth 2.0.

Migra recursos habilitados para IAP

Para migrar tus recursos para usar el cliente de OAuth 2.0 administrado por Google, sigue los pasos para el tipo de recurso, como un recurso de Compute Engine, que deseas migrar.

Migra recursos de App Engine habilitados para IAP

Completa los pasos de esta sección para migrar los recursos de App Engine en los que IAP está habilitado y se configura un cliente de OAuth 2.0.

gcloud

Antes de continuar con los pasos, asegúrate de tener una versión actualizada de gcloud CLI. Si deseas obtener instrucciones para instalar gcloud CLI, consulta Instala la CLI de gcloud.

  1. Usa Google Cloud CLI para autenticarte.

    gcloud auth login
    
  2. Haz clic en la URL que aparece y accede.

  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 el siguiente comando para especificar el proyecto que contiene las aplicaciones que deseas seguir protegiendo con IAP.

    gcloud config set project PROJECT_ID
    
  5. Ejecuta el siguiente comando para recuperar el ID de cliente de OAuth 2.0 configurado.

    gcloud app describe --format="value(iap.oauth2ClientId)"
    

    Guarda el ID de cliente del comando anterior si deseas permitir el acceso programático.

  6. Para agregar a la lista de entidades permitidas el cliente de OAuth 2.0 para el acceso programático, realiza una operación de lectura, actualización y escritura en la API de configuración de IAP.

    gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yaml
    
  7. Actualiza el archivo settings.yaml y agrega el ID de cliente de OAuth 2.0 recuperado anteriormente en programmaticClients, como se muestra en el siguiente ejemplo.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Aplica la nueva configuración en la aplicación de App Engine.

    gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_ID
    
  9. Para migrar tus apps, ejecuta el siguiente comando.

    gcloud iap web enable --resource-type=app-engine
    

API

  1. Ejecuta el siguiente comando para recuperar el ID de cliente de OAuth 2.0 configurado.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://appengine.googleapis.com/v1/apps/PROJECT_ID?fields=iap"
    
  2. Ejecuta el siguiente comando para recuperar la configuración existente de IAP en un archivo settings.json.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings" > settings.json
    
  3. Actualiza el archivo settings.json para agregar el CLIENT_ID guardado anteriormente como un cliente programático.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Ejecuta el siguiente comando para actualizar la configuración de IAP.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings"
    
  5. Ejecuta el siguiente comando para preparar un archivo settings.json.

      cat << EOF > settings.json
      {
      "iap":
          {
            "enabled":true
          }
      }
      EOF
    
  6. Ejecuta el siguiente comando para migrar tus apps.

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d @settings.json \
      "https://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
    

Migra recursos de Compute Engine habilitados para IAP

Completa los pasos de esta sección para migrar los recursos de Compute Engine en los que IAP está habilitado y se configura un cliente de OAuth 2.0.

gcloud

Antes de continuar con los pasos, asegúrate de tener una versión actualizada de gcloud CLI. Si deseas obtener instrucciones para instalar gcloud CLI, consulta Instala la CLI de gcloud.

  1. Usa Google Cloud CLI para autenticarte.

    gcloud auth login
    
  2. Haz clic en la URL que aparece y accede.

  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 el siguiente comando para especificar el proyecto que contiene las aplicaciones que deseas seguir protegiendo con IAP.

    gcloud config set project PROJECT_ID
    
  5. Ejecuta el siguiente comando para recuperar el ID de cliente de OAuth 2.0 configurado.

    Alcance global

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --global \
    --format="value(iap.oauth2ClientId)"
    

    Alcance regional

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --region REGION_NAME \
    --format="value(iap.oauth2ClientId)"
    

    Guarda el ID de cliente del comando anterior si deseas permitir el acceso programático.

  6. Para otorgar acceso programático al cliente de OAuth 2.0, realiza una operación de lectura, actualización y escritura en la API de configuración de IAP.

    Alcance global

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME > settings.yaml
    

    Alcance regional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Actualiza el archivo settings.yaml y agrega el ID de cliente de OAuth 2.0 recuperado anteriormente en programmaticClients, como se muestra en el siguiente ejemplo:

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Aplica la nueva configuración en la aplicación de Compute Engine:

    Alcance global

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME

    Alcance regional

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
  9. Para migrar tus aplicaciones, ejecuta el siguiente comando. Para borrar el ID de cliente de OAuth y el secreto de OAuth, pasa un espacio único entre comillas (" ") en el comando. El servicio de backend usa el cliente de OAuth administrado por Google.

    Alcance global

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --global \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    

    Alcance regional

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Para confirmar que quitaste el ID de cliente de OAuth y el secreto de cliente de OAuth y que el servicio de backend usa un cliente de OAuth administrado por Google ejecuta gcloud compute backend-services describe. Para borrar estos campos durante la migración, el gcloud compute backend-services update comando usa un solo espacio (" "), que la API de Compute Engine interpreta como una instrucción para quitar los valores oauth2ClientId y oauth2ClientSecret.

    Alcance global

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Alcance regional

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --region REGION_NAME
    

    Después de ejecutar el comando describe, examina la sección iap del resultado. Una migración exitosa se indica cuando el oauth2ClientId campo muestra un solo espacio (' '), y el oauth2ClientSecret campo contiene el hash SHA256 (36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068) de un solo espacio.

API

  1. Ejecuta el siguiente comando para recuperar el ID de cliente de OAuth 2.0 configurado.

    Alcance global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    

    Alcance regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    
  2. Ejecuta el siguiente comando para recuperar la configuración existente de IAP en un archivo settings.json.

    Alcance global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    

    Alcance regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    
  3. Actualiza el archivo settings.json para agregar guardado anteriormenteCLIENT_ID como un cliente programático.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Ejecuta el siguiente comando para actualizar la configuración de IAP.

    Alcance global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
    

    Alcance regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
    
  5. Ejecuta el siguiente comando para preparar un archivo settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Ejecuta el siguiente comando para migrar tus recursos de IAP.

    Alcance global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Alcance regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    
  7. Para confirmar que no se configuró el ID de cliente de OAuth, ejecuta el siguiente comando de alcance global o regional. Después de ejecutar el comando, verifica el resultado para asegurarte de que el campo de ID de cliente de OAuth esté vacío.

    Alcance global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Alcance regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    

Terraform

Si migras recursos existentes habilitados para IAP para usar un cliente de OAuth administrado por Google, debes anular la configuración de los campos oauth2_client_id y oauth2_client_secret de forma explícita. Para anular la configuración de los campos, actualiza los valores a un solo carácter de espacio en blanco, como se muestra en el siguiente ejemplo:

resource "google_compute_backend_service" "default" {
  name                  = "tf-test-backend-service-external"
  protocol              = "HTTP"
  load_balancing_scheme = "EXTERNAL"
  iap {
    oauth2_client_id     = " "
    oauth2_client_secret = " "
  }
}

Los campos oauth2_client_id y oauth2_client_secret son opcionales y, si trabajas con recursos nuevos habilitados para IAP, puedes ignorarlos.

Para obtener más información sobre el uso de Terraform con Google Cloud, consulta la documentación de Terraform.

Migra recursos de Cloud Run habilitados para IAP

Completa los pasos de esta sección para migrar los recursos de Cloud Run en los que IAP está habilitado y se configura un cliente de OAuth 2.0.

gcloud

Antes de continuar con los pasos, asegúrate de tener una versión actualizada de gcloud CLI. Si deseas obtener instrucciones para instalar la gcloud CLI, consulta Instala la CLI de gcloud.

  1. Para autenticarte, usa Google Cloud CLI y ejecuta el siguiente comando.

    gcloud auth login
    
  2. Haz clic en la URL que aparece y accede.

  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 el siguiente comando para especificar el proyecto que contiene las aplicaciones que deseas seguir protegiendo con IAP.

    gcloud config set project PROJECT_ID
    
  5. Ejecuta el siguiente comando para recuperar el ID de cliente de OAuth 2.0 configurado.

    Alcance global

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global \
        --format="value(iap.oauth2ClientId)"
    

    Alcance regional

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
      --region REGION_NAME \
      --format="value(iap.oauth2ClientId)"
    

    Guarda el ID de cliente del comando anterior si deseas permitir el acceso programático.

  6. Para agregar a la lista de entidades permitidas el cliente de OAuth 2.0 para el acceso programático, realiza una operación de lectura, actualización y escritura en la API de configuración de IAP.

    Alcance global

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME > settings.yaml
    

    Alcance regional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Actualiza el archivo settings.yaml y agrega el ID de cliente de OAuth 2.0 recuperado anteriormente en programmaticClients, como se muestra en el ejemplo.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Aplica la nueva configuración en la aplicación de Compute Engine.

    Alcance global

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME
    

    Alcance regional

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
    
  9. Para migrar tus recursos, ejecuta el comando con alcance global o regional.

    Alcance global

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --global \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    

    Alcance regional

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Para confirmar que no se configuró el ID de cliente de OAuth, ejecuta el siguiente comando de alcance global o regional. Después de ejecutar el comando, verifica el resultado para asegurarte de que el campo de ID de cliente de OAuth esté vacío.

    Alcance global

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Alcance regional

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --region REGION_NAME
    

API

  1. Ejecuta el siguiente comando para recuperar el ID de cliente de OAuth 2.0 configurado.

    Alcance global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    

    Alcance regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    
  2. Ejecuta el siguiente comando para recuperar la configuración existente de IAP en un archivo settings.json.

    Alcance global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    

    Alcance regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    
  3. Actualiza el archivo settings.json para agregar guardado anteriormenteCLIENT_ID como un cliente programático.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Ejecuta el siguiente comando para actualizar la configuración de IAP.

    Alcance global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
    

    Alcance regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
    
  5. Ejecuta el siguiente comando para preparar un archivo settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Ejecuta el siguiente comando para migrar tus recursos.

    Alcance global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Alcance regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    
  7. Para confirmar que no se configuró el ID de cliente de OAuth, ejecuta el siguiente comando de alcance global o regional. Después de ejecutar el comando, verifica el resultado para asegurarte de que el campo de ID de cliente de OAuth esté vacío.

    Alcance global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Alcance regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    

Migra recursos de Google Kubernetes Engine habilitados para IAP

Agrega el siguiente bloque de IAP a la BackendConfig Definición de recursos personalizados (CRD). Esto habilita IAP con el cliente de OAuth 2.0 administrado por Google.

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  name: config-default
  namespace: my-namespace
spec:
  iap:
    enabled: true

Usa un JWT de cuenta de servicio para autenticarte en IAP

Puedes autenticarte en IAP sin tener que usar la API de administrador de OAuth obsoleta con un JWT de cuenta de servicio.

Obtén un secreto del cliente de OAuth

Cuando creas un cliente de OAuth personalizado en la Google Cloud consola de, el cliente secreto se muestra solo en ese momento. Tú tienes la responsabilidad de almacenar este secreto de forma segura. Secret Manager es el servicio recomendado para almacenar de forma segura los secretos de cliente de OAuth.

Si usas Secret Manager para almacenar tu secreto de cliente de OAuth, consulta Accede a una versión secreta para obtener instrucciones sobre cómo obtener el secreto del cliente.

Verifica si usas la API de administrador de OAuth de IAP

Para verificar si tu proyecto usa las APIs de administrador de OAuth de IAP, consulta Verifica el uso de las APIs de administrador de OAuth.

Alternativas para usar la API de administrador de OAuth

Si necesitas obtener credenciales de cliente de OAuth sin usar la API de OAuth, puedes usar los siguientes métodos:

  • Google Cloud consola de: Puedes obtener credenciales de OAuth de forma manual a través de la Credenciales página.

  • Secret Manager: Puedes almacenar y recuperar el secreto con Secret Manager. Para obtener información sobre cómo usar Secret Manager con Terraform, consulta google_secret_manager_secret.

  • JWT de cuenta de servicio: Usa tokens web JSON (JWT) de cuenta de servicio para la autenticación. Con los JWT de cuenta de servicio, no necesitas usar clientes de OAuth.