Agent Development Kit (ADK)-Agents interagieren mit externen Diensten außerhalb von Cloud de Confiance by S3NS. Sowohl Agent-Identitäten als auch Identity and Access Management (IAM) ermöglichen die Authentifizierung bei Cloud de Confiance by S3NS-Diensten. Sie können jedoch ihre Identität nicht gegenüber externen Plattformen nachweisen, die die Identitätsföderation von Google nicht unterstützen.
ADK-Agenten benötigen Zugriff auf verschiedene Anmeldedaten, um mit externen Einheiten wie MCP-Diensten, ADK-Tools und APIs interagieren zu können. Hier einige Beispiele:
- API-Schlüssel für Zahlungsabwicklungsplattformen
- Kombinationen aus Nutzernamen und Passwörtern für Legacy-On-Premise-Datenbanken
- Private Schlüssel für gegenseitige TLS-Verbindungen (mTLS)
SecretManagerClient im Paket google.adk.integrations.secret_manager.secret_client. Dieses Modul bietet eine Standardschnittstelle für Agents, um Secrets zur Laufzeit aus Secret Manager abzurufen.
In diesem Dokument wird beschrieben, wie Sie Secrets für externe Dienste im ADK mit Secret Manager verwalten.
Vorteile der Verwendung von Secret Manager mit dem ADK
Die manuelle Verwaltung von Secrets kann Sicherheitsrisiken mit sich bringen und den Arbeitsaufwand für Entwickler erhöhen. Secret Manager kann diese Probleme auf folgende Weise beheben:
- Wenn Sie Secrets in den Agent-Code einbetten, entsteht ein erhebliches Sicherheitsrisiko. Diese Vorgehensweise kann zu unbefugtem Zugriff auf Produktionssysteme führen. Durch die Verwendung von Secret Manager werden vertrauliche Daten aus Ihrem Quellcode entfernt. So wird Ihre Anwendung sicherer.
- Wenn Sie statische Secrets über Umgebungsvariablen einbetten, wird die Rotation von Anmeldedaten kompliziert. Damit Updates angewendet werden, müssen Sie die Bereitstellungscontainer neu starten. Secret Manager ruft Anmeldedaten dynamisch zur Laufzeit ab. So sind Aktualisierungen ohne Systemausfallzeiten möglich.
- Wenn Sie für jedes Tool benutzerdefinierten
SecretManagerServiceClient-Boilerplate-Code schreiben, erhöhen Sie den Aufwand für Entwickler und das Fehlerrisiko. Die standardisierte ADK-Integration bietet einen sauberen, wiederverwendbaren Ansatz zum Abrufen von Anmeldedaten.
Hinweis
Bevor Sie Secret Manager in das ADK einbinden, müssen Sie Folgendes tun:
- KI-Agent mit dem ADK einrichten Für diese Funktion ist ADK-Version 1.29 oder höher für Python erforderlich.
- Weisen Sie der Agent-Identität die IAM-Rolle
Secret Manager Secret Accessorzu. Mit dieser Rolle kann Ihr Agent zur Laufzeit Secrets abrufen. - Erstellen Sie das regionale Secret und fügen Sie eine regionale Secret-Version hinzu, z. B. einen API-Schlüssel, in Secret Manager.
So ruft ein ADK-Agent zur Laufzeit Secrets ab
Das Modul secret_client.SecretManagerClient ruft Anmeldedaten zur Laufzeit in der Python-Agent-Code-Logik ab. Die Orchestrierungslogik des Agents sendet Prompts an das Large Language Model (LLM), um zu entscheiden, welches Tool ausgeführt werden soll. Das System sendet das Secret jedoch nicht an das LLM.
Der KI-Agent führt während der Laufzeitphase die folgenden Schritte aus:
- Bevor ein ADK-Agent ein Drittanbietertool aufruft, initialisiert er das
SecretManagerClient-Modul und ruft die Funktionget_secret()auf. - Der ADK-Agent verwendet die Agentenidentität zur Authentifizierung bei Secret Manager.
- Das Modul
SecretManagerClientgibt das Secret im Klartext an den ADK-Agenten zurück. - Der ADK-Agent verwendet das Secret, um einen authentifizierten Aufruf an das Drittanbietertool zu senden.
Secrets während der Laufzeit in einem ADK-Agenten abrufen
Das folgende Codebeispiel zeigt, wie Sie das Modul SecretManagerClient verwenden können, um ein Secret sicher in einem ADK-Agenten abzurufen. Der Agent ruft das Secret intern ab, um zu verhindern, dass vertrauliche Anmeldedaten im Kontextfenster oder Unterhaltungsverlauf des LLM offengelegt werden.
Python
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Secret Manager Python SDK installieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.