NVIDIAは、自律型AIエージェントを隔離して実行するOpenShellの新バージョンを公開した。今回の更新では、外部サービスに送る認証情報をリクエストのどこに入れるかを明示し、リアルタイムの双方向通信を支えるWebSocket接続には別途許可規則を設ける方式に変更した。エージェントをサービスに接続する開発者と運用担当者は、既存の認証設定と通信ポリシーを点検する必要がある。
1. 認証情報はリクエスト内の配置位置を明示する
配置情報のない静的プロバイダー認証情報は、今後はAuthorizationヘッダー、または明示的に有効にした本文・WebSocket書き換えポリシーでのみ解釈される。リクエストを書き換えて認証情報を挿入する機能を使うには、該当するポリシーを有効にする必要がある。
x-api-keyのようなカスタムヘッダーや、URLリクエストに付くクエリパラメーター、パスの指定位置に認証情報を入れるには、配置宣言が必要だ。設定のauth_styleが実際に適用する配置方式を選び、ほかの方式のフィールドは無視される。認証情報の内容だけでなく、リクエストに付ける位置まで設定で選ぶ変更だ。
2. WebSocketには許可規則が必要だ
HTTPリクエストを受けるRESTエンドポイントは、強制モードと監査モードの両方でHTTPアップグレード要求に403を返す。通常のHTTP接続をWebSocketに切り替える要求を、既存のREST規則ではなくWebSocket用ポリシーで扱うようにした。
WebSocketを使うには、プロトコルをWebSocketに指定し、接続設定を最初に交渉するハンドシェイクと、その後のメッセージに適用する規則を構成する必要がある。WebSocketの認証情報書き換え機能も、WebSocketエンドポイントが設定されている場合にのみ有効にできる。接続を開く段階とメッセージを処理する段階の許可範囲を明示する作業が必要だ。
3. ファイル・ネットワーク境界と監査経路の変更
書き込み可能なワークスペース内で別のパスを指すシンボリックリンクを経由するファイルポリシーのパスがあると、サンドボックスの起動が失敗する。可能な範囲でポリシーを適用するベストエフォートモード、つまり適用可能な措置だけを実行する方式でも同様で、ポリシーにはリンク先の実際のパスを入れる必要がある。
透過TCP接続、つまり元の宛先を維持して中継する接続では、IPv4アドレスを含むIPv6宛先をIPv4として評価する。この形式の宛先を使うネットワーク規則は、IPv4アドレスに変更する必要がある。同じ宛先でも、アドレスの表記方式をポリシーの評価基準に合わせる作業だ。
監査記録で、どのサンドボックスの活動かを示す位置も変わった。サンドボックス側の管理コンポーネントであるスーパーバイザーは、デバイスのコンテナー項目に識別情報を残す。リクエストを中継するゲートウェイは、イベントの種類に応じてリソース一覧や別のサンドボックス項目に記録する。従来の最上位コンテナーフィールドを読むセキュリティログ解析パーサーは、マッピングを更新する必要がある。
AWSリクエストに署名を付ける認証方式であるAWS SigV4の診断は、スーパーバイザーの詳細トレースログに残さないように変更された。一時セッショントークンがログに露出する可能性のあった経路を減らす修正だ。
4. メモリと障害処理の改善
同社の発表によると、サンドボックス削除後もゲートウェイにメモリが残り、作成と削除の繰り返しがメモリ枯渇につながる問題が修正された。サンドボックスごとに約3.4 MiBのストリームバッファー、つまりデータの流れを一時保存するメモリ領域を事前割り当てする動作もなくなった。サンドボックスを頻繁に作成・削除する運用で、メモリ負担を減らす変更だ。
同社の発表によると、PostgreSQLに接続できない場合、ゲートウェイのリクエストは約5秒以内に再試行可能なUNAVAILABLEエラーで終了する。障害中に起動したゲートウェイも、データベースが復旧すると、終了と再起動の繰り返しに陥るのではなく準備完了状態になる。
Kubernetesでサンドボックスを削除する際は、コンテナーをまとめて実行する単位であるPodの30秒の終了猶予時間を待たなくなったと同社は発表している。この数値は削除にかかる全体の時間ではなく、従来待機していた猶予時間を指す。
5. 運用担当者は何を点検すべきか
リリースノートは、まずゲートウェイをアップグレードし、その後スーパーバイザーを更新するよう案内している。既に取り込んだプロファイルも必要に応じて更新する必要がある。参照用YAMLを編集するだけでは、ゲートウェイの一覧が更新されないためだ。
クイックインストール用のコマンドは、リリースノートに次のように示された。
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | OPENSHELL_VERSION=v0.1.8 sh今回のリリースの利点は、認証情報の配置とネットワークの許可境界を明確にし、ゲートウェイの反復運用と障害復旧を改善した点にある。それに伴う作業は、構成変更とアップグレード順序の確認、既存の監査パーサーとネットワークポリシーの更新だ。
v0.1.8はサンドボックスのセキュリティ境界と運用の復旧力をともに改善しており、既存の構成を使う運用担当者はポリシーとデプロイ順序を整える必要がある。
