In diesem Leitfaden erfahren Sie, wie Sie einen Agent in der Agent Runtime auf der Gemini Enterprise Agent Platform mit aktivierter Agent Identity erstellen und bereitstellen.
Agent Identity weist Ihrem bereitgestellten Agent eine sichere SPIFFE-Identität zu. Der Agent verwendet diese Identität zur Authentifizierung bei Google Cloud Diensten und zum Abrufen von Anmeldedaten vom Agent Identity-Authentifizierungsmanager.
Hinweis
Aktivieren Sie die APIs Agent Identity API, Agent Platform API, Agent Registry API und App Hub API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen.Sie benötigen die Rolle Agent Platform User (
roles/aiplatform.user) für Ihr Projekt.
Agent erstellen und bereitstellen
Erstellen Sie einen Beispielagenten mit google-agents-cli und stellen Sie ihn mit Agent Identity bereit:
Installieren Sie
uvund führen Sie dann die Einrichtung vongoogle-agents-cliaus:pip install uv uvx google-agents-cli setup
Erstellen Sie ein Agent-Projekt mit der Prototypvorlage:
uvx google-agents-cli create AGENT_PROJECT --prototype --yes
Ersetzen Sie
AGENT_PROJECTdurch den Namen für Ihr neues Agent-Projektverzeichnis (z. B.maps-agent).Mit diesem Befehl wird die folgende Projektverzeichnisstruktur generiert:
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
Benennen Sie den Standardanwendungsordner (
app) so um, dass er mit dem Namen Ihres Agent übereinstimmt (AGENT_NAME, z. B.maps_agent). Agent-Namen müssen eine gültige Python-Kennung sein: Sie müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Zahlen und Unterstriche enthalten.cd AGENT_PROJECT mv app AGENT_NAME
Aktualisieren Sie die Konfigurationsdatei
agent.pymit dem neuen Namen:# In AGENT_PROJECT/AGENT_NAME/agent.py app = App( root_agent=root_agent, name="
AGENT_NAME", )Wählen Sie ein zu verwendendes Modell basierend auf seiner regionalen Verfügbarkeit aus. Aktualisieren Sie den Wert für
MODELinagent.pyentsprechend dem ausgewählten Modell.Problemumgehung für Modelle, die nur in der
globalRegion verfügbar sindWenn Sie ein Modell verwenden möchten, das nur in der
globalRegion verfügbar ist, müssen Sieagent.pyso ändern, dass Ihr Agent darauf zugreifen kann.-
Fügen Sie die folgenden Importe hinzu:
from functools import cached_property from google.genai import Client
-
Fügen Sie nach den Importen die folgende Unterklasse hinzu:
class GlobalGemini(Gemini): @cached_property def api_client(self) -> Client: return Client(enterprise=True, location="global")
-
Suchen Sie den folgenden Code:
root_agent = Agent( name="root_agent", model=Gemini(
Ändern Sie ihn so, dass er auf die neue abgeleitete Klasse verweist:
root_agent = Agent( name="root_agent", model=GlobalGemini(
-
Aktivieren Sie Agent Identity, indem Sie eine Konfigurationsdatei erstellen:
echo '{ "identity_type": "AGENT_IDENTITY" }' > AGENT_NAME/.agent_engine_config.json
Erstellen Sie eine
requirements.txt-Datei für die Bereitstellungsabhängigkeiten:uv export \ --no-emit-workspace \ --no-hashes \ --format requirements.txt \ --output-file AGENT_NAME/requirements.txt
Prüfen Sie die Projektverzeichnisstruktur:
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
Testen Sie Ihren Agent lokal:
uv run adk web . --port 8501 --reload_agents
So prüfen Sie Ihren Agent:
Rufen Sie
http://localhost:8501auf. Wenn Sie Cloud Shell verwenden, klicken Sie alternativ auf den Link, der in der Ausgabe des Webservers angegeben ist.Senden Sie in der Chatoberfläche eine Testanfrage, um die Antwort zu prüfen.
Beenden Sie den Server mit
CTRL+C.Stellen Sie Ihren Agent unter folgender Adresse bereit Google Cloud:
uv run adk deploy agent_engine AGENT_NAME \ --project="PROJECT_ID" \ --region="LOCATION"
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt ID.LOCATION: Die unterstützte Region, in der Sie den Agent bereitstellen möchten (z. B.us-west1).
Die Bereitstellung kann einige Minuten dauern. Nach Abschluss der Bereitstellung gibt die CLI eine Bestätigungsnachricht und einen Link zum Playground Ihres Agent in der Google Cloud Console aus.
Rufen Sie die SPIFFE-ID Ihres Agent (Agent Identity) ab:
Rufen Sie in der Google Cloud Console die Bereitstellungen Seite auf.
Suchen Sie die Zeile mit dem bereitgestellten Agent und klicken Sie in der Spalte Identität dieser Zeile auf In die Zwischenablage kopieren , um die SPIFFE-ID Ihres Agent in die Zwischenablage zu kopieren. Die Identität sieht in etwa so aus:
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID.
Nächste Schritte
- Übersicht zu Agent Identity
- Übersicht zum Agent Identity-Authentifizierungsmanager
- Mit dreibeinigem OAuth und dem Authentifizierungsmanager authentifizieren
- Mit zweibeinigem OAuth und dem Authentifizierungsmanager authentifizieren
- Mit einem API-Schlüssel und dem Authentifizierungsmanager authentifizieren
- Agent Identity-Authentifizierungsanbieter verwalten