Étape 4 : Configurez Identity-Aware Proxy (IAP)

À cette étape, vous allez configurer Identity-Aware Proxy (IAP) pour provisionner une couche d'autorisation centralisée pour l'application déployée dans Cloud Run. Pour ce faire, procédez comme suit :

  1. Configurer l'écran d'autorisation OAuth : l'écran d'autorisation OAuth est une invite qui inclut un résumé de votre projet, ses règles et les champs d'application d'autorisation d'accès. En configurant l'écran de consentement OAuth pour votre application, vous définissez ce qui est disponible pour les utilisateurs et les évaluateurs de l'application, et vous enregistrez votre application pour pouvoir la publier ultérieurement. Pour en savoir plus sur l'écran de consentement OAuth, consultez la page Configurer l'écran de consentement OAuth et choisir des champs d'application.

  2. Créer des identifiants d'accès OAuth : vous devez créer un ID client OAuth pour votre application et votre domaine afin que votre application puisse appeler les API requises. Pour en savoir plus sur les identifiants OAuth, consultez la section Créer des identifiants d'accès.

  3. Activer IAP sur l'équilibreur de charge : utilisez l'ID client et le secret OAuth pour activer IAP sur l'équilibreur de charge que vous avez créé pour votre application.

  4. Activer IAP : sécurisez votre application en créant des comptes principaux autorisés à y accéder, puis en activant IAP.

  1. Dans la console Google Cloud, accédez à l'écran de consentement OAuth.

    Accéder à l'écran de consentement OAuth

  2. Sélectionnez l'un des types d'utilisateurs suivants pour votre application :

    • Externe : tout utilisateur disposant d'un compte Google peut effectuer des requêtes d'autorisation. Pour les besoins de ce tutoriel, nous vous recommandons de sélectionner Externe.

    • Interne : seuls les membres de votre organisation Google Cloud peuvent envoyer des demandes d'autorisation à l'application.

  3. Cliquez sur Créer.

  4. Dans la section Domaines autorisés, cliquez sur Ajouter un domaine et spécifiez le nom de domaine utilisé lors de la création du certificat.

  5. Dans la section Coordonnées du développeur, saisissez votre adresse e-mail.

  6. Cliquez sur Enregistrer et continuer.

  7. Sur la page Champs d'application, cliquez sur Enregistrer et continuer.

  8. Facultatif : Si vous avez sélectionné Externe comme type d'utilisateur, ajoutez des utilisateurs de test sur la page Utilisateurs de test, comme suit :

    1. Cliquez sur Add users (Ajouter des utilisateurs).

    2. Saisissez votre adresse e-mail et celle des autres utilisateurs de test autorisés, puis cliquez sur Enregistrer et continuer.

  9. Consultez le résumé de l'enregistrement de votre application. Pour y apporter des modifications, cliquez sur Modifier. Si l'enregistrement de l'application semble correcte, cliquez sur Revenir au tableau de bord.

Créer des identifiants d'accès OAuth

  1. Dans la console Google Cloud, accédez à la page Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants, puis sur ID client OAuth.

  3. Dans la liste Type d'application, cliquez sur Application Web.

  4. Dans le champ Nom, saisissez gemini-streamlit-app.

  5. Dans la section Origines JavaScript autorisées, cliquez sur Ajouter un URI, puis saisissez l'URI suivant :

    https://DOMAIN_NAME
    

    Remplacez DOMAIN_NAME par le nom de domaine utilisé lors de la création du certificat.

  6. Cliquez sur Créer.

    L'écran Client OAuth créé s'affiche, avec l'ID client et le code secret du client.

  7. Copiez l'ID client et le code secret du client. Vous aurez besoin de détails à l'étape suivante du tutoriel.

Activer IAP sur l'équilibreur de charge

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Dans le terminal Cloud Shell, exécutez la commande suivante :
    
          gcloud compute backend-services update gemini-streamlit-app-backend \
          --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \
          --global
          

    Remplacez les éléments suivants

    • CLIENT_ID : ID client OAuth issu des identifiants OAuth que vous venez de créer.
    • CLIENT_SECRET : code secret du client OAuth à partir des identifiants OAuth que vous venez de créer.

Configurer et utiliser IAP

  1. Accéder à la page Identity-Aware Proxy

    Accéder à la page Identity-Aware Proxy

  2. Sélectionnez votre projet.

  3. Cochez la case située à côté de gemini-streamlit-app-backend.

  4. Cliquez sur Ajouter un compte principal.

  5. Saisissez les informations dans les champs suivants :

    • Nouveaux comptes principaux : saisissez les adresses e-mail de groupes ou d'individus pour leur accorder l'accès à votre application. Les éléments suivants peuvent être des comptes principaux :

      • Compte Google

      • Groupe Google

      • Compte de service

      • Domaine Google Workspace

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

  6. Dans la liste Rôle, sélectionnez Cloud IAP > Utilisateur de l'application Web sécurisée par IAP.

  7. Cliquez sur Enregistrer.

  8. Sur la page Identity-Aware Proxy, sous Applications, activez l'option IAP sur la ligne correspondant à la ressource gemini-streamlit-app-backend.

  9. Dans la fenêtre Activer IAP qui s'affiche, cochez la case pour confirmer que vous avez lu la configuration requise et que vous avez configuré votre backend en conséquence.

  10. Cliquez sur Activer. 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.