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.

Accès public

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 les architectures de réseau hybrides, elles n'éliminent pas l'accessibilité à Internet public pour les API Agent Platform.

Pour établir un contrôle précis sur l'accès aux API et limiter explicitement l'exposition à Internet public, l'implémentation de VPC Service Controls devient essentielle. Lorsque vous établissez un périmètre VPC Service Controls (VPC-SC) et 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 par programmation ou à l'aide de la console Google Google Cloud se voient refuser l'accès, sauf s'ils sont inclus dans une liste d'autorisation.

Pour rétablir l'accès aux sources autorisées en dehors du périmètre (par exemple, les utilisateurs de vos bureaux d'entreprise), consultez Autoriser l'accès aux 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 public aux API Google à un accès privé peuvent utiliser VPC Service Controls en combinaison avec Private Service Connect pour les API Google (offre groupée 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 Google APIs offre également la possibilité de définir une adresse IP personnalisée et un nom de point de terminaison DNS.

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 Google Cloud servicessans 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 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 un 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 à locataire unique et un réseau VPC avec la possibilité de mettre à l'échelle les services compatibles en fonction des exigences du consommateur. La communication entre les réseaux du producteur et du consommateur 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 API Google. La mise à jour du réseau du producteur pour qu'il soit compatible avec l'adresse IP virtuelle restreinte nécessite l'activation de 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 producteurs de services :

  • Supprime la route IPv4 par défaut (destination 0.0.0.0/0, saut suivant 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 dans les 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 . Pour cela, procédez comme suit :

  1. Déployez 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 d'exportation 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 :

  • 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 d'Agent Platform aux API et services tiers sur Internet. Si vous utilisez Google Cloud des composants de pipeline ou si vous créez vos propres composants de pipeline personnalisés pour les utiliser avec les pipelines Agent Platform, vous ne pouvez pas installer les dépendances PyPI à partir du registre public Python Package Index (PyPI). Vous devez plutôt effectuer l'une des opérations suivantes :

Utiliser des conteneurs personnalisés

En tant que bonne pratique logicielle de production, les auteurs de composants doivent utiliser des composants Python conteneurisés et intégrer les dépendances dans leur image de conteneur. Ainsi, aucune installation en direct n'est requise lors de l'exécution d'un pipeline. Voici une façon de procéder :

  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 création du conteneur.
  2. Mettez à jour le code de définition de votre composant pour définir le chemin base_image et l'indicateur install_kfp_package sur False. Cet indicateur 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 effectue l'installation à partir de ce dépôt, comme décrit dans cette section. Pour en savoir plus, consultez Gérer les packages Python.

Configurer des rôles et des 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 dans le réseau de votre projet et que ce dépôt ne dispose pas d'adresse IP publique :
    1. Attribuez des autorisations pour accéder à 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 qu'il effectue l'installation à 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 à celui qui suit 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 l'interface PSC

Les API Agent Platform suivantes déployées avec une interface de connexion 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 :

  • 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 Agent Platform à accéder à 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 quitte directement l'environnement sécurisé géré par Google dans lequel votre service de 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'environnement géré par Google qui héberge Agent Platform voit son accès Internet par défaut 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 à 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 consiste à :

  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 aucun proxy réseau prescrit ou préféré pour cette tâche. Vous pouvez utiliser n'importe quelle solution adaptée. Voici quelques exemples : Proxy Squid, HAProxy, Envoy, et TinyProxy.

Créer un périmètre de service

Pour obtenir une vue d'ensemble de la création d'un périmètre de service, consultez 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 globale 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 avez la possibilité de sélectionner et d'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 incluent 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
    • Réglage de modèle ouvert
    • 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
  • 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 que l'exfiltration de données soit bloquée.
  • Pour l'étiquetage de données, vous devez ajouter les adresses IP des étiqueteurs à un niveau d'accès.
  • Les composants du pipeline lancent des conteneurs qui vérifient que leur image de base remplit toutes les exigences. Google Cloud 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 des 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 Connection to pypi.org timed out. Pour savoir comment éviter cette erreur, consultez Utiliser VPC Service Controls avec les pipelines Agent Platform.
  • 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é alors 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, puis que le projet a été supprimé.
  • Lorsque vous utilisez VPC Service Controls avec Agent Runtime, le projet doit faire partie d'un périmètre de service avant de déployer l'agent. Si un agent est déployé avant l'ajout du projet à un périmètre, il ne sera pas sécurisé par VPC Service Controls et continuera d'avoir accès à Internet public.
  • Les déploiements publics en un clic (point de terminaison dédié) de Model Garden ne sont pas compatibles dans 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.

Étape suivante