De nombreuses tâches d'agent impliquent l'exécution de code non fiable ou l'interaction avec des environnements externes d'une manière qui pourrait présenter des risques pour la sécurité. La plate-forme d'agents Gemini Enterprise fournit des bacs à sable isolés pour gérer ces charges de travail de manière sécurisée.
Les bacs à sable fournissent des environnements de calcul sécurisés et isolés qui sont générés pour effectuer des tâches spécifiques au nom d'un agent. En exécutant ces opérations dans un bac à sable, vous pouvez protéger votre infrastructure et vos données contre les actions potentiellement malveillantes ou erronées effectuées par l'agent. Les bacs à sable atténuent ces risques en :
- Isolation : chaque bac à sable est isolé des autres bacs à sable et du système hôte. Les actions effectuées par un agent dans un bac à sable n'affectent pas les autres agents ni les utilisateurs qui partagent les mêmes ressources d'exécution.
- Sécurité : les opérations dans le bac à sable sont limitées, ce qui empêche tout accès non autorisé à vos ressources. Tous les environnements de bac à sable utilisent la mise en bac à sable sécurisée des conteneurs, ce qui offre une limite de sécurité renforcée. Le code malveillant ne peut pas accéder aux données ni aux identifiants sensibles dans l'environnement d'exécution.
- Sécurité : si un agent exécute une commande nuisible ou une boucle infinie, l' impact est limité au bac à sable. Par exemple, un code mal écrit ou malveillant peut consommer toute la mémoire ou tous les processeurs disponibles.
Comparaison entre bac à sable et environnement d'exécution
L'environnement d'exécution de l'agent et un bac à sable diffèrent par leur objectif et leur utilisation :
- Environnement d'exécution de l'agent : il s'agit de l'environnement dans lequel s'exécutent la logique de base, la prise de décision et l'orchestration de l'agent. Il s'agit d'un environnement de confiance qui exécute votre code et gère le cycle de vie de l'agent.
- Bac à sable : il s'agit d'un environnement auxiliaire généré par l'agent ou la plate-forme pour exécuter des tâches spécifiques potentiellement dangereuses. Les bacs à sable sont généralement éphémères ou basés sur une session, et ne conservent l'état que pendant la durée d'une tâche ou d'une session utilisateur. Par exemple, si un agent doit calculer une formule complexe en générant et en exécutant un script Python, il doit exécuter ce script dans un bac à sable, et non dans son propre environnement d'exécution.
Fonctionnalités
Les bacs à sable offrent plusieurs fonctionnalités, telles que des bacs à sable prédéfinis, des conteneurs personnalisés et des instantanés :
- Exécution de code: permet à l'agent de générer et d'exécuter du code dans un environnement sécurisé. Cela est utile pour les calculs mathématiques complexes, l'analyse de données et d'autres tâches qui nécessitent des calculs.
- Utilisation de l'ordinateur : permet à l'agent d'interagir avec un navigateur Web pour effectuer des tâches telles que remplir des formulaires, effectuer des recherches sur le Web ou parcourir des workflows d'interface utilisateur complexes.
- Conteneurs personnalisés: vous pouvez "apporter votre propre conteneur" pour personnaliser l'environnement d'exécution avec des bibliothèques, des outils ou des configurations spécifiques.
- Instantanés : vous pouvez enregistrer l' état d'un bac à sable et le restaurer ultérieurement, ce qui permet de gérer le cycle de vie, par exemple en restaurant un point de contrôle ou un état stable et sûr.