許多代理程式工作都涉及執行不受信任的程式碼、執行指令、使用網頁瀏覽器,或以可能造成安全風險的方式與外部環境互動。Gemini Enterprise Agent Platform 提供獨立的沙箱,可安全地處理這些工作負載。
沙箱提供安全隔離的執行環境,可代表代理執行特定工作。在沙箱中執行這些作業,可避免代理程式執行潛在惡意或錯誤的動作,進而保護基礎架構和資料。沙箱可透過下列方式降低這些風險:
- 隔離:每個沙箱都會與其他沙箱和主機系統隔離。沙箱中某個代理程式採取的動作,不會影響共用相同執行階段資源的其他代理程式或使用者。
- 安全性:沙箱中的作業受到限制,可防止未經授權存取資源。所有沙箱環境都使用安全的容器沙箱,提供強大的安全邊界。惡意程式碼無法存取執行階段中的機密資料或憑證。
- 安全性:如果代理程式執行有害指令或無限迴圈,影響範圍會限制在沙箱內。舉例來說,撰寫不當或惡意的程式碼可能會耗用所有可用的 CPU 或記憶體。
沙箱與執行階段比較
代理程式執行階段和沙箱的用途和使用方式不同:
- 代理執行階段:這是代理的核心邏輯、決策和自動調度管理機制執行的環境。這個環境可執行程式碼並管理代理程式的生命週期,值得信賴。
- 沙箱:這是由代理或平台衍生的輔助環境,可執行特定且可能不安全的作業。沙箱可以是短期、以工作階段為基礎,或是有狀態的幾天。
舉例來說,如果代理程式需要生成及執行自訂 Python 指令碼來計算複雜公式,就應在執行程式碼沙箱中執行該指令碼,而非在自己的執行階段中執行。此外,如果代理程式使用技能和殼層指令碼,必須在專為該工作階段佈建的環境中,使用使用者的存取權執行這些項目。
存留時間和 Sandbox 佈建速度
- TTL:沙箱存留時間不一,自訂容器映像檔為 7 天,執行程式碼沙箱則為 14 天。這樣一來,您就能在幾天後繼續處理長期任務,並在可繼續執行的 Shell 環境中恢復沙箱環境的狀態。
- 佈建:從冷啟動建立新沙箱最多需要 2 分鐘來佈建資源,但佈建完成後,沙箱通常會在幾秒內啟動。您可以在下列開放原始碼專案中查看基礎架構:AX 和 Substrate。
功能與特色
沙箱提供多項功能,例如預先定義的沙箱、自訂容器、企業安全控管和生命週期管理:
- 執行程式碼: 允許代理在安全環境中生成及執行程式碼。這項功能適用於複雜的數學運算、資料分析和其他需要運算的工作。
- 電腦使用:讓代理程式與網路瀏覽器互動,執行填寫表單、搜尋網路或瀏覽複雜 UI 工作流程等工作。
- 自訂容器:您可以「自備容器」,使用特定程式庫、工具或設定自訂執行環境。使用這個選項,為代理程式提供包含自訂映像檔中指令和工具的殼層環境。
- VPC Service Controls: 設定安全範圍,保護機密資料,並防止未經授權的輸出活動。
- 客戶管理加密金鑰 (CMEK): 使用 Cloud Key Management Service (Cloud KMS) 管理的加密金鑰,保護沙箱中的靜態資料。