Viele Agent-Aufgaben umfassen das Ausführen von nicht vertrauenswürdigem Code, das Ausführen von Befehlen, die Verwendung eines Webbrowsers oder die Interaktion mit externen Umgebungen, was Sicherheitsrisiken bergen kann. Die Gemini Enterprise Agent Platform bietet isolierte Sandboxes, um diese Arbeitslasten sicher zu verarbeiten.
Sandboxes bieten sichere, isolierte Ausführungsumgebungen, die erstellt werden, um bestimmte Aufgaben im Namen eines Agents auszuführen. Wenn Sie diese Vorgänge in einer Sandbox ausführen, können Sie Ihre Infrastruktur und Daten vor potenziell schädlichen oder fehlerhaften Aktionen des Agents schützen. Sandboxes minimieren diese Risiken durch:
- Isolation: Jede Sandbox ist von anderen Sandboxes und dem Hostsystem isoliert. Aktionen, die von einem Agent in einer Sandbox ausgeführt werden, wirken sich nicht auf andere Agents oder Nutzer aus, die dieselben Laufzeitressourcen verwenden.
- Sicherheit: Vorgänge in der Sandbox sind eingeschränkt, um unbefugten Zugriff auf Ihre Ressourcen zu verhindern. Alle Sandbox-Umgebungen verwenden sicheres Container-Sandboxing, das eine starke Sicherheitsgrenze bietet. Schadcode kann während der Laufzeit nicht auf vertrauliche Daten oder Anmeldedaten zugreifen.
- Sicherheit: Wenn ein Agent einen schädlichen Befehl oder eine Endlosschleife ausführt, sind die Auswirkungen auf die Sandbox beschränkt. Schlecht geschriebener oder schädlicher Code kann beispielsweise die gesamte verfügbare CPU- oder Arbeitsspeicherkapazität verbrauchen.
Sandbox im Vergleich zur Laufzeit
Die Agent-Laufzeit und eine Sandbox unterscheiden sich in Zweck und Nutzung:
- Agent Runtime: Dies ist die Umgebung, in der die Kernlogik, die Entscheidungsfindung und die Orchestrierung des Agenten ausgeführt werden. Es handelt sich um eine vertrauenswürdige Umgebung, in der Ihr Code ausgeführt und der Lebenszyklus des KI-Agenten verwaltet wird.
- Sandbox: Dies ist eine Hilfsumgebung, die vom KI-Agenten oder der Plattform erstellt wird, um bestimmte, potenziell unsichere Aufgaben auszuführen. Sandboxes können kurzlebig, sitzungsbasiert oder mehrere Tage lang zustandsbehaftet sein.
Wenn ein Agent beispielsweise eine komplexe Formel berechnen muss, indem er ein benutzerdefiniertes Python-Skript generiert und ausführt, sollte er dieses Skript in einer Sandbox für die Codeausführung und nicht in seiner eigenen Laufzeit ausführen. Wenn der Agent einen Skill und ein Shell-Script verwendet, muss er sie in einer Umgebung ausführen, die speziell für diese Sitzung bereitgestellt wird, und dabei den Zugriff des Endnutzers nutzen.
TTL und Bereitstellungsgeschwindigkeit für Sandbox
- TTL: Die TTLs für Sandboxes variieren. Sie reichen von 7 Tagen für ein benutzerdefiniertes Container-Image bis zu 14 Tagen für eine Code-Ausführungs-Sandbox. So können Sie den Status in einer Sandbox-Umgebung mehrere Tage später für Aufgaben mit langem Horizont und fortsetzbare Shell-Umgebungen fortsetzen.
- Bereitstellung: Das Erstellen einer neuen Sandbox dauert bis zu 2 Minuten, da Ressourcen aus einem Kaltstart bereitgestellt werden. Nach der Bereitstellung werden Sandboxes jedoch in der Regel in Sekundenschnelle hochgefahren. Die zugrunde liegende Architektur finden Sie in den folgenden Open-Source-Projekten: AX und Substrate.
Features
Sandboxes bieten mehrere Funktionen wie vordefinierte Sandboxes, benutzerdefinierte Container, Sicherheitskontrollen auf Unternehmensniveau und Lebenszyklusverwaltung:
- Code-Ausführung: Damit kann der Agent Code in einer sicheren Umgebung generieren und ausführen. Das ist nützlich für komplexe mathematische Berechnungen, Datenanalysen und andere Aufgaben, die Berechnungen erfordern.
- Computer verwenden: Ermöglicht dem Agent, mit einem Webbrowser zu interagieren, um Aufgaben wie das Ausfüllen von Formularen, die Websuche oder die Navigation in komplexen Benutzeroberflächen-Workflows auszuführen.
- Benutzerdefinierte Container: Sie können Ihren eigenen Container mitbringen, um die Ausführungsumgebung mit bestimmten Bibliotheken, Tools oder Konfigurationen anzupassen. Damit geben Sie Ihrem Agenten eine Shell-Umgebung mit den Befehlen und Tools in Ihrem benutzerdefinierten Image.
- VPC Service Controls: Konfigurieren Sie Sicherheitsperimeter, um sensible Daten zu schützen und unbefugten ausgehenden Traffic aus Sandbox-Umgebungen zu verhindern.
- Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK): Schützen Sie Sandbox-Daten im Ruhezustand mit Verschlüsselungsschlüsseln, die in Cloud Key Management Service (Cloud KMS) verwaltet werden.