pending_approval, cuộc gọi tool được giữ và
agent của bạn chờ. Theo mặc định một người duyệt xóa lần giữ đó từ console.
Webhook phê duyệt firewall nối cùng cổng đó vào hệ thống của bạn:
gateway POST một thông báo có chữ ký tới endpoint của bạn ngay khi một cuộc gọi
được giữ, và hệ thống của bạn POST một quyết định ký HMAC trở lại để giải phóng
nó — không chỗ ngồi console, không poll một con người.
Đây là nửa async (callback) của con-người-trong-vòng-lặp. Cuộc gọi được giữ,
verdict, và đường phân giải console được đề cập trong
Phân giải phê duyệt và
tham chiếu Firewall; trang này
chỉ là việc nối dây webhook.
Webhook là một báo trước đường-nhanh, không phải hệ thống ghi chép. Long-
poll của relay trên cuộc gọi được giữ là cổng có thẩm quyền — nếu một thông báo
bị rớt hoặc bộ nhận của bạn down, lần giữ vẫn đứng và một người duyệt có thể
xóa nó từ console. Cấu hình webhook chỉ thêm một cách lập trình để phân giải
nó.
1. Khi nào dùng một webhook phê duyệt firewall
Dùng nó khi một cổng firewall con-người-trong-vòng-lặp phải được phân giải bởi một thứ khác con người nhấp một nút:Định tuyến tới UI phê duyệt của riêng bạn
Đẩy các cuộc gọi tool được giữ vào Slack, PagerDuty, hoặc một hàng đợi xem
xét nội bộ và phân giải chúng nơi team của bạn đã làm việc.
Chính sách lập trình
Tự-phê-duyệt một
db.query được giữ trên một read replica, tự-từ-chối một
cái trên prod — code của bạn quyết định, gateway thực thi.2. Cấu hình nó trong console
Cả hai nửa sống trên một cài đặt workspace. Mở Firewall → Settings và điền hai trường (một hành động Developer+ — thao tác ghi cài đặt được giới hạn vai trò):Approval webhook URL — nơi chúng tôi thông báo bạn
Approval webhook URL — nơi chúng tôi thông báo bạn
Endpoint
https:// mà chúng tôi POST tới khi một cuộc gọi được giữ. HTTP
bị từ chối, và URL được chạy qua một SSRF preflight khi lưu, nên một đích
đến loopback, dải-riêng, hay cloud-metadata bị từ chối trước khi nó có thể
được lưu. Để trống để vô hiệu hóa đường async hoàn toàn.Shared secret — cách cả hai phía xác thực
Shared secret — cách cả hai phía xác thực
3. Thông báo chúng tôi gửi bạn
Khi một cuộc gọi được giữ, chúng tôi POST một phong bì JSON có chữ ký tới URL của bạn:approval_id bạn cần để phân giải và các định danh để tương quan, không bao
giờ các đối số tool. Chi tiết đối số sống trong
hàng đợi Approvals và
events log của firewall.
4. Callback bạn POST trở lại
Để giải phóng (hoặc từ chối) lần giữ, POST quyết định của bạn tới endpoint callback vớiapproval_id từ thông báo:
decision là approved hoặc rejected — không giá trị nào khác được chấp
nhận. reason là tùy chọn và hiện ra trên audit trail của phê duyệt đã được
phân giải.
Callback là first-decision-wins và idempotent: ai phân giải trước — webhook
của bạn hoặc một người duyệt console — đặt kết cục, và một callback lặp lại cho
một phê duyệt đã-phân-giải trả về 200 nên hệ thống của bạn ngừng retry.
5. Giải phóng cuộc gọi được giữ
Phân giải phê duyệt không replay cuộc gọi tool cho bạn — nó nâng cổng để agent của bạn có thể phát lại nó. Agent runtime:- Poll trạng thái của lần giữ tại
GET /api/v1/firewall/approvals/:id(một key phạm-vi-firewall-gateway, không phải relay key hay session console của bạn) cho đến khi nó rờipending. - Khi
approved, gửi lại cuộc gọi tool gốc mang một headerX-OrcaRouter-Firewall-Approvaldùng-một-lần — gateway cho cuộc gọi đó đi qua và token được tiêu.
Nếu quy tắc bên dưới được chỉnh sửa sau khi cuộc gọi được giữ,
hàng đợi Approvals gắn cờ rằng quy
tắc đã thay đổi kể từ đó và nén mệnh đề “held because…” giờ-đã-cũ, nên một
người duyệt console không hành động trên xuất xứ không còn khớp cái đã giữ cuộc
gọi.
6. Xác minh việc nối dây
Một kiểm tra đầu-cuối nhanh trước khi bạn phụ thuộc vào nó:| Bước | Làm gì | Kỳ vọng |
|---|---|---|
| Giữ một cuộc gọi | Kích hoạt một quy tắc với một verdict pending_approval | 400 firewall_approval_pending |
| Thông báo | Quan sát endpoint của bạn | POST firewall.approval.pending có chữ ký đến |
| Callback | POST một { "decision": "approved" } có chữ ký | 200 với trạng thái đã phân giải |
| Chặn replay | POST callback lần nữa | 200, đã phân giải (không áp-dụng-kép) |
7. Cái này khớp vào đâu
Phân giải phê duyệt
Đường người duyệt console và toàn bộ vòng đời cuộc-gọi-được-giữ.
Verdict
Nơi
pending_approval đến từ đâu và cách nó kết hợp với các verdict khác.Gateway key
Tạo key phạm-vi-firewall-gateway mà luồng poll + gửi-lại cần.
Quyền tự quyết quá mức
Mối đe dọa mà các cổng con-người-trong-vòng-lặp được xây để kiềm chế.
