Questa guida mostra come creare e fare il deployment di un agente in Agent Runtime su Gemini Enterprise Agent Platform con l'identità dell'agente abilitata.
Agent Identity assegna un'identità SPIFFE sicura all'agente di cui è stato eseguito il deployment. L'agente utilizza questa identità per autenticarsi ai Google Cloud servizi e recuperare le credenziali dal gestore di autenticazione di Agent Identity.
Prima di iniziare
Abilita le API Agent Identity, Agent Platform, Agent Registry e App Hub, se non sono già abilitate.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Assicurati di disporre del ruolo Agent Platform User (
roles/aiplatform.user) nel tuo progetto.
Crea ed esegui il deployment dell'agente
Crea un agente di esempio utilizzando google-agents-cli ed esegui il deployment con l'identità
dell'agente:
Installa
uv, quindi esegui la configurazione digoogle-agents-cli:pip install uv uvx google-agents-cli setup
Crea un progetto di agente utilizzando il modello di prototipo:
uvx google-agents-cli create AGENT_PROJECT --prototype --yes
Sostituisci
AGENT_PROJECTcon il nome della nuova directory del progetto dell'agente (ad esempiomaps-agent).Questo comando genera la seguente struttura di directory del progetto:
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
Rinomina la cartella dell'applicazione predefinita (
app) in modo che corrisponda al nome dell'agente (AGENT_NAME, ad esempiomaps_agent). I nomi degli agenti devono essere un identificatore Python valido: devono iniziare con una lettera e contenere solo lettere, numeri e trattini bassi.cd AGENT_PROJECT mv app AGENT_NAME
Aggiorna il file di configurazione
agent.pyin modo che rifletta il nuovo nome:# In AGENT_PROJECT/AGENT_NAME/agent.py app = App( root_agent=root_agent, name="
AGENT_NAME", )Scegli un modello da utilizzare in base alla sua disponibilità regionale. Aggiorna il valore di
MODELinagent.pyin modo che corrisponda al modello scelto.Soluzione alternativa per i modelli disponibili solo nella regione
globalPer utilizzare un modello disponibile solo nella regione
global, devi modificareagent.pyin modo che l'agente possa accedervi.-
Aggiungi le seguenti importazioni:
from functools import cached_property from google.genai import Client
-
Aggiungi la seguente sottoclasse dopo le importazioni:
class GlobalGemini(Gemini): @cached_property def api_client(self) -> Client: return Client(enterprise=True, location="global")
-
Trova il seguente codice:
root_agent = Agent( name="root_agent", model=Gemini(
Modificalo in modo che faccia riferimento alla nuova sottoclasse:
root_agent = Agent( name="root_agent", model=GlobalGemini(
-
Attiva l'identità dell'agente creando un file di configurazione:
echo '{ "identity_type": "AGENT_IDENTITY" }' > AGENT_NAME/.agent_engine_config.json
Crea un file
requirements.txtper le dipendenze del deployment:uv export \ --no-emit-workspace \ --no-hashes \ --format requirements.txt \ --output-file AGENT_NAME/requirements.txt
Verifica la struttura della directory del progetto:
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
Testa l'agente localmente:
uv run adk web . --port 8501 --reload_agents
Per convalidare l'agente:
Vai a
http://localhost:8501. In alternativa, se utilizzi Cloud Shell, fai clic sul link fornito dall'output del server web.Nell'interfaccia della chat, invia un prompt di test per verificare la risposta.
Termina il server con
CTRL+C.Esegui il deployment dell'agente in Google Cloud:
uv run adk deploy agent_engine AGENT_NAME \ --project="PROJECT_ID" \ --region="LOCATION"
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto Google Cloud .LOCATION: la regione supportata in cui vuoi eseguire il deployment dell'agente (ad esempio,us-west1).
Il completamento del deployment può richiedere alcuni minuti. Al termine, la CLI restituisce un messaggio di conferma e un link al playground dell'agente nella console Google Cloud .
Recupera l'ID SPIFFE dell'agente (identità dell'agente):
Nella console Google Cloud vai alla pagina Deployment.
Per copiare l'ID SPIFFE dell'agente negli appunti, individua la riga in cui si trova l'agente di cui hai eseguito il deployment e fai clic su Copia negli appunti nella colonna Identità di quella riga. L'identità è simile alla seguente:
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID.
Passaggi successivi
- Panoramica di Agent Identity
- Panoramica del gestore di autenticazione di Agent Identity
- Eseguire l'autenticazione utilizzando OAuth a tre vie con Auth Manager
- Eseguire l'autenticazione utilizzando OAuth a due vie con Auth Manager
- Autenticati utilizzando la chiave API con Auth Manager
- Gestire i provider di autenticazione di Agent Identity