多くのエージェント タスクでは、信頼できないコードの実行、コマンドの実行、ウェブブラウザの使用、外部環境とのやり取りなど、セキュリティ リスクが生じる可能性のある方法が使用されます。Gemini Enterprise Agent Platform は、これらのワークロードを安全に処理するために、分離されたサンドボックスを提供します。
サンドボックスは、エージェントに代わって特定のタスクを実行するために生成される、安全で隔離された実行環境を提供します。これらのオペレーションをサンドボックスで実行することで、エージェントによって実行される可能性のある悪意のある操作や誤った操作からインフラストラクチャとデータを保護できます。サンドボックスは、次の方法でこれらのリスクを軽減します。
- 分離: 各サンドボックスは、他のサンドボックスとホストシステムから分離されています。サンドボックスで 1 人のエージェントが行った操作は、同じランタイム リソースを共有する他のエージェントやユーザーに影響しません。
- セキュリティ: サンドボックス内のオペレーションは制限され、リソースへの不正アクセスを防ぎます。すべてのサンドボックス環境で安全なコンテナ サンドボックスが使用され、強力なセキュリティ境界が提供されます。悪意のあるコードは、ランタイム内のセンシティブ データや認証情報にアクセスできません。
- 安全性: エージェントが有害なコマンドや無限ループを実行した場合、その影響はサンドボックス内に限定されます。たとえば、不適切なコードや悪意のあるコードは、使用可能な CPU やメモリをすべて消費する可能性があります。
サンドボックスとランタイムの比較
エージェント ランタイムとサンドボックスは、目的と使用方法が異なります。
- エージェント ランタイム: エージェントのコアロジック、意思決定、オーケストレーションが実行される環境です。コードを実行し、エージェントのライフサイクルを管理する信頼できる環境です。
- サンドボックス: エージェントまたはプラットフォームによって生成され、特定の安全でない可能性のあるタスクを実行する補助環境です。サンドボックスは、短期間、セッションベース、または数日間ステートフルにすることができます。
たとえば、エージェントがカスタム Python スクリプトを生成して実行し、複雑な数式を計算する必要がある場合、そのスクリプトは独自ランタイムではなく、コード実行サンドボックスで実行する必要があります。また、エージェントがスキルとシェル スクリプトを使用する場合は、エンドユーザーのアクセス権を使用して、そのセッション専用にプロビジョニングされた環境で実行する必要があります。
TTL とサンドボックスのプロビジョニング速度
- TTL: サンドボックスの TTL は、カスタム コンテナ イメージの 7 日間からコード実行サンドボックスの 14 日間まで、さまざまです。これにより、長期的なタスクや再開可能なシェル環境で、数日後にサンドボックス環境で状態を再開できます。
- プロビジョニング: 新しいサンドボックスの作成には、コールド スタートからリソースをプロビジョニングするのに最大 2 分かかりますが、プロビジョニングが完了すると、通常は数秒でサンドボックスがスピンアップします。基盤となるアーキテクチャは、AX と Substrate のオープンソース プロジェクトで確認できます。
機能
サンドボックスには、事前定義されたサンドボックス、カスタム コンテナ、エンタープライズ セキュリティ制御、ライフサイクル管理などの機能があります。
- コード実行: エージェントが安全な環境でコードを生成して実行できるようにします。これは、複雑な数学的計算やデータ分析など、計算を必要とするタスクに役立ちます。
- パソコンの使用: エージェントがウェブブラウザを操作して、フォームの入力、ウェブ検索、複雑な UI ワークフローのナビゲーションなどのタスクを実行できるようにします。
- カスタム コンテナ: 「独自のコンテナを持ち込む」ことで、特定のライブラリ、ツール、構成を使用して実行環境をカスタマイズできます。これを使用して、カスタム イメージのコマンドとツールを含むシェル環境をエージェントに提供します。
- VPC Service Controls: セキュリティ境界を構成して、センシティブ データを保護し、サンドボックス環境からの不正な流出を防ぎます。
- 顧客管理の暗号鍵(CMEK): Cloud Key Management Service(Cloud KMS)で管理される暗号鍵を使用して、サンドボックスの保存データを保護します。