VPC Service Controls avec Gemini Enterprise Agent Platform

VPC Service Controls peut vous aider à limiter le risque d'exfiltration de données de Gemini Enterprise Agent Platform. Utilisez VPC Service Controls pour créer un périmètre de service qui protège les ressources et les données que vous spécifiez. Par exemple, lorsque vous utilisez VPC Service Controls pour protéger Agent Platform, les artefacts suivants ne peuvent pas quitter votre périmètre de service :

  • Données d'entraînement pour un modèle AutoML ou un modèle personnalisé
  • Modèles que vous avez créés
  • Modèles que vous avez recherchés à l'aide de Neural Architecture Search sur Agent Platform
  • Requêtes d'inférences en ligne
  • Résultats d'une requête d'inférence par lot
  • Modèles Gemini

Contrôler l'accès aux API Google

Les API Agent Platform, comme indiqué dans Accéder à Gemini Enterprise Agent Platform depuis un environnement sur site et multicloud, englobent un éventail d'options d'accessibilité, y compris l'Internet public, Private Service Connect pour les API Google et l'accès privé à Google.

Public access

Par défaut, ces API publiques sont accessibles depuis Internet. Toutefois, des autorisations IAM sont requises pour les utiliser. Bien que des fonctionnalités telles que Private Service Connect pour les API Google et l'accès privé à Google facilitent la communication privée sur des architectures de réseau hybrides, elles n'éliminent pas l'accessibilité à l'Internet public pour les API Agent Platform.

Pour établir un contrôle précis de l'accès aux API et limiter explicitement l'exposition à l'Internet public, il est essentiel d'implémenter VPC Service Controls. Lorsque vous établissez un périmètre VPC Service Controls (VPC-SC) et que vous incluez Gemini Enterprise dans ses services protégés, tout accès Internet public à votre instance Agent Platform est automatiquement bloqué. Par conséquent, les utilisateurs qui tentent d'accéder aux services Agent Platform de manière programmatique ou à l'aide de la console Google Cloud se voient refuser l'accès, sauf s'ils figurent sur une liste d'autorisation.

Pour restaurer l'accès des sources autorisées en dehors du périmètre (par exemple, les utilisateurs de vos bureaux d'entreprise), consultez Autoriser l'accès des points de terminaison publics aux ressources protégées depuis l'extérieur d'un périmètre VPC Service Controls pour obtenir des instructions de déploiement.

Accès privé

Les organisations qui doivent limiter l'accès aux API Google publiques à un accès privé peuvent utiliser VPC Service Controls en combinaison avec Private Service Connect pour les API Google (bundle VPC Service Controls) ou l'accès privé à Google. Lorsqu'elles sont déployées sur un réseau hybride et dans Google Cloud, les deux options permettent un accès privé aux API Google depuis un environnement sur site. Toutefois, Private Service Connect pour les API Google offre également la possibilité de définir une adresse IP et un nom de point de terminaison DNS personnalisés.

Nous vous recommandons d'utiliser l'adresse IP virtuelle restreinte avec Private Service Connect pour les API Google ou l'accès privé à Google afin de fournir une route de réseau privée aux requêtes adressées aux services Google Cloud sans exposer les requêtes sur Internet. L'adresse IP virtuelle restreinte est compatible avec toutes les API que VPC Service Controls peut protéger et qui nécessitent des considérations pour les réseaux sur site et les réseaux VPC. Voici quelques exemples :

Contrôler l'accès aux API via l'accès aux services privés

Les API Agent Platform suivantes déployées avec l'accès aux services privés nécessitent une configuration réseau supplémentaire lorsqu'elles sont implémentées dans un environnement protégé par VPC Service Controls :

  • Vector Search (requête d'index)
  • Entraînement personnalisé (plan de données)
  • Pipelines Agent Platform
  • Points de terminaison de prédiction en ligne privés

Par exemple, Agent Platform Pipelines est un service géré par Google (producteur), déployé dans un projet et un réseau VPC à locataire unique, avec la possibilité de faire évoluer les services compatibles en fonction des besoins du client. La communication entre les réseaux du producteur et du client est établie avec l'appairage de réseaux VPC, à l'exception de la sortie Internet, qui est acheminée via le réseau du producteur.

Dans le réseau du producteur, il existe une route par défaut qui permet la sortie Internet, en plus d'un accès illimité aux Google APIs. Pour mettre à jour le réseau du producteur afin qu'il soit compatible avec l'adresse IP virtuelle restreinte, vous devez activer VPC Service Controls pour les appairages, ce qui effectue les actions suivantes sur tous les services compatibles déployés dans votre réseau de producteur de mise en réseau de services :

  • Supprime la route IPv4 par défaut (destination 0.0.0.0/0, prochain saut de la passerelle Internet par défaut).
  • Crée des zones privées gérées par Cloud DNS et les autorise pour le réseau VPC du producteur de services. Les zones incluent googleapis.com, pkg.dev, gcr.io et d'autres domaines ou noms d'hôte nécessaires pour les API et services Google compatibles avec VPC Service Controls.
  • Les données d'enregistrement des zones résolvent tous les noms d'hôte en 199.36.153.4, 199.36.153.5, 199.36.153.6 et 199.36.153.7.

Une autre méthode pour supprimer la route par défaut du réseau du producteur sans affecter les services gérés par Google existants consiste à utiliser un VPN haute disponibilité sur Cloud Interconnect, qui comprend les étapes suivantes :

  1. Déployer un réseau VPC de services en plus d'un VPN haute disponibilité sur le réseau VPC consommateur.
  2. Déployez des services gérés par Google dans le réseau VPC de services.
  3. Activez VPC Service Controls pour les appairages.
  4. Annoncez le sous-réseau d'accès aux services privés en tant qu'annonce de routage personnalisée à partir du routeur Cloud Router si les services gérés nécessitent une accessibilité sur site.
  5. Mettez à jour l'appairage de réseaux VPC de mise en réseau de services avec l'option Exporter des routes personnalisées.

Compatibilité de VPC Service Controls avec les pipelines de réglage de l'IA générative

La compatibilité de VPC Service Controls est assurée dans le pipeline de réglage des modèles suivants :

  • La famille de modèles Gemini 2.5.
  • text-bison for PaLM 2
  • BERT
  • T5
  • La famille de modèles textembedding-gecko.

Utiliser VPC Service Controls avec les pipelines Gemini Enterprise Agent Platform

Le périmètre de service bloque l'accès de la plate-forme d'agent aux API et services tiers sur Internet. Si vous utilisez des composants de pipelineGoogle Cloud ou si vous créez vos propres composants de pipeline personnalisés à utiliser avec les pipelines de la plate-forme d'agent, vous ne pouvez pas installer de dépendances PyPI à partir du registre public Python Package Index (PyPI). Vous devez effectuer l'une des opérations suivantes :

Utiliser des conteneurs personnalisés

Conformément aux bonnes pratiques de développement de logiciels de production, les auteurs de composants doivent utiliser des composants Python conteneurisés et intégrer les dépendances dans leur image de conteneur, de sorte qu'aucune installation en direct ne soit requise lors de l'exécution d'un pipeline. Pour ce faire, vous pouvez procéder comme suit :

  1. Créez votre propre image de conteneur avec le SDK Kubeflow Pipelines et d'autres packages préinstallés. Par exemple, vous pouvez utiliser us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-17:latest comme couche de base de votre image et ajouter une couche supplémentaire pour installer les packages au moment de la compilation du conteneur.
  2. Mettez à jour le code de définition de votre composant pour définir le chemin d'accès base_image et l'option install_kfp_package sur False. Cette option indique au compilateur KFP de ne pas injecter de commande "pip install kfp" dans la ligne de commande du conteneur, car le package du SDK Kubeflow Pipelines est déjà installé dans l'image. Exemple :

    @component(
        base_image='gcr.io/deeplearning-platform-release/tf-cpu.2-17',
        install_kfp_package=False,
    )
    def my_component(...):
        ...
    

Installer des packages à partir d'un dépôt Artifact Registry

Vous pouvez également créer un dépôt Artifact Registry dans votre projet, y stocker des packages Python et configurer votre environnement Agent Platform pour qu'il s'installe à partir de celui-ci, comme indiqué dans cette section. Pour en savoir plus, consultez Gérer les packages Python.

Configurer les rôles et les autorisations

  1. Le compte de service de votre environnement Agent Platform doit disposer du rôle iam.serviceAccountUser.
  2. Si vous installez des packages PyPI personnalisés à partir d'un dépôt du réseau de votre projet et que ce dépôt ne dispose pas d'une adresse IP publique :
    1. Attribuez des autorisations d'accès à ce dépôt au compte de service de l'environnement.
    2. Assurez-vous que la connectivité à ce dépôt est configurée dans votre projet.

Créer le dépôt

  1. Créez un dépôt Artifact Registry en mode VPC dans votre projet.
  2. Stockez les packages Python requis dans le dépôt.

Configurer l'environnement Agent Platform pour l'installer à partir du dépôt

Pour installer des packages PyPI personnalisés à partir d'un ou de plusieurs dépôts Artifact Registry, effectuez un appel semblable au suivant vers @dsl.component :

@dsl.component(packages_to_install=["tensorflow"],
pip_index_urls=['https://us-central1-python.pkg.dev/mygcpproject1/pypi-repo1/simple', 'https://us-central1-python.pkg.dev/mygcpproject2/pypi-repo2/simple'],)
def hello_world(text: str) -> str:
    import my_package
    import tensorflow

    return my_package.hello_world(text)

Utiliser VPC Service Controls avec une interface PSC

Les API Agent Platform suivantes déployées avec l'interface Private Service Connect nécessitent une configuration réseau supplémentaire lorsqu'elles sont implémentées dans un environnement protégé par VPC Service Controls :

  • Entraînement personnalisé (plan de données)
  • Pipelines Agent Platform
  • Points de terminaison d'inférence en ligne privés
  • Agent Runtime

La capacité du service des producteurs de la plate-forme d'agents à accéder à l'Internet public dépend de la configuration de sécurité de votre projet, en particulier si vous utilisez ou non VPC Service Controls :

  • Sans VPC Service Controls : le locataire géré par Google qui héberge Agent Platform conserve son accès à Internet par défaut. Ce trafic sortant provient directement de l'environnement sécurisé géré par Google dans lequel votre service producteur s'exécute. L'exception à ce comportement est Agent Runtime, qui ne fournit pas de sortie Internet. Vous devez plutôt déployer une VM proxy avec une adresse RFC 1918 pour la sortie Internet.

  • Avec VPC Service Controls : lorsque votre projet est inclus dans un périmètre VPC Service Controls (VPC-SC), l'accès à Internet par défaut de l'environnement géré par Google qui héberge Agent Platform est bloqué. Cette restriction est une mesure de sécurité conçue pour empêcher l'exfiltration de données. Pour permettre à Agent Platform d'accéder à l'Internet public dans ce scénario, vous devez configurer explicitement un chemin de sortie sécurisé qui achemine le trafic via votre réseau VPC.

La méthode recommandée implique les actions suivantes :

  1. Déployer un serveur proxy dans votre périmètre VPC, au sein d'un sous-réseau RFC 1918.
  2. Créer une passerelle Cloud NAT pour permettre à la VM proxy d'accéder à Internet
  3. Définir le serveur proxy (adresse IP ou nom de domaine complet) dans votre environnement d'exécution.

Il n'existe pas de proxy réseau prescrit ou préféré pour cette tâche. Vous pouvez utiliser n'importe quelle solution adaptée. Exemples : proxy Squid, HAProxy, Envoy et TinyProxy.

Créer un périmètre de service

Pour en savoir plus sur la création d'un périmètre de service, consultez la section Créer un périmètre de service dans la documentation de VPC Service Controls.

Ajouter des services restreints à votre périmètre

Lorsque vous établissez un périmètre de service, nous vous recommandons d'inclure tous les services restreints en tant que bonne pratique de sécurité. Cette approche complète permet de minimiser les failles potentielles et les accès non autorisés. Toutefois, il peut arriver que votre organisation ait des exigences spécifiques axées sur la protection de Gemini Enterprise Agent Platform et de ses API interconnectées. Dans ce cas, vous pouvez sélectionner et inclure uniquement les API Agent Platform spécifiques qui sont essentielles à vos opérations.

Les API Agent Platform que vous pouvez intégrer à votre périmètre de service sont les suivantes :

  • Gemini Enterprise Agent Platform est compatible avec les services et fonctionnalités suivants :
    • Inférence par lot
    • Ensembles de données
    • Agent Platform Feature Store (livraison en ligne Bigtable)
    • Agent Platform Feature Store (livraison en ligne optimisée) (obsolète)
    • IA générative sur Gemini Enterprise Agent Platform (Gemini)
    • Model Registry
    • Inférence en ligne
    • Ouvrir le réglage du modèle
    • Règle de gouvernance sémantique
    • Moteur de stratégies de gouvernance sémantique
    • Vector Search (création d'index)
    • Vector Search (requête d'index)
    • Entraînement personnalisé (plan de contrôle)
    • Entraînement personnalisé (plan de données)
    • Pipelines Agent Platform
    • Points de terminaison d'inférence en ligne privés
    • Colab Enterprise
    • Agent Runtime
    • Clusters d'entraînement gérés
    • Sandboxes Agent Platform
  • L'API Notebooks est compatible avec le service suivant :
    • Gemini Enterprise Agent Platform Workbench

Limites

Les limites suivantes s'appliquent lorsque vous utilisez VPC Service Controls :

  • La récupération en direct du contexte d'URL est désactivée pour les projets VPC-SC afin de bloquer l'exfiltration de données.
  • Pour l'étiquetage de données, vous devez ajouter les adresses IP des étiqueteurs à un niveau d'accès.
  • Les composants Google Cloud lancent des conteneurs qui vérifient que leur image de base remplit toutes les exigences. Le package KFP, ainsi que tous les packages répertoriés dans l'argument packages_to_install, sont les conditions requises pour un conteneur. Si les exigences spécifiées ne sont pas déjà présentes dans l'image de base (fournie ou personnalisée), le composant tente de les télécharger à partir de l'index de packages Python (PyPI). Étant donné que le périmètre de service bloque l'accès de Gemini Enterprise Agent Platform aux API et services tiers sur Internet, le téléchargement échoue avec l'erreur Connection to pypi.org timed out. Pour savoir comment éviter cette erreur, consultez Utiliser VPC Service Controls avec Agent Platform Pipelines.
  • Lorsque vous utilisez VPC Service Controls avec des noyaux personnalisés dans Agent Platform Workbench, vous devez configurer l'appairage DNS pour envoyer des requêtes pour *.notebooks.googleusercontent.com au sous-réseau 199.36.153.8/30 (private.googleapis.com) au lieu de 199.36.153.4/30 (restricted.googleapis.com).
  • Lorsque vous utilisez VPC Service Controls avec l'inférence Gemini Enterprise Agent Platform, les points de terminaison doivent être créés après l'ajout du projet au périmètre de service. Si un point de terminaison est créé dans un projet qui ne fait pas partie d'un périmètre de service, et que ce projet est ensuite ajouté à un périmètre de service, toute tentative de déploiement d'un modèle sur ce point de terminaison échouera. Si le point de terminaison est un point de terminaison public partagé, l'envoi d'une requête au point de terminaison échouera également. De même, toute tentative de déploiement d'un modèle sur un point de terminaison échouera si le point de terminaison a été créé dans un projet qui faisait partie d'un périmètre de service, et que le projet est ensuite supprimé.
  • Lorsque vous utilisez VPC Service Controls avec Agent Runtime, le projet doit faire partie d'un périmètre de service avant que vous ne déployiez l'agent. Si un agent est déployé avant que le projet ne soit ajouté à un périmètre, il ne sera pas sécurisé par VPC Service Controls et continuera d'avoir accès à l'Internet public.
  • Les déploiements publics en un clic de Model Garden (point de terminaison dédié) ne sont pas compatibles avec un environnement VPC-SC. Utilisez plutôt un point de terminaison privé compatible avec VPC Service Controls. Pour en savoir plus, consultez Déployer un modèle sur un point de terminaison privé.
  • La journalisation des requêtes et des réponses n'est pas disponible avec VPC Service Controls.

Étapes suivantes