Ce guide vous explique comment créer et déployer un agent dans Agent Runtime sur Gemini Enterprise Agent Platform avec Agent Identity activé.
Agent Identity attribue une identité SPIFFE sécurisée à votre agent déployé. L' agent utilise cette identité pour s'authentifier auprès des Google Cloud services et récupérer les identifiants auprès du gestionnaire d'authentification Agent Identity.
Avant de commencer
Activez les API Agent Identity, Agent Platform, Agent Registry et App Hub.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.Assurez-vous de disposer du rôle Utilisateur d'Agent Platform (
roles/aiplatform.user) dans 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 nouveau répertoire de projet d'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 pour les modèles disponibles uniquement dans la
globalrégionPour utiliser un modèle disponible uniquement 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 référencer la nouvelle sous-classe :
root_agent = Agent( name="root_agent", model=GlobalGemini(
-
Activez Agent Identity 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 localement :
uv run adk web . --port 8501 --reload_agents
Pour valider votre agent, procédez comme suit :
Accédez à
http://localhost:8501. Vous pouvez également cliquer sur le lien fourni par la sortie du serveur Web si vous utilisez Cloud Shell.Dans l'interface de chat, envoyez un prompt 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: votre Google Cloud projet ID.LOCATION: la région compatible dans laquelle vous souhaitez déployer l'agent (par exemple,us-west1).
Le déploiement peut prendre quelques minutes. Une fois terminé, l' interface CLI affiche un message de confirmation et un lien vers le bac à sable de votre agent dans la Google Cloud console.
Récupérez l'ID SPIFFE de votre agent (Agent Identity) :
Dans la Google Cloud console, 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 cliquez sur Copier dans le presse-papiers dans la colonne Identité de cette ligne. L'identité ressemble à ce qui suit :
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID.
Étape suivante
- Présentation d'Agent Identity
- Présentation du gestionnaire d'authentification Agent Identity
- S'authentifier à l'aide d'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 Agent Identity