Ce guide vous explique comment créer et déployer un agent dans Agent Runtime sur Gemini Enterprise Agent Platform avec l'identité de l'agent activée.
Agent Identity attribue une identité SPIFFE sécurisée à votre agent déployé. L'agent utilise cette identité pour s'authentifier auprès des services Google Cloud et récupérer les identifiants du gestionnaire d'authentification des identités d'agent.
Avant de commencer
Activez les API Agent Identity, Agent Platform, Agent Registry et App Hub, si certaines ne sont pas déjà activées.
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.Assurez-vous de disposer du rôle Utilisateur Agent Platform (
roles/aiplatform.user) sur votre projet.
Créer et déployer l'agent
Créez un exemple d'agent à l'aide de google-agents-cli et déployez-le avec Agent Identity :
Installez
uv, puis exécutez la configurationgoogle-agents-cli:pip install uv uvx google-agents-cli setup
Créez un projet d'agent à l'aide du modèle de prototype :
uvx google-agents-cli create AGENT_PROJECT --prototype --yes
Remplacez
AGENT_PROJECTpar le nom du répertoire de votre nouvel agent (par exemple,maps-agent).Cette commande génère la structure de répertoire de projet suivante :
AGENT_PROJECT/ ├── app/ # Core agent code │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ └── app_utils/ # App utilities and helpers ├── tests/ # Unit and integration tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
Renommez le dossier d'application par défaut (
app) pour qu'il corresponde au nom de votre agent (AGENT_NAME, par exemple,maps_agent). Les noms d'agent doivent être des identifiants Python valides : ils doivent commencer par une lettre et ne contenir que des lettres, des chiffres et des traits de soulignement.cd AGENT_PROJECT mv app AGENT_NAME
Mettez à jour votre fichier de configuration
agent.pypour refléter le nouveau nom :# In AGENT_PROJECT/AGENT_NAME/agent.py app = App( root_agent=root_agent, name="
AGENT_NAME", )Choisissez un modèle à utiliser en fonction de sa disponibilité régionale. Mettez à jour la valeur de
MODELdansagent.pypour qu'elle corresponde au modèle choisi.Solution de contournement pour les modèles disponibles uniquement dans la région
globalPour utiliser un modèle qui n'est disponible que dans la région
global, vous devez modifieragent.pyafin que votre agent puisse y accéder.-
Ajoutez les importations suivantes :
from functools import cached_property from google.genai import Client
-
Ajoutez la sous-classe suivante après les importations :
class GlobalGemini(Gemini): @cached_property def api_client(self) -> Client: return Client(enterprise=True, location="global")
-
Recherchez le code suivant :
root_agent = Agent( name="root_agent", model=Gemini(
Modifiez-le pour qu'il fasse référence à la nouvelle sous-classe :
root_agent = Agent( name="root_agent", model=GlobalGemini(
-
Activez l'identité de l'agent en créant un fichier de configuration :
echo '{ "identity_type": "AGENT_IDENTITY" }' > AGENT_NAME/.agent_engine_config.json
Créez un fichier
requirements.txtpour les dépendances de déploiement :uv export \ --no-emit-workspace \ --no-hashes \ --format requirements.txt \ --output-file AGENT_NAME/requirements.txt
Vérifiez la structure du répertoire du projet :
AGENT_PROJECT/ ├── AGENT_NAME/ # Agent application folder │ ├── .agent_engine_config.json # Agent Identity configuration │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ ├── requirements.txt # Deployment dependencies │ └── app_utils/ # App helpers ├── tests/ # Tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
Testez votre agent en local :
uv run adk web . --port 8501 --reload_agents
Pour valider votre agent, procédez comme suit :
Accédez à
http://localhost:8501. Si vous utilisez Cloud Shell, vous pouvez également cliquer sur le lien fourni par la sortie du serveur Web.Dans l'interface de chat, envoyez une requête de test pour vérifier la réponse.
Arrêtez le serveur avec
CTRL+C.Déployez votre agent sur Google Cloud :
uv run adk deploy agent_engine AGENT_NAME \ --project="PROJECT_ID" \ --region="LOCATION"
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .LOCATION: région prise en charge dans laquelle vous souhaitez déployer l'agent (par exemple,us-west1).
Le déploiement peut prendre quelques minutes. Une fois l'opération terminée, l'CLI affiche un message de confirmation et un lien vers le terrain de jeu de votre agent dans la console Google Cloud .
Récupérez l'ID SPIFFE de votre agent (identité de l'agent) :
Dans la console Google Cloud , accédez à la page Déploiements.
Pour copier l'ID SPIFFE de votre agent dans le presse-papiers, recherchez la ligne dans laquelle se trouve votre agent déployé, puis dans la colonne Identité de cette ligne, cliquez sur Copier dans le presse-papiers. L'identité ressemble à ceci :
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID.
Étapes suivantes
- Présentation de l'identité de l'agent
- Présentation du gestionnaire d'authentification des identités d'agent
- S'authentifier à l'aide du protocole OAuth en trois étapes avec le gestionnaire d'authentification
- S'authentifier à l'aide d'OAuth en deux étapes avec le gestionnaire d'authentification
- S'authentifier à l'aide d'une clé API avec le gestionnaire d'authentification
- Gérer les fournisseurs d'authentification des identités d'agent