Übersicht
Die Identität von KI-Agenten bietet eine agentenspezifische Identität, die einen Ansatz der geringsten Berechtigung ermöglicht. Sie ist an den Lebenszyklus des KI-Agenten gebunden und daher ein sichereres Hauptkonto als Dienstkonten. Vorhandene Zugriffsverwaltungskontrollen über IAM unterstützen die Identität von KI-Agenten, um eine starke Governance zu ermöglichen.
Die Anmeldedaten der Identität von KI-Agenten werden standardmäßig durch eine von Google verwaltete Richtlinie für den kontextsensitiven Zugriff (Context-Aware Access, CAA) geschützt. Diese Richtlinie erzwingt die mTLS Bindung , um sicherzustellen, dass die Anmeldedaten des KI-Agenten in Form von zertifikatgebundenen Tokens nur aus der vorgesehenen, vertrauenswürdigen Laufzeitumgebung (z. B. einem Cloud Run -Container) verwendet werden können. Diese Sicherheitsbaseline verhindert, dass gestohlene Anmeldedaten wiedergegeben werden können, und schützt so vor Anmeldedatendiebstahl und Kontoübernahmeangriffen (Account Takeover, ATO).
Auf dieser Seite werden die folgenden Themen behandelt:
KI-Agenten mit Agent-Identität erstellen: Erstellen Sie einen KI-Agenten so, dass er beim Bereitstellen in der Agent Runtime automatisch eine eindeutige Identität erhält.
Zugriff auf Google Cloud APIs mit der Agent-Identität autorisieren: Verwenden Sie die bereitgestellte Agent-Identität, um dem Agenten Zugriff auf die Google Cloud's First-Party-Tools, APIs und Ressourcen von zu gewähren oder zu verweigern. Dazu gehört auch der Zugriff auf andere KI-Agenten, die in der Agent Runtime gehostet werden, über das Agent2Agent-Protokoll (A2A).
Aktivitäten des KI-Agenten protokollieren: Zeigen Sie die Identität des KI-Agenten in Protokollen für verschiedene Google Cloud Dienste an. Bei von Nutzern delegierten Abläufen werden in den Protokollen sowohl die Nutzeridentität als auch die Identität des KI-Agenten angezeigt.
KI-Agenten und ihre Identitäten auflisten: Zeigen Sie die Liste Ihrer KI-Agenten und ihrer Identitäten in der Agent Runtime an.
Kontextsensitiven Zugriff deaktivieren (nicht empfohlen): Deaktivieren Sie die Standardrichtlinie für den kontextsensitiven Zugriff.
Beschränkungen
Agent-Identitäten können keine Rollen für Legacy-Buckets (storage.legacyBucketReader, storage.legacyBucketWriter oder storage.legacyBucketOwner) für Cloud Storage-Buckets zugewiesen werden.
KI-Agenten mit Agent-Identität erstellen
Sie können KI-Agenten, die Sie in der Agent Runtime bereitstellen, beim Erstellen Ihrer Agent Runtime-Instanz eine eindeutige Identität zuweisen. Die Identität ist an die Agent-Ressourcen-ID der Agent Runtime gebunden und unabhängig vom Agent-Framework, das Sie zum Entwickeln des KI-Agenten verwendet haben.
Beim Erstellen einer Agent-Identität haben Sie folgende Möglichkeiten:
Agent Runtime-Instanz erstellen, ohne Agent-Code bereitzustellen: Wenn Sie IAM-Richtlinien einrichten möchten, bevor Sie den KI-Agenten bereitstellen, können Sie eine Agent-Identität erstellen, ohne den Agent-Code bereitzustellen. Erstellen Sie dazu eine Agent Runtime-Instanz mit nur dem Feld
identity_type:import vertexai from vertexai import agent_engines from vertexai import types client = vertexai.Client( project=PROJECT_ID, location=LOCATION, http_options=dict(api_version="v1beta1") ) remote_app = client.agent_engines.create( config={"identity_type": types.IdentityType.AGENT_IDENTITY} )Nachdem Sie die Agent Runtime-Instanz mit der Agent-Identität erstellt haben, können Sie mit
agent_engine.update(...)Agent-Code hinzufügen.Agent Runtime-Instanz erstellen und gleichzeitig Agent-Code bereitstellen: Wenn Sie die Agent-Identität beim Bereitstellen des Agent-Codes bereitstellen möchten, verwenden Sie das Agent Platform SDK für Python und das
identity_type=AGENT_IDENTITYFlag.Definieren Sie den KI-Agenten in Ihrem bevorzugten Framework:
from google.adk.agents import Agent agent = Agent( model="gemini-2.5-flash", name="minimal_agent", instruction="You are a helpful assistant.", )Stellen Sie ihn dann bereit:
import vertexai from vertexai import types from vertexai.agent_engines import AdkApp # Initialize the Agent Platform client with v1beta1 API for agent identity support client = vertexai.Client( project=PROJECT_ID, location=LOCATION, http_options=dict(api_version="v1beta1") ) # Use the proper wrapper class for your Agent Framework app = AdkApp(agent=agent) # Deploy the agent with Agent Identity remote_app = client.agent_engines.create( agent=app, config={ "display_name": "running-agent-with-identity", "identity_type": types.IdentityType.AGENT_IDENTITY, "requirements": ["google-cloud-aiplatform[adk,agent_engines]"], "staging_bucket": f"gs://"BUCKET_NAME", }, ) print(f"Effective Identity: {remote_app.api_resource.spec.effective_identity}")Dabei ist BUCKET_NAME der Name Ihres Cloud Storage-Bucket.
KI-Agenten mit der Agents CLI bereitstellen: Die Agents CLI ist ideal für Lernende, Prototyping und schnelle Tests, da sie eine schnelle Bereitstellungslösung mit grundlegenden Ressourcen für das Monitoring bietet. Mit dem folgenden Befehl wird Ihr KI-Agent bereitgestellt:
agents-cli deploy --agent-identityKI-Agenten mit Agent-Identität mit `adk deploy` bereitstellen: Richten Sie Ihren KI-Agenten mit dem ADK ein. Bevor Sie
adk deployausführen, führen Sie die folgenden Befehle im Ordner Ihres KI-Agenten aus, um eine Konfigurationsdatei mit der Agent-Identität hinzuzufügen.# Create the file $ touch .agent_engine_config.json # Update the file to specify that you're using Agent Identity $ echo '{ "identity_type": "AGENT_IDENTITY" }' > .agent_engine_config.json
Die Agent Runtime-Instanz wird mit einer schreibgeschützten, vom System bestätigten Agent Identität (einer Hauptkonto-ID) erstellt:
# Agent identity Format
principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME
# Example agent identity
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID
Die folgenden Teile werden Ihnen im Rahmen der Agent-Identität automatisch bereitgestellt:
TRUST_DOMAIN: Eine Vertrauensdomain wird für Sie bereitgestellt, wenn Sie die Agent Platform API aktivieren:
Wenn Sie eine Organisation haben, wird die Vertrauensdomain auf Organisationsebene mit dem Format
agents.global.org-ORGANIZATION_ID.system.id.googerstellt.Wenn Ihr Projekt keine Organisation hat, wird eine Vertrauensdomain auf Projektebene mit dem Format
agents.global.project-PROJECT_NUMBER.system.id.googerstellt.
NAMESPACE: Der unveränderliche Ressourcenpfad des Agenten.
AGENT_NAME: Die unveränderliche
agent-reasoning-engine-id.
Die Identität von KI-Agenten basiert auf SPIFFE. Außerdem stellen wir automatisch ein x509-Zertifikat für den KI-Agenten mit derselben Identität für die sichere Authentifizierung bereit und verwalten es. Standardmäßig hat der KI-Agent Zugriff auf seine eigenen Protokolle, Messwerte, den Modellzugriff, Sitzungen, Speicher und Sandboxes (Vorabversion).
Agent-Identitäten enthalten standardmäßig die Rollen roles/aiplatform.agentContextEditor und roles/aiplatform.agentDefaultAccess, damit KI-Agenten grundlegende Berechtigungen haben.
Sie können die Identität über die Agent Runtime Google Cloud Console und die API aufrufen.
Zugriff auf Google Cloud APIs und Dienste mit der Identität von KI-Agenten
Nachdem Sie einen Agenten mit einer Agent-Identität erstellt haben, können Sie dem Agenten mit den folgenden IAM-Richtlinien Zugriff auf Google Cloud APIs und Dienste gewähren oder verweigern:
Zulassungsrichtlinien: Gewähren Sie einem Agenten Zugriff auf eine Google Cloud Ressource.
Ablehnungsrichtlinien: Verweigern Sie einem KI-Agenten den Zugriff auf eine Google Cloud Ressource.
Zugriff auf einen Agenten gewähren
Gewähren Sie der Agent-Identität IAM-Berechtigungen. Wir empfehlen die folgenden Rollen:
roles/aiplatform.expressUser: Gewährt Zugriff auf laufende Inferenz, Sitzungen und Speicher.roles/serviceusage.serviceUsageConsumer: Gewährt dem Agenten die Berechtigung, das Kontingent des Projekts und das Agent Platform SDK zu verwenden.roles/browser: Gewährt Zugriff auf grundlegende Google Cloud Funktionen.
Zusätzliche Berechtigungen sind möglicherweise erforderlich, wenn Sie Logging, Messwerte und die Cloud API-Registrierung verwenden, sowie für alle anderen Ressourcen, die Sie Ihrem KI-Agenten zur Verfügung stellen möchten. Weitere Beispiele finden Sie weiter unten.
Erstellen Sie eine IAM-Zulassungsrichtlinie, um einem Agenten eine IAM-Rolle zuzuweisen:
# Example: Grant the agent access to vision API.
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
--member="principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID" \
--role="ROLE_NAME" \
Ersetzen Sie Folgendes:
ORGANIZATION_ID: Die ID Ihrer Organisation.
PROJECT_NUMBER: Ihre Projektnummer.
LOCATION: Ihre Region. Informationen zu den unterstützten Regionen für die Laufzeit.
AGENT_ENGINE_ID: Die Ressourcen-ID Ihrer Agent Runtime-Instanz.
ROLE_NAME ist der Name der Rolle, die Sie zuweisen möchten. Beispiel:
roles/vision.user. Eine Liste der vordefinierten Rollen finden Sie unter Informationen zu Rollen.
Zugriff auf mehrere Agenten gewähren
Sie können allen Agent Runtime-Agenten in einem bestimmten Projekt oder in der gesamten Organisation eine IAM-Rolle zuweisen.
Verwenden Sie einen der folgenden Befehle, um allen Agent Runtime-Agenten in einem Projekt eine Rolle zuzuweisen.
Wenn Ihr Projekt zu einer Organisation gehört:
# Grant all agents in a project the following role
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role="ROLE_NAME"
Wenn Ihr Projekt nicht zu einer Organisation gehört:
# Grant all agents in an orgless project the following role
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
--member="principalSet://agents.global.project-PROJECT_NUMBER.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role="ROLE_NAME"
Es kann einfacher sein, allen Agenten im Projekt allgemeine Berechtigungen wie Kontingent, Logging oder Zugriff auf Modelle zu gewähren, um Bereitstellungen zu vereinfachen. Weisen Sie dann einzelnen KI-Agenten spezifische, eingeschränkte Berechtigungen für sensiblere Berechtigungen wie den Zugriff auf Daten zu. Solche Berechtigungen können jederzeit nach der ersten Verwendung der Funktion für die Identität von KI-Agenten in einer Organisation oder einem Projekt gewährt werden. Sie können also vor der Bereitstellung des KI-Agenten erfolgen.
Mit den folgenden Befehlen werden beispielsweise allen Agenten in einem Projekt grundlegende Rollen zugewiesen:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role=roles/serviceusage.serviceUsageConsumer
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role=roles/browser
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role=roles/aiplatform.expressUser
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role=roles/cloudapiregistry.viewer
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role=roles/logging.logWriter
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platformContainer/aiplatform/projects/PROJECT_NUMBER" \
--role=roles/monitoring.metricWriter
So weisen Sie allen Agent Runtime-Agenten in einer Organisation eine Rolle zu:
# Grant all agents in an organization the following role
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
--member="principalSet://agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.platform/aiplatform" \
--role="ROLE_NAME"
Zugriff auf einen KI-Agenten verweigern
Wenn Sie einem KI-Agenten den Zugriff auf Ressourcen verweigern möchten, können Sie die IAM-Ablehnungs richtlinie verwenden oder eine Richtlinie für die Zugriffsgrenze für Hauptkonten einrichten.
Verweigern Sie dem KI-Agenten den Zugriff auf bestimmte Ressourcen mit der IAM-Ablehnungsrichtlinie.
// Deny policy (deny all agents across the org from ability to create or delete buckets) { "displayName": "Deny access to bucket for all agent identities in the org", "rules": [ { "denyRule": { "deniedPrincipals": [ "principalSet://<org.id>.global.agent.id.goog/*" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "storage.googleapis.com/buckets.delete" ] } } ] }Richten Sie eine Zugriffsgrenze für Hauptkonten ein, um die Ressourcen einzuschränken, auf die der KI-Agent zugreifen darf, obwohl er möglicherweise andere Berechtigungen hat:
// PAB Policy (Only allow agents to operate within resource boundary) { "name":"organizations/ORGANIZATION_ID/locations/global/principalAccessBoundaryPolicies/example-policy", "details": { "rules": [ { "description": "Restrict agent identity inside a folder", "resources": [ "//cloudresourcemanager.googleapis.com/folder/0123456789012" ], "effect": "ALLOW" } ], } } // Bind PAB policy to all identities in the organization (incl agent id) gcloud iam principal-access-boundary-policies bindings create example-pab-binding \ --organization=organizations/ORGANIZATION_ID \ --policy=example-policy \ --target-principal-set=cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID
Aktivitäten des KI-Agenten protokollieren
Wenn Sie Cloud Logging aktivieren, können Sie Protokolle einsehen, in denen Sie sehen, welche KI-Agenten und Nutzer auf eine Google Cloud Ressource zugegriffen haben.
Wenn der KI-Agent im Namen eines Nutzers handelt, werden in den Protokollen sowohl die Identität des KI-Agenten als auch die des Nutzers angezeigt.
Wenn der KI-Agent in eigener Verantwortung handelt, wird in den Protokollen nur die Identität des KI-Agenten angezeigt.
KI-Agenten und ihre Identitäten auflisten
Sie können die Liste Ihrer Agent-Identitäten in der Agent Runtime über die Google Cloud Console und die Befehlszeile aufrufen.
Console
- Rufen Sie in der Google Cloud Console die Seite Bereitstellungen der Agent Platform auf.
In der Liste werden die bereitgestellten KI-Agenten angezeigt, die Teil des ausgewählten Projekts sind. Mit dem Feld Filter können Sie die Liste nach der angegebenen Spalte filtern.
Für jeden KI-Agenten wird die Agent-Identität in der Spalte Identität aufgeführt.
REST API
Sie können die Agent-Identität abrufen, wenn Sie eine Agent Runtime-Instanz abrufen mit der REST API.
Die Antwort enthält die Agent-Identität im folgenden Format:
{
...
spec: {
"effectiveIdentity": "agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID"
}
...
}
Bei Agent Runtime-Instanzen, die keine Agent-Identität verwenden, enthält das Feld effectiveIdentity den Namen des Dienst-Agents oder des Dienstkontos, das mit der Agent Runtime-Instanz verknüpft ist.
Kontextsensitiven Zugriff deaktivieren
Wenn Sie versuchen, ein Zugriffstoken außerhalb der vorgesehenen Agent Runtime-Laufzeit zu verwenden, wird standardmäßig der folgende Fehler ausgegeben:
Error Code: "401"
Error Details: "Context-Aware Access requirements are not met"
In Sonderfällen, z. B. bei bestimmten Anforderungen an die Tokenfreigabe zwischen KI-Agenten, können Sie die Standardrichtlinie für den kontextsensitiven Zugriff deaktivieren. Von dieser Maßnahme wird dringend abgeraten, da sie einen Agenten anfällig für Anmeldedatendiebstahl macht.
Deaktivieren Sie die Standardrichtlinie für den kontextsensitiven Zugriff, indem Sie beim Erstellen Ihrer Agent Runtime-Instanz die folgende Umgebungs variable festlegen :
config={
"env_vars": {
"GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES": False,
}
}
Nächste Schritte
Bereitgestellte KI-Agenten verwalten
Informationen zum Verwalten von KI-Agenten, die in der verwalteten Laufzeit der Agent Platform bereitgestellt wurden.