Molte attività dell'agente comportano l'esecuzione di codice non attendibile, l'esecuzione di comandi, l'utilizzo di un browser web o l'interazione con ambienti esterni in modi che potrebbero comportare rischi per la sicurezza. Gemini Enterprise Agent Platform fornisce sandbox isolate per gestire questi carichi di lavoro in modo sicuro.
Le sandbox forniscono ambienti di esecuzione sicuri e isolati che vengono generati per eseguire attività specifiche per conto di un agente. Eseguendo queste operazioni in una sandbox, puoi proteggere la tua infrastruttura e i tuoi dati da azioni potenzialmente dannose o errate eseguite dall'agente. Le sandbox mitigano questi rischi:
- Isolamento: ogni sandbox è isolata dalle altre sandbox e dal sistema host. Le azioni intraprese da un agente in una sandbox non influiscono su altri agenti o utenti che condividono le stesse risorse di runtime.
- Sicurezza: le operazioni all'interno della sandbox sono limitate, impedendo l'accesso non autorizzato alle tue risorse. Tutti gli ambienti sandbox utilizzano il sandboxing sicuro dei container, fornendo un limite di sicurezza solido. Il codice dannoso non può accedere a dati sensibili o credenziali all'interno del runtime.
- Sicurezza: se un agente esegue un comando dannoso o un ciclo infinito, l'impatto è contenuto all'interno della sandbox. Ad esempio, un codice scritto male o dannoso potrebbe consumare tutta la CPU o la memoria disponibile.
Sandbox rispetto al runtime
Il runtime dell'agente e una sandbox differiscono per scopo e utilizzo:
- Agent Runtime: è l'ambiente in cui vengono eseguite la logica principale, il processo decisionale e l'orchestrazione dell'agente. È un ambiente attendibile che esegue il codice e gestisce il ciclo di vita dell'agente.
- Sandbox: si tratta di un ambiente ausiliario creato dall'agente o dalla piattaforma per eseguire attività specifiche potenzialmente non sicure. Le sandbox possono essere di breve durata, basate sulla sessione o stateful per diversi giorni.
Ad esempio, se un agente deve calcolare una formula complessa generando ed eseguendo uno script Python personalizzato, deve eseguire lo script in una sandbox di esecuzione del codice, non nel proprio runtime. Inoltre, se l'agente utilizza una skill e uno script shell, deve eseguirli in un ambiente di cui è stato eseguito il provisioning appositamente per quella sessione, utilizzando l'accesso dell'utente finale.
Velocità di provisioning di TTL e sandbox
- TTL: i TTL delle sandbox variano da 7 giorni per un'immagine container personalizzata a 14 giorni per una sandbox di esecuzione del codice. In questo modo, puoi riprendere lo stato in un ambiente sandbox diversi giorni dopo per attività a lungo termine e ambienti shell ripristinabili.
- Provisioning: la creazione di una nuova sandbox richiede fino a 2 minuti per il provisioning delle risorse da un avvio a freddo, ma dopo il provisioning, le sandbox vengono in genere avviate in pochi secondi. Puoi visualizzare l'architettura sottostante nei seguenti progetti open source: AX e Substrate.
Funzionalità
Le sandbox offrono diverse funzionalità, come sandbox predefinite, contenitori personalizzati, controlli di sicurezza aziendale e gestione del ciclo di vita:
- Esecuzione di codice: Consente all'agente di generare ed eseguire codice in un ambiente sicuro. È utile per calcoli matematici complessi, analisi dei dati e altre attività che richiedono calcoli.
- Utilizzo del computer: consente all'agente di interagire con un browser web per eseguire attività come compilare moduli, cercare sul web o navigare in complessi workflow dell'interfaccia utente.
- Container personalizzati: puoi "portare il tuo container" per personalizzare l'ambiente di esecuzione con librerie, strumenti o configurazioni specifici. Utilizza questo campo per fornire all'agente un ambiente shell contenente i comandi e gli strumenti della tua immagine personalizzata.
- Controlli di servizio VPC: configura perimetri di sicurezza per proteggere i dati sensibili e impedire l'uscita non autorizzata dagli ambienti sandbox.
- Chiavi di crittografia gestite dal cliente (CMEK): Proteggi i dati della sandbox a riposo con chiavi di crittografia gestite in Cloud Key Management Service (Cloud KMS).