GSP946
Présentation
Le modèle de sécurité zéro confiance repose sur le principe qu'aucune personne, aucun appareil ni aucun réseau n'est intrinsèquement digne de confiance. L'accès est accordé en fonction de plusieurs critères tels que l'identité, l'appareil utilisé, l'emplacement et l'heure de la journée. L'un des principaux cas d'utilisation de la stratégie zéro confiance consiste à sécuriser l'accès aux applications Web (ex. : HTTP/HTTPS), qu'elles soient hébergées sur Google Cloud ou dans des centres de données sur site. Chaque application Web peut disposer de son propre système de contrôle des accès, ce qui permet une sécurité précise et réduit les risques. Pour sécuriser une application Web, il n'est pas nécessaire de définir des listes de contrôle d'accès (LCA). En autorisant uniquement certaines plages d'adresses IP, on accélère le déploiement sans compromettre la sécurité. Sur le plan architectural, le composant principal pour assurer un accès zéro confiance est :
-
Identity-Aware Proxy (IAP), un moteur d'application des stratégies qui s'assure que chaque demande d'accès est autorisée.
Dans cet atelier, vous allez déployer un exemple d'application sur App Engine et appliquer des stratégies à l'aide d'Identity-Aware Proxy (IAP). Vous récupérerez également les informations d'identité des utilisateurs dans l'application protégée par IAP.
Objectifs de la formation
- Déployer une application App Engine simple à l'aide de Python
- Activer Identity-Aware Proxy (IAP) pour restreindre l'accès à l'application
- Récupérer les informations d'identité des utilisateurs à partir d'IAP dans votre application
Prérequis
Connaissances de base en programmation (Python)
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Scénario
Vous allez créer une application Web minimale avec Google App Engine, puis explorer diverses manières d'utiliser Identity-Aware Proxy pour restreindre l'accès à l'application et lui fournir les informations d'identité des utilisateurs. Cette application pourra :
- afficher une page de bienvenue ;
- accéder aux informations d'identité des utilisateurs fournies par IAP.
Tâche 1 : Déployer l'application et la protéger avec IAP
L'application, développée pour l'environnement standard App Engine en Python 3.8, affiche simplement une page d'accueil "Hello, World". Vous allez déployer et tester cette application, puis en restreindre l'accès à l'aide d'IAP.
- Dans Cloud Shell, exécutez la commande suivante pour télécharger le code nécessaire à cet atelier depuis GitHub et accéder au dossier contenant le code :
git clone https://github.com/googlecodelabs/user-authentication-with-iap.git
cd user-authentication-with-iap
Examiner le code de l'application
- À partir du dossier principal du projet, accédez au dossier 1-HelloWorld :
cd 1-HelloWorld
Le code de l'application se trouve dans le fichier main.py. L'application utilise le framework Web Flask pour répondre aux requêtes Web en renvoyant le contenu d'un modèle. Ce fichier de modèle se trouve dans templates/index.html et, pour cette étape, contient uniquement du code HTML de base. Un second fichier de modèle, situé dans templates/privacy.html, contient un exemple simplifié de règles de confidentialité.
Deux autres fichiers sont présents : requirements.txt répertorie toutes les bibliothèques Python non incluses par défaut utilisées par l'application, et app.yaml indique à Google Cloud Platform qu'il s'agit d'une application App Engine en Python 3.8.
Vous pouvez lister tous ces fichiers dans Cloud Shell à l'aide de la commande cat :
cat main.py
Vous pouvez également ouvrir l'éditeur de code Cloud Shell en cliquant sur Modifier (
) en haut à droite de la fenêtre Cloud Shell, puis examiner le code une fois l'éditeur chargé.
Il n'est pas nécessaire de modifier des fichiers pour cette étape.
Déployer l'application sur App Engine
Vous allez maintenant déployer l'application dans l'environnement standard App Engine pour Python 3.8.
- Exécutez la commande suivante :
gcloud app create --project=$(gcloud config get-value project) --region={{{ project_0.startup_script.app_region | REGION }}}
Si vous êtes invité à poursuivre l'opération, saisissez Y pour "oui".
Vous devrez peut-être autoriser l'appel permettant de créer l'application App Engine. Si c'est le cas, cliquez sur le bouton Autoriser.
- Dans l'éditeur de code Cloud Shell, accédez au fichier
app.yaml situé dans le dossier 1-HelloWorld. Modifiez la version de Python utilisée dans l'environnement d'exécution.
runtime: python310
- Exécutez la commande suivante une fois la commande create terminée :
gcloud app deploy
Si vous êtes invité à continuer, saisissez Y et appuyez sur Entrée.
Remarque : Si une erreur s'affiche, réexécutez la commande.
Le déploiement devrait s'effectuer en quelques minutes. Un message vous indique que vous pouvez afficher votre application à l'aide de la commande suivante :
gcloud app browse
Remarque : Cette application étant exécutée pour la première fois, elle met quelques secondes à apparaître, le temps qu'une instance Cloud soit lancée. Vous devriez obtenir un résultat semblable à celui de l'image suivante. L'accès n'est pas encore restreint.

Cliquez sur Vérifier ma progression pour valider l'objectif.
Déployer l'application sur App Engine
Restreindre l'accès avec IAP
-
Accédez au menu de navigation > Afficher tous les produits > Sécurité > Identity-Aware Proxy, puis cliquez sur le bouton Activer l'API et sur Accéder à Identity-Aware Proxy.
-
Pour configurer l'écran de consentement OAuth de votre projet, accédez au menu de navigation (
) > API et services > Écran de consentement OAuth.
-
Sur la page "Présentation d'OAuth", cliquez sur Commencer, puis saisissez Exemple IAP dans le champ Nom de l'application.
-
Indiquez une adresse e-mail d'assistance utilisateur :
-
Dans le champ Type d'audience, sélectionnez Interne, puis cliquez sur Suivant.
-
Sous Coordonnées, saisissez la même adresse e-mail qu'à l'étape 4, puis cliquez sur Suivant.
-
Sous Terminer, cochez la case Accepter les conditions d'utilisation, puis cliquez sur Créer.
-
Revenez au premier onglet du navigateur et exécutez la commande suivante dans Cloud Shell :
export AUTH_DOMAIN=$(gcloud config get-value project).uc.r.appspot.com
Copiez l'URL, car vous utiliserez le résultat des commandes dans le formulaire de l'onglet "Écran de consentement OAuth".
- Pour afficher la valeur renseignée, exécutez la commande suivante :
echo $AUTH_DOMAIN
-
Sur la page Présentation d'OAuth, cliquez sur Créer un client d'authentification. Sous "Type d'application", sélectionnez Application Web.
-
Sous URI de redirection autorisés, cliquez sur + AJOUTER UNE URL. Saisissez l'URL obtenue dans le résultat de la commande, puis cliquez sur Créer.
-
Dans l'onglet restant, accédez au menu de navigation > Afficher tous les produits > Sécurité > Identity-Aware Proxy.
Vous devrez peut-être actualiser la page.
- Dans la ligne correspondant à l'application App Engine, cliquez sur le bouton de la colonne IAP pour activer IAP pour l'application déployée à la section précédente.

-
Accédez à l'application en maintenant la touche Ctrl/Commande enfoncée et en sélectionnant l'URL de l'application App Engine dans la console IAP.
-
Connectez-vous avec le compte de démonstration fourni dans le formulaire de connexion.

Un écran vous informe que vous n'avez pas accès à l'application.

Cette notification signifie que vous avez correctement protégé votre application avec IAP, mais que vous n'avez pas encore indiqué les comptes autorisés à y accéder.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Restreindre l'accès avec IAP
Autoriser des membres à accéder à l'application
-
Revenez à la page Identity-Aware Proxy de la console en accédant au menu de navigation > Afficher tous les produits > Sécurité > Identity-Aware Proxy.
-
Cochez la case correspondant à l'application App Engine. Dans la barre à droite de la page, cliquez sur Ajouter un compte principal.

-
Copiez le nom d'utilisateur depuis la console de l'atelier (en haut à gauche), puis collez-le dans la zone de saisie Nouveaux comptes principaux.
-
Définissez son rôle sur Cloud IAP > Utilisateur de l'application Web sécurisée par IAP.

- Lorsque vous avez terminé, cliquez sur Enregistrer. Le message "Stratégie mise à jour" apparaît au bas de la fenêtre.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Autoriser un membre à accéder à l'application
Vérifier que l'accès est rétabli
- Revenez dans votre application App Engine et rechargez la page. Vous devez maintenant voir votre application Web, car vous vous êtes déjà connecté avec un compte utilisateur que vous avez autorisé.
Toutefois, il se peut que la page "Vous n'avez pas accès" s'affiche encore. Cela signifie qu'IAP n'a pas revérifié votre autorisation à cause d'un cookie de connexion.
Dans ce cas, suivez les étapes suivantes :
- Ouvrez votre navigateur Web à l'adresse de la page d'accueil en ajoutant
/_gcp_iap/clear_login_cookie à la fin de l'URL, comme dans https://iap-example-999999.appspot.com/_gcp_iap/clear_login_cookie.
Remarque : Utilisez l'URL de l'application App Engine que vous avez déployée précédemment dans cet atelier. L'URL ci-dessus n'est qu'un exemple.
Un nouvel écran "Se connecter avec Google" s'ouvre, dans lequel votre compte est déjà affiché.
Remarque : Ne cliquez pas sur le compte !
- Cliquez sur Utiliser un autre compte et ressaisissez vos identifiants.
Cette procédure oblige IAP à revérifier votre accès, et l'écran d'accueil de votre application doit maintenant s'afficher.
Tâche 2 : Accéder aux informations d'identité des utilisateurs
Une fois qu'une application est protégée avec IAP, elle peut utiliser les informations d'identité qu'IAP transmet dans les en-têtes des requêtes Web. Dans cette étape, l'application récupérera l'adresse e-mail de l'utilisateur connecté et un ID utilisateur unique persistant attribué par Google Identity Service à cet utilisateur. Ces données seront affichées à l'utilisateur sur la page d'accueil.
- Dans Cloud Shell, saisissez la commande suivante :
cd ~/user-authentication-with-iap/2-HelloUser
- Dans l'éditeur de code Cloud Shell, accédez au fichier
app.yaml dans le dossier 2-HelloUser et mettez à jour la version de Python utilisée par l'environnement d'exécution :
runtime: python310
- Déployez l'application sur App Engine à l'aide de la commande suivante :
gcloud app deploy
Remarque : Il se peut que vous deviez autoriser l'appel pour déployer l'application.
-
Si vous êtes invité à poursuivre l'opération, saisissez Y.
-
Lorsque le déploiement est prêt, saisissez la commande suivante :
gcloud app browse
Si un nouvel onglet ne s'ouvre pas dans votre navigateur, copiez le lien affiché et ouvrez-le dans un nouvel onglet. Une page semblable à la suivante s'affiche :

Remarque : Il se peut que vous deviez attendre quelques minutes le temps que la nouvelle version de votre application remplace la précédente. Si besoin, actualisez la page pour afficher une page semblable à celle montrée ci-dessus.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Accéder aux informations d'identité des utilisateurs
Examiner les fichiers de l'application
Le dossier 2-HelloUser contient le même ensemble de fichiers que le dossier 1-HelloWorld, mais deux des fichiers ont été modifiés : main.py et templates/index.html. Le programme a été modifié pour récupérer les informations utilisateur qu'IAP transmet dans les en-têtes des requêtes, et le modèle affiche maintenant ces données.
- Exécutez la commande
cat main.py pour afficher le contenu du fichier main.py.
main.py contient deux lignes qui récupèrent les données d'identité fournies par IAP :
user_email = request.headers.get('X-Goog-Authenticated-User-Email')
user_id = request.headers.get('X-Goog-Authenticated-User-ID')
Les en-têtes X-Goog-Authenticated-User- sont fournis par IAP, et les noms ne sont pas sensibles à la casse. Vous pouvez donc les saisir indifféremment en minuscules ou en majuscules. L'instruction render_template inclut maintenant ces valeurs qui peuvent alors être affichées :
page = render_template('index.html', email=user_email, id=user_id)
Le modèle index.html peut afficher ces valeurs, encadrées par des accolades doubles :
Hello, {{ email }}! Your persistent ID is {{ id }}.
Les données fournies sont précédées de accounts.google.com:, ce qui indique leur provenance. Votre application peut supprimer toutes les informations situées avant le signe deux-points, y compris ce signe, pour extraire les valeurs brutes, selon les besoins.
Félicitations !
Vous avez appris à utiliser Identity-Aware Proxy (IAP) pour sécuriser les applications HTTP(S) déployées sur Google Cloud.
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 12 novembre 2025
Dernier test de l'atelier : 12 novembre 2025
Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.