Les agents Agent Development Kit (ADK) interagissent avec des services externes en dehors de Google Cloud. Les identités d'agent et Identity and Access Management (IAM) vous permettent de vous authentifier auprès des Google Cloud services. Toutefois, elles ne peuvent pas prouver leur identité auprès de plates-formes externes qui ne sont pas compatibles avec la fédération des identités de Google.
Les agents ADK doivent 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 bases de données sur site héritées
- 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 depuis 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 éléments suivants :
- 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 supprime les données sensibles de votre code source. Cela contribue à sécuriser 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 d'effectuer des mises à jour sans temps d'arrêt du système.
- Si vous écrivez du code récurrent
SecretManagerServiceClientpersonnalisé pour chaque outil, vous augmentez la charge de travail des développeurs et le risque d'erreurs. L'intégration ADK standardisée 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 ADK version 1.29 ou ultérieure pour Python.
- Accordez le
Secret Manager Secret Accessorrôle IAM à 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 un secret et ajoutez une version de secret, telle qu'une clé API, dans Secret Manager.
Comment un agent ADK récupère des 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 invites au grand modèle de langage (LLM) pour déterminer l'outil à exécuter, mais le système n'envoie pas le secret au LLM.
L'agent exécute les étapes suivantes lors de la phase d'exécution :
- Avant qu'un agent ADK n'appelle un outil tiers, il initialise le
SecretManagerClientmodule et appelleget_secret()fonction. - 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
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.
Étape suivante
- Découvrez Agent Development Kit.