Les agents Agent Development Kit (ADK) interagissent avec des services externes en dehors de Cloud de Confiance by S3NS. Les identités d'agent et Identity and Access Management (IAM) vous permettent de vous authentifier auprès des services Cloud de Confiance by S3NS. Toutefois, ils ne peuvent pas prouver leur identité auprès de plates-formes externes qui ne sont pas compatibles avec la fédération d'identité de Google.
Les agents ADK ont besoin d'accéder à différents identifiants pour interagir avec des entités externes telles que les services MCP, les outils ADK et les API. Voici quelques exemples courants :
- Clés API pour les plates-formes de traitement des paiements
- Combinaisons de nom d'utilisateur et de mot de passe pour les anciennes bases de données sur site
- Clés privées pour les connexions TLS mutuelles (mTLS)
SecretManagerClient dans le package google.adk.integrations.secret_manager.secret_client. Ce module fournit une interface standard permettant aux agents de récupérer des secrets à partir de Secret Manager au moment de l'exécution.
Ce document explique comment gérer les secrets pour les services externes dans ADK à l'aide de Secret Manager.
Avantages de l'utilisation de Secret Manager avec ADK
La gestion manuelle des secrets peut entraîner des risques de sécurité et augmenter la charge de travail des développeurs. Secret Manager peut vous aider à résoudre ces problèmes grâce aux fonctionnalités suivantes :
- Si vous intégrez des secrets dans le code de l'agent, vous créez un risque de sécurité important. Cette pratique peut entraîner un accès non autorisé aux systèmes de production. L'utilisation de Secret Manager permet de supprimer les données sensibles de votre code source. Cela permet de renforcer la sécurité de votre application.
- Si vous intégrez des secrets statiques via des variables d'environnement, la rotation des identifiants devient compliquée. Pour appliquer les mises à jour, vous devez redémarrer les conteneurs de déploiement. Secret Manager récupère les identifiants de manière dynamique au moment de l'exécution, ce qui permet de les mettre à jour sans temps d'arrêt du système.
- Si vous écrivez du code
SecretManagerServiceClientstandard personnalisé pour chaque outil, vous augmentez le travail fastidieux des développeurs et le risque d'erreurs. L'intégration standardisée de l'ADK fournit une approche propre et réutilisable pour récupérer les identifiants.
Avant de commencer
Avant d'intégrer Secret Manager à ADK, procédez comme suit :
- Configurez un agent à l'aide d'ADK. Cette fonctionnalité nécessite l'ADK version 1.29 ou ultérieure pour Python.
- Attribuez le rôle IAM
Secret Manager Secret Accessorà l'identité de l'agent. Ce rôle permet à votre agent de récupérer des secrets au moment de l'exécution. - Créez le secret régional et ajoutez une version du secret régional, par exemple une clé API, dans Secret Manager.
Comment un agent ADK récupère les secrets au moment de l'exécution
Le module secret_client.SecretManagerClient récupère les identifiants dans la logique du code de l'agent Python au moment de l'exécution. La logique d'orchestration de l'agent envoie des requêtes au grand modèle de langage (LLM) pour décider quel outil exécuter, mais le système n'envoie pas le secret au LLM.
L'agent exécute les étapes suivantes pendant la phase d'exécution :
- Avant qu'un agent ADK n'appelle un outil tiers, il initialise le module
SecretManagerClientet appelle la fonctionget_secret(). - L'agent ADK utilise l'identité de l'agent pour s'authentifier auprès de Secret Manager.
- Le module
SecretManagerClientrenvoie le secret en texte brut à l'agent ADK. - L'agent ADK utilise le secret pour effectuer un appel authentifié à l'outil tiers.
Récupérer des secrets dans un agent ADK au moment de l'exécution
L'exemple de code suivant montre comment utiliser le module SecretManagerClient pour récupérer un secret de manière sécurisée dans un agent ADK. L'agent récupère le secret en interne pour éviter d'exposer des identifiants sensibles à la fenêtre de contexte ou à l'historique des conversations du LLM.
Python
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Secret Manager pour Python. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Étapes suivantes
- Découvrez Agent Development Kit.