コンテンツにスキップ

オプションの外向きアクセス制御

3.0 で導入されたこの機能は明示的に有効化します。運用者が管理する [outbound] プロファイルにより、管理対象の ToolClad HTTP ツールを、接続先のオリジン、HTTP メソッド、パス境界、要求回数が定められた名前付き操作に制限します。 プロファイルがない場合は従来の動作を維持します。

認証情報は、明示的に選んだ環境変数またはシークレットストアからのみ取得します。 ストアの障害時に環境変数へ切り替えることはありません。ランタイムが送信時に 秘密値を付加し、その値をそのまま含む応答を遮断します。これは一般的なデータ 流出防止を保証するものではありません。

各実行には個別の取り消し可能な権限が付与されます。キャンセルは後続の要求を 止めますが、接続先がすでに受信した要求の効果を取り消すことはできません。 結果が不明な操作は、自動再実行せず検査と照合が必要です。書き込みには既存の 端末による厳密な操作承認を要求できます。

パスパラメーターは既定で拒否されます。allow_path_parameters = true は通常の パラメーターを許可しますが、..%3B などのドットセグメントは許可しません。 allowed_query_keys を指定すると、デコード後のクエリキーを制限し、重複も拒否します。 同じ実行内の並行呼び出しは、成功した認証情報の取得結果を共有します。失敗は再試行でき、 権限の失効時にはキャッシュを破棄します。ジャーナルのハッシュからは Vault トークンと AppRole Secret ID を除外します。レスポンスのヘッダー名や値に認証情報がそのまま 反映された場合も、ハッシュ計算前に拒否します。意図的なローテーションは宣言した version で識別します。

Vault は読み取り前に設定された方式で認証します。Vault のトークンや TLS の環境変数はこの設定を上書きしません。反射の検査では、HTTP によるヘッダー名の小文字化とヘッダー値の前後の空白除去も考慮します。

symbi tools validate と symbi doctor は、アプリケーションの認証情報を取得せず 設定を検査します。制御は OSS に含まれ、Linux の既存の Landlock 構成に新たな プロキシ、コンテナ、VM を要求しません。他の通信経路やブラウザ実行は対象外です。 保存された CLI テスト結果は、サンドボックスの分離を認定するものではありません。

TOML の例、制限、Rust 呼び出し側の変更は英語の設定・移行ガイド を参照してください。制御カタログは実装と検証を区別します。

Rust API の移行: 構造体リテラルに HttpDef.capability: None、InferenceBrokerConfig.credential: None、ToolEffect::NetworkRequestStarted.outbound: None を追加してください。SecurityTier は全順序 (Ord) を実装しなくなります。最低要件の判定には satisfies を使用してください。Landlock はコンテナや VM の要件を満たさず、その逆も成立しません。