Questa guida mostra come creare ed eseguire il deployment di un agente in Agent Runtime su Gemini Enterprise Agent Platform con Agent Identity abilitato.
Agent Identity assegna un'identità SPIFFE sicura all'agente di cui hai eseguito il deployment. L' agente utilizza questa identità per autenticarsi ai Google Cloud servizi e recuperare le credenziali dal gestore dell'autenticazione di Agent Identity.
Prima di iniziare
Abilita le API Agent Identity, Agent Platform, Agent Registry e App Hub.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Assicurati di avere il 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 Agent Identity:
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 esempio,maps-agent).Questo comando genera la seguente struttura della 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
globalregionePer utilizzare un modello disponibile solo nella regione
globaldevi 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(
-
Abilita Agent Identity creando un file di configurazione:
echo '{ "identity_type": "AGENT_IDENTITY" }' > AGENT_NAME/.agent_engine_config.json
Crea un file
requirements.txtper le dipendenze di 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 di 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 Google Cloud progetto ID.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 (Agent Identity):
Nella Google Cloud console 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 nella colonna Identità di quella riga fai clic su Copia negli appunti. 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 dell'autenticazione di Agent Identity
- Autenticazione utilizzando OAuth a tre vie con il gestore dell'autenticazione
- Autenticazione utilizzando OAuth a due vie con il gestore dell'autenticazione
- Autenticazione utilizzando la chiave API con il gestore dell'autenticazione
- Gestisci i provider di autenticazione di Agent Identity