Agent Identity ti consente di eseguire il provisioning di un'identità gestita per gli agenti che crei e di cui esegui il deployment in Agent Runtime su Gemini Enterprise Agent Platform utilizzando Agents CLI e Agent Development Kit (ADK). L'agente di cui è stato eseguito il deployment può quindi autenticarsi ai serviziGoogle Cloud e recuperare le credenziali dalgestore di autenticazione di Agent Identitysenza gestione manuale delle credenziali.
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 hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (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 eseguine 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 template del 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 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à per regione. 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 del tuo agente su Google Cloud:
uv run adk deploy agent_engine AGENT_NAME \ --project="PROJECT_ID" \ --region="LOCATION"
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto Google Cloud .LOCATION: La regione supportata in cui si desidera distribuire l'agente (ad esempio,us-west1).
Il deployment può richiedere alcuni minuti. Al termine, l'interfaccia a riga di comando 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 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 è stato eseguito il deployment e, nella colonna Identità della 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 di autenticazione di Agent Identity
- Esegui l'autenticazione utilizzando OAuth a tre vie con Auth Manager
- Autenticati utilizzando OAuth a due vie con Auth Manager
- Autenticati utilizzando la chiave API con il gestore di autenticazione
- Gestisci i provider di autenticazione di Agent Identity