Authentifier les utilisateurs avec un compte Google

Cette page explique comment déployer une application d'environnement standard ou flexible App Engine et la sécuriser avec Identity-Aware Proxy (IAP). Ce guide de démarrage rapide inclut un exemple de code pour une application Web d'environnement standard App Engine qui permet de valider le nom d'un utilisateur connecté. Dans ce guide, nous faisons appel à Cloud Shell pour cloner et déployer l'exemple d'application. Vous pouvez suivre ce guide de démarrage rapide afin d'activer IAP pour votre propre application d'environnement standard ou flexible App Engine.

Si vous prévoyez de diffuser des ressources à partir d'un réseau de diffusion de contenu (CDN), consultez le guide des bonnes pratiques pour obtenir des informations importantes.

Lorsqu'une application App Engine se compose de plusieurs services, il est possible de configurer différentes autorisations IAP sur les différents services, y compris en rendant uniquement certains services accessibles au public tout en protégeant les autres.


Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :

Visite guidée


Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

Avant de commencer

Pour activer IAP pour App Engine, vous devez disposer du suivantes:

  • Un projet de la console Google Cloud avec la facturation activée

Si votre instance App Engine n'est pas déjà configurée, consultez la page Déployer App Engine pour obtenir une présentation complète.

IAP utilise un client OAuth géré par Google pour authentifier les utilisateurs. Seuls les utilisateurs de l'organisation peuvent accéder à l'application compatible avec les achats intégrés. Si vous souhaitez autoriser l'accès à des utilisateurs externes à votre organisation, consultez Activer IAP pour les applications externes.

Activer IAP

Console

Le client OAuth géré par Google n'est pas disponible lorsque vous activez IAP à l'aide de la console Google Cloud.

Fichier d'inclusion dynamique

Si vous n'avez pas configuré l'écran de consentement OAuth de votre projet, vous y êtes invité. Pour configurer votre écran de consentement OAuth, consultez Configurer votre écran de consentement OAuth

Configurer l'accès à IAP

  1. Accédez à la page Identity-Aware Proxy.
    Accéder à la page "Identity-Aware Proxy"
  2. Sélectionnez le projet que vous souhaitez sécuriser avec IAP.
  3. Cochez la case située à côté de la ressource à laquelle vous souhaitez accorder l'accès.
  4. Dans le panneau de droite, cliquez sur Ajouter un compte principal.
  5. Dans la boîte de dialogue Ajouter des comptes principaux qui s'affiche, ajoutez les adresses e-mail des groupes ou des personnes auxquels vous souhaitez accorder le rôle Utilisateur de l'application Web sécurisée par IAP dans le cadre du projet.

    Les types de comptes principaux suivants peuvent disposer de ce rôle :

    • Compte Google : user@gmail.com
    • Groupe Google : admins@googlegroups.com
    • Compte de service: server@example.gserviceaccount.com
    • Domaine Google Workspace : example.com

    Veillez à ajouter un compte Google auquel vous avez accès.

  6. Sélectionnez Cloud IAP > Utilisateur de l'application Web sécurisée par IAP dans la liste déroulante Rôles.
  7. Cliquez sur Enregistrer.

Activer IAP

  1. Sur la page Identity-Aware Proxy, sous APPLICATIONS, recherchez l'application pour laquelle vous souhaitez restreindre y accéder. Pour activer IAP pour une ressource,
  2. Dans la fenêtre Activer IAP qui s'affiche, cliquez sur Activer pour confirmer que vous souhaitez qu'IAP sécurise votre ressource. Une fois IAP activé, des identifiants de connexion sont requis pour toutes les connexions à votre équilibreur de charge. Seuls les comptes disposant du rôle Utilisateur de l'application Web sécurisée par IAP sur le projet y ont accès.

gcloud

Before you set up your project and IAP, you need an up-to-date version of the gcloud CLI. For instructions on how to install the gcloud CLI, see Install the gcloud CLI.

  1. To authenticate, use the Google Cloud CLI and run the following command.
    gcloud auth login
  2. Click the URL that appears and sign in.
  3. After you sign in, copy the verification code that appears and paste it in the command line.
  4. Run the following command to specify the project that contains the applications that you want to protect with IAP.
    gcloud config set project PROJECT_ID
  5. To enable IAP, run the following command.
    gcloud iap web enable --resource-type=app-engine --versions=version
  6. Add principals who should have the IAP-secured Web App user role to the project.
    gcloud projects add-iam-policy-binding PROJECT_ID \
           --member=PRINCIPAL_IDENTIFIER \
           --role=roles/iap.httpsResourceAccessor
    • Replace PROJECT_ID with your project ID.
    • Replace PRINCIPAL_IDENTIFIER with the necessary principals. This can be a type of domain, group, serviceAccount, or user. For example, user:myemail@example.com.

After you enable IAP, you can use the gcloud CLI to modify the IAP access policy using the IAM role roles/iap.httpsResourceAccessor. Learn more about managing roles and permissions.

API

  1. Run the following command to prepare a settings.json file.

    cat << EOF > settings.json
    {
    "iap":
      {
        "enabled":true
      }
    }
    EOF
    

  2. Run the following command to enable 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://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
    

After you enable IAP, you can use the Google Cloud CLI to modify the IAP access policy using the IAM role roles/iap.httpsResourceAccessor. Learn more about managing roles and permissions.

Tester l'authentification des utilisateurs

  1. Accédez à l'URL de l'application à partir d'un compte Google que vous avez ajouté à IAP avec le rôle Utilisateur de l'application Web sécurisée par IAP, comme décrit ci-dessus. Vous devez disposer d'un accès illimité à l'application.

  2. Ouvrez une fenêtre de navigation privée dans Chrome pour accéder à l'application, puis connectez-vous lorsque vous y êtes invité. Si vous tentez d'accéder à l'application au moyen d'un compte non autorisé avec le rôle Utilisateur de l'application Web sécurisée par IAP, un message s'affiche indiquant que vous ne disposeez pas de l'accès.

Étape suivante