Sécuriser une application d'IA générative à l'aide d'IAP

Ce tutoriel vous explique comment déployer une application d'IA générative sur Cloud Run et la sécuriser avec Identity-Aware Proxy (IAP). IAP fournit une couche d'autorisation centrale pour les applications HTTPS déployées dans Cloud Run. Vous pouvez utiliser IAP pour adopter des stratégies de contrôle des accès au niveau de l'application ou de l'organisation au lieu d'utiliser des pare-feu au niveau du réseau.

Notez qu'il est également possible d'utiliser l'authentification manuelle ou tierce pour sécuriser une application déployée sur Cloud Run. Toutefois, nous vous recommandons d'utiliser IAP pour les volumes importants ou le trafic multirégional, afin d'éviter toute interruption dans la diffusion d'applications.

Dans ce tutoriel, vous allez déployer une application qui appelle l'API Gemini. L'application est basée sur le framework Streamlit.

Prérequis

Ce tutoriel suppose que vous pouvez utiliser les outils et frameworks suivants :

  • Streamlit : Streamlit est un framework d'application Open Source qui vous permet de créer et de déployer des applications de données. Il transforme les scripts de données en applications Web à l'aide de Python.

  • Git : dans ce tutoriel, vous utilisez un dépôt Git pour gérer le code source de votre application. Pour en savoir plus sur l'utilisation de Git, consultez la documentation Git.

Services Google Cloud

Vous devez maîtriser les principes de base des services Google Cloud suivants :

  • IA générative sur Vertex AI : fournit un accès aux LLM de Google afin que vous puissiez les tester, les régler et les déployer pour les utiliser dans vos applications. En savoir plus sur l'IA générative sur Vertex AI

  • Cloud Run : plate-forme de calcul gérée qui vous permet de déployer et d'exécuter des images de conteneurs. Vous créez un service Cloud Run pour déployer votre application. En savoir plus sur Cloud Run

  • Cloud Build : exécute vos compilations sur l'infrastructure Google Cloud. Dans ce tutoriel, vous allez configurer un déclencheur Cloud Build automatique pour créer et déployer votre application sur Cloud Run chaque fois que vous transférez vos commits dans le dépôt Git. En savoir plus sur Cloud Build

  • Cloud Load Balancing : permet de répartir le trafic entre plusieurs instances de votre application pour assurer l'évolutivité. Vous créez un équilibreur de charge d'application pour répartir le trafic vers les instances backend d'application hébergées sur Cloud Run. Cloud Load Balancing est également un prérequis pour IAP. En savoir plus sur Cloud Load Balancing

  • Identity-Aware Proxy (IAP) : vous utilisez IAP pour créer une couche d'autorisation centrale afin de sécuriser l'application. IAP effectue des vérifications d'authentification et d'autorisation qui s'étendent aux services Google Cloud associés. L'API IAP est également compatible avec Cloud Load Balancing et s'intègre parfaitement à cette solution. Il s'agit donc de l'option de gestion de la sécurité la plus efficace pour ce tutoriel.

    Pour en savoir plus sur IAP, consultez la section Présentation d'Identity-Aware Proxy.

    Pour comprendre le fonctionnement d'IAP avec Cloud Run, consultez la section "Cloud Run" de la page "Fonctionnement d'IAP".

Nom de domaine valide

De plus, vous devez disposer d'un nom de domaine valide pour provisionner un certificat, ce qui est nécessaire pour configurer l'équilibreur de charge.

Pages du tutoriel

Ce tutoriel contient les pages suivantes :

  1. Configurer votre projet et votre dépôt source

  2. Créer un service Cloud Run.

  3. Créer un équilibreur de charge

  4. Configurer Identity-Aware Proxy (IAP)

  5. Tester votre application sécurisée par IAP

  6. Nettoyer votre projet

Chaque page suppose que vous avez déjà effectué les instructions des pages précédentes du tutoriel.