Migrer depuis l'API Admin OAuth IAP

L'API d'administration OAuth Identity-Aware Proxy (IAP) est désormais obsolète. Ce guide explique comment migrer éventuellement les clients OAuth existants vers des clients OAuth gérés par Google. Si vous n'utilisez pas l'API IAP OAuth Admin, ce changement ne vous concerne pas.

Pour vérifier si votre projet utilise des API Admin OAuth, consultez Vérifier l'utilisation des API Admin OAuth. Si votre projet utilise les API OAuth Admin, vous devez suivre les instructions de migration de ce document ou utiliser des alternatives à l'API OAuth Admin.

Qu'est-ce qui change ?

Nous abandonnons l'API IAP OAuth Admin, qui inclut les API suivantes pour la gestion manuelle des clients et des marques OAuth :

Vous ne pouvez plus créer ni gérer de clients OAuth personnalisés à l'aide de l'API IAP OAuth Admin. Au lieu de gérer manuellement les clients OAuth 2.0, IAP utilise un client OAuth géré par Google. Cela simplifie la gestion des clients OAuth, réduit les erreurs manuelles et rationalise vos processus de déploiement.

Pour continuer à proposer un branding personnalisé, nous vous recommandons de configurer des clients OAuth personnalisés.

Ce qui ne change pas

Si vous n'utilisez pas l'API Admin OAuth IAP, ce changement n'aura aucune incidence sur vous.

Cette obsolescence n'affecte pas les clients OAuth que vous configurez manuellement à l'aide de l'API Compute Engine, de l'API App Engine ou de la console Google Cloud .

Vous pouvez continuer à créer des configurations de marque et de client OAuth, et à les gérer à l'aide de la console Google Cloud . Vous n'êtes pas obligé de migrer vos clients OAuth existants. Vous pouvez continuer à les utiliser et à les gérer dans la consoleGoogle Cloud au lieu de l'API IAP OAuth Admin.

Vérifier l'utilisation des API Admin OAuth IAP

Pour vérifier si votre projet utilise les API d'administration OAuth IAP, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Utilisation de l'API IAP.

    Accéder à l'utilisation de l'API IAP

  2. Sélectionnez le projet pour lequel vous souhaitez vérifier l'utilisation de l'API OAuth Admin IAP.

  3. Dans la liste Sélectionner des graphiques, sélectionnez Trafic par méthode API, puis cliquez sur OK.

  4. Dans la section Méthodes, recherchez les méthodes avec le préfixe google.cloud.iap.v1.IdentityAwareProxyOAuthService, qui indique que le projet utilise l'API Admin OAuth IAP.

Description détaillée

Depuis le 22 janvier 2025, l'API Admin OAuth 2.0 IAP, qui permet de créer un client OAuth 2.0 IAP, est obsolète. IAP utilise désormais un client OAuth géré par Google pour l'accès au navigateur par défaut ou lorsqu'aucun client OAuth 2.0 n'est configuré explicitement. Le client OAuth 2.0 géré par Google limite l'accès aux applications compatibles avec IAP aux utilisateurs de la même organisation lorsqu'ils accèdent à ces applications via un navigateur.

L'API Admin OAuth 2.0 Identity-Aware Proxy (IAP) étant obsolète, vous ne pouvez plus l'utiliser pour créer ni gérer des clients OAuth. Les clients OAuth créés avant cette obsolescence ne seront pas invalidés. Vous pouvez continuer à utiliser les clients OAuth que vous avez créés précédemment et les gérer à l'aide de la console Google Cloud .

Si vous avez configuré des applications avec des clients OAuth créés à l'aide de l'API Admin IAP 2.0 ou d'une autre méthode, ces applications continueront de fonctionner. Aucune modification n'est requise pour les applications. Toutefois, si vos scripts d'automatisation ou vos outils d'infrastructure en tant que code (IaC) utilisent l'API IAP OAuth 2.0 Admin pour configurer de nouveaux clients ou récupérer les secrets client pour les clients existants, vous devez mettre à jour les scripts afin qu'ils n'utilisent pas l'API IAP OAuth 2.0 Admin.

Que vous continuiez à utiliser votre client géré par l'utilisateur existant ou que vous envisagiez de passer à l'option gérée par Google dépend de vos exigences en termes d'image de marque et d'accès externe. Pour obtenir une comparaison détaillée de toutes les différences fonctionnelles, consultez le tableau comparatif des clients OAuth gérés par Google et personnalisés. Si votre application nécessite un ID client personnalisé pour l'image de marque ou l'accès externe, utilisez la console Google Cloud pour créer l'ID client. Pour en savoir plus sur les clients OAuth personnalisés, consultez Personnaliser une configuration OAuth pour activer IAP.

Pour savoir comment configurer des clients OAuth 2.0 gérés par Google pour vos applications, consultez Accès programmatique.

Si vous avez une exigence qui n'est pas satisfaite par le client OAuth 2.0 géré par Google, vous pouvez partager un seul client OAuth avec plusieurs applications IAP. Vous n'aurez ainsi pas besoin de créer manuellement un client pour chaque nouvelle application.

Actions requises

  • Mettre à jour les scripts d'automatisation

    Si vous utilisez Terraform ou d'autres outils pour automatiser la configuration d'IAP, et que vous utilisez l'API Admin OAuth 2.0 d'IAP, vous devez mettre à jour les scripts d'automatisation pour utiliser un client pré-créé ou utiliser le client OAuth géré par Google avec IAP.

  • Configurer l'accès programmatique pour les applications à l'aide des clients OAuth 2.0 gérés par Google

    Si vous disposez déjà d'applications protégées par IAP et que vous prévoyez de les migrer à l'aide du client OAuth 2.0 géré par Google, vous pouvez configurer l'accès programmatique pour ces applications en ajoutant des clients OAuth 2.0 à la liste d'autorisation.

Migrer les ressources compatibles avec IAP

Pour migrer vos ressources afin qu'elles utilisent le client OAuth 2.0 géré par Google, suivez les étapes correspondant au type de ressource que vous souhaitez migrer (par exemple, une ressource Compute Engine).

Migrer les ressources App Engine compatibles avec IAP

Suivez les étapes de cette section pour migrer les ressources App Engine pour lesquelles IAP est activé et un client OAuth 2.0 est configuré.

gcloud

Avant de passer aux étapes suivantes, assurez-vous de disposer d'une version à jour de la gcloud CLI. Pour savoir comment installer la gcloud CLI, consultez Installer la gcloud CLI.

  1. Utilisez Google Cloud CLI pour vous authentifier.

    gcloud auth login
    
  2. Cliquez sur l'URL qui s'affiche, puis connectez-vous.

  3. Une fois la connexion effectuée, copiez le code de validation qui s'affiche et collez-le dans la ligne de commande.

  4. Exécutez la commande suivante pour spécifier le projet contenant les applications que vous souhaitez continuer à protéger avec IAP.

    gcloud config set project PROJECT_ID
    
  5. Exécutez la commande suivante pour récupérer l'ID client OAuth 2.0 configuré.

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

    Enregistrez l'ID client de la commande précédente si vous souhaitez autoriser l'accès programmatique.

  6. Pour ajouter le client OAuth 2.0 à la liste d'autorisation pour l'accès programmatique, effectuez une opération de lecture-mise à jour-écriture sur l'API des paramètres IAP.

    gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yaml
    
  7. Mettez à jour le fichier settings.yaml et ajoutez l'ID client OAuth 2.0 récupéré précédemment sous programmaticClients, comme indiqué dans l'exemple suivant.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Appliquer les nouveaux paramètres à l'application App Engine

    gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_ID
    
  9. Pour migrer vos applications, exécutez la commande suivante.

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

API

  1. Exécutez la commande suivante pour récupérer l'ID client OAuth 2.0 configuré.

    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. Exécutez la commande suivante pour récupérer les paramètres d'achats via l'IAP existants dans un fichier 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. Mettez à jour le fichier settings.json pour ajouter CLIENT_ID précédemment enregistré en tant que client programmatique.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Exécutez la commande suivante pour mettre à jour les paramètres d'IAP;application.

    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. Exécutez la commande suivante pour préparer un fichier settings.json.

      cat << EOF > settings.json
      {
      "iap":
          {
            "enabled":true
          }
      }
      EOF
    
  6. Exécutez la commande suivante pour migrer vos applications.

      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"
    

Migrer des ressources Compute Engine compatibles avec IAP

Suivez les étapes de cette section pour migrer les ressources Compute Engine pour lesquelles IAP est activé et un client OAuth 2.0 est configuré.

gcloud

Avant de passer aux étapes suivantes, assurez-vous de disposer d'une version à jour de la gcloud CLI. Pour savoir comment installer la gcloud CLI, consultez Installer la gcloud CLI.

  1. Utilisez Google Cloud CLI pour vous authentifier.

    gcloud auth login
    
  2. Cliquez sur l'URL qui s'affiche, puis connectez-vous.

  3. Une fois la connexion effectuée, copiez le code de validation qui s'affiche et collez-le dans la ligne de commande.

  4. Exécutez la commande suivante pour spécifier le projet contenant les applications que vous souhaitez continuer à protéger avec IAP.

    gcloud config set project PROJECT_ID
    
  5. Exécutez la commande suivante pour récupérer l'ID client OAuth 2.0 configuré.

    Champ d'application global

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

    Champ d'application régional

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

    Enregistrez l'ID client de la commande précédente si vous souhaitez autoriser l'accès programmatique.

  6. Pour accorder un accès programmatique à un client OAuth 2.0, effectuez une opération de lecture, de mise à jour et d'écriture sur l'API des paramètres IAP.

    Champ d'application global

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

    Champ d'application régional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Mettez à jour le fichier settings.yaml et ajoutez l'ID client OAuth 2.0 récupéré précédemment sous programmaticClients, comme indiqué dans l'exemple suivant :

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Appliquez les nouveaux paramètres à l'application Compute Engine :

    Champ d'application global

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

    Champ d'application régional

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
  9. Pour migrer vos applications, exécutez la commande à portée mondiale ou régionale.

    Champ d'application global

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

    Champ d'application régional

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Pour vérifier que l'ID client OAuth n'est pas défini, exécutez la commande à portée globale ou régionale suivante. Après avoir exécuté la commande, vérifiez le résultat pour vous assurer que le champ de l'ID client OAuth est vide.

    Champ d'application global

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Champ d'application régional

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

API

  1. Exécutez la commande suivante pour récupérer l'ID client OAuth 2.0 configuré.

    Champ d'application 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"
    

    Champ d'application régional

    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. Exécutez la commande suivante pour récupérer les paramètres d'achats via l'IAP existants dans un fichier settings.json.

    Champ d'application 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
    

    Champ d'application régional

    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. Mettez à jour le fichier settings.json pour ajouter CLIENT_ID précédemment enregistré en tant que client programmatique.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Exécutez la commande suivante pour mettre à jour les paramètres d'IAP;application.

    Champ d'application 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"
    

    Champ d'application régional

    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. Exécutez la commande suivante pour préparer un fichier settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Exécutez la commande suivante pour migrer vos ressources IAP.

    Champ d'application 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"
    

    Champ d'application régional

    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. Pour vérifier que l'ID client OAuth n'est pas défini, exécutez la commande à portée globale ou régionale suivante. Après avoir exécuté la commande, vérifiez le résultat pour vous assurer que le champ de l'ID client OAuth est vide.

    Champ d'application 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"
    

    Champ d'application régional

    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 vous migrez des ressources existantes compatibles avec IAP pour utiliser un client OAuth géré par Google, vous devez explicitement annuler la définition des champs oauth2_client_id et oauth2_client_secret. Pour annuler la définition des champs en mettant à jour les valeurs avec un seul caractère d'espace blanc, comme indiqué dans l'exemple suivant :

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 = " "
  }
}

Les champs oauth2_client_id et oauth2_client_secret sont facultatifs. Si vous utilisez de nouvelles ressources compatibles avec IAP, vous pouvez les ignorer.

Pour en savoir plus sur l'utilisation de Terraform avec Google Cloud, consultez la documentation Terraform.

Migrer des ressources Cloud Run compatibles avec IAP

Suivez les étapes de cette section pour migrer les ressources Cloud Run pour lesquelles IAP est activé et un client OAuth 2.0 est configuré.

gcloud

Avant de passer aux étapes suivantes, assurez-vous de disposer d'une version à jour de la gcloud CLI. Pour obtenir des instructions sur l'installation de la gcloud CLI, consultez Installer la gcloud CLI.

  1. Pour vous authentifier, utilisez la Google Cloud CLI et exécutez la commande suivante.

    gcloud auth login
    
  2. Cliquez sur l'URL qui s'affiche, puis connectez-vous.

  3. Une fois la connexion effectuée, copiez le code de validation qui s'affiche et collez-le dans la ligne de commande.

  4. Exécutez la commande suivante pour spécifier le projet contenant les applications que vous souhaitez continuer à protéger avec IAP.

    gcloud config set project PROJECT_ID
    
  5. Exécutez la commande suivante pour récupérer l'ID client OAuth 2.0 configuré.

    Champ d'application global

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

    Champ d'application régional

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

    Enregistrez l'ID client de la commande précédente si vous souhaitez autoriser l'accès programmatique.

  6. Pour autoriser le client OAuth 2.0 à accéder par programmation, effectuez une opération de lecture, de mise à jour et d'écriture sur l'API des paramètres IAP.

    Champ d'application global

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

    Champ d'application régional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Mettez à jour le fichier settings.yaml et ajoutez l'ID client OAuth 2.0 récupéré précédemment sous programmaticClients, comme dans l'exemple ci-dessous.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Appliquez les nouveaux paramètres à l'application Compute Engine.

    Champ d'application global

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

    Champ d'application régional

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
    
  9. Pour migrer vos ressources, exécutez la commande à portée globale ou régionale.

    Champ d'application global

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

    Champ d'application régional

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Pour vérifier que l'ID client OAuth n'est pas défini, exécutez la commande à portée globale ou régionale suivante. Après avoir exécuté la commande, vérifiez le résultat pour vous assurer que le champ de l'ID client OAuth est vide.

    Champ d'application global

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Champ d'application régional

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

API

  1. Exécutez la commande suivante pour récupérer l'ID client OAuth 2.0 configuré.

    Champ d'application 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"
    

    Champ d'application régional

    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. Exécutez la commande suivante pour récupérer les paramètres d'achats via l'IAP existants dans un fichier settings.json.

    Champ d'application 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
    

    Champ d'application régional

    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. Mettez à jour le fichier settings.json pour ajouter CLIENT_ID précédemment enregistré en tant que client programmatique.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Exécutez la commande suivante pour mettre à jour les paramètres d'IAP;application.

    Champ d'application 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"
    

    Champ d'application régional

    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. Exécutez la commande suivante pour préparer un fichier settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Exécutez la commande suivante pour migrer vos ressources.

    Champ d'application 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"
    

    Champ d'application régional

    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. Pour confirmer que l'ID client OAuth n'est pas défini, exécutez la commande suivante à portée globale ou régionale. Après avoir exécuté la commande, vérifiez le résultat pour vous assurer que le champ "ID client OAuth" est vide.

    Champ d'application 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"
    

    Champ d'application régional

    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"
    

Migrer des ressources Google Kubernetes Engine compatibles avec IAP

Ajoutez le bloc IAP suivant à la définition de ressource personnalisée (CRD) BackendConfig. Cela active IAP avec le client OAuth 2.0 géré par Google.

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

Utiliser un jeton JWT de compte de service pour s'authentifier auprès d'IAP

Vous pouvez vous authentifier auprès d'IAP sans avoir à utiliser l'API Admin OAuth obsolète en utilisant un jeton JWT de compte de service.

Obtenir un code secret du client OAuth

Lorsque vous créez un client OAuth personnalisé dans la console Google Cloud , le code secret du client n'est affiché qu'à ce moment-là. Il vous incombe de stocker ce secret de manière sécurisée. Secret Manager est le service recommandé pour stocker de manière sécurisée les codes secrets des clients OAuth.

Si vous utilisez Secret Manager pour stocker votre code secret du client OAuth, consultez Accéder à une version secrète pour savoir comment obtenir le code secret du client.

Vérifier si vous utilisez l'API Admin OAuth IAP

Pour vérifier si votre projet utilise les API OAuth Admin d'IAP, consultez Vérifier l'utilisation des API OAuth Admin.

Alternatives à l'utilisation de l'API OAuth Admin

Si vous devez obtenir des identifiants client OAuth sans utiliser l'API OAuth, vous pouvez utiliser les méthodes suivantes :

  • Google Cloud console : vous pouvez obtenir manuellement les identifiants OAuth sur la page Identifiants.

  • Secret Manager : vous pouvez stocker et récupérer le secret à l'aide de Secret Manager. Pour savoir comment utiliser Secret Manager avec Terraform, consultez google_secret_manager_secret.

  • Jeton Web JSON (JWT) de compte de service : utilisez des jetons Web JSON (JWT) de compte de service pour l'authentification. Avec les jetons JWT de compte de service, vous n'avez pas besoin d'utiliser de clients OAuth.