オプションの外向きアクセス制御¶
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 の要件を満たさず、その逆も成立しません。