الانتقال إلى المحتوى الرئيسي
لديك مفتاح يستخدمه وكيلك على api.orcarouter.ai، وتريد أن يُحكَم كل استدعاء أداة يصدره ذلك المفتاح — محجوب أو مدقَّق أو مطهَّر أو مُعلَّق للموافقة — دون لمس كود وكيلك. هذا إعداد جدار حماية الوكيل من خطوتين: أنشئ سياسة جدار حماية مرة واحدة، ثم وجّه المفتاح إليها. من الاستدعاء التالي فصاعداً، يُفحَص كل أداة يصدرها المفتاح مقابل السياسة في البوابة. هذه الصفحة هي مسار الإنشاء والربط. لنموذج السياسة الكامل (الأسطح، الأحكام، الحل) انظر نظرة عامة على جدار الحماية؛ ولقواعد القواعد انظر قواعد جدار الحماية.
كل ضبط للسياسة والمفتاح يحدث في وحدة التحكم (أو مسارات الإدارة /api/workspace/firewall/*، التي تستخدم جلستك / رمز الوصول — وليس مفتاح ترحيل sk-orca-…). فقط استدعاءات /v1/* لوكيلك تستخدم مفتاح الترحيل. إنشاء سياسة وربطها إجراء Developer+.

1. إعداد جدار حماية الوكيل في لمحة

سياسة جدار الحماية كائن مسمّى ضمن نطاق مساحة العمل: قائمة مرتبة من القواعد بالإضافة إلى حكم افتراضي لكل ما لا تطابقه أي قاعدة. ينضمّ مفتاح إلى سياسة عبر حقله firewall_policy_id. لا شيء آخر في حزمتك يتغيّر.

أنشئ السياسة

سمّها، اختر حكماً افتراضياً، أضف قواعد — أو ابذرها من مستوى استقلالية / إعداد مسبق وحرّر.

اربط مفتاحاً

اضبط firewall_policy_id للمفتاح على السياسة، أو علّم السياسة كافتراضي مساحة العمل فيرثها كل مفتاح غير مرتبط.

2. أنشئ سياسة في وحدة التحكم

  1. افتح Security → Firewall → Policies واختر New policy.
  2. سمّها (فريدة في مساحة العمل) واترك Enabled مفعّلاً.
  3. اختر حكماً افتراضياً — انظر §3.
  4. أضف قواعد في محرر القواعد، أو ابدأ فارغاً ودع الأدوات المكتشفة تقود التأليف من حركة المرور الحقيقية لاحقاً.
  5. احفظ. السياسة موجودة لكنها لا تحكم شيئاً حتى يوجّه إليها مفتاح أو تجعلها افتراضي مساحة العمل.
لا تريد تأليف القواعد يدوياً أولاً؟ طبّق مستوى استقلالية (balanced هو البداية الموصى بها) — يُجسّد صفوف سياسة وحواجز حماية حقيقية قابلة للتحرير يمكنك ضبطها بعد ذلك. أو ابدأ قاعدة من إعداد مسبق مدمج وحرّرها. في كلتا الحالتين تنتهي في نفس المكان: سياسة مسمّاة تربطها بمفتاح.

3. اختر الحكم الافتراضي

الحكم الافتراضي هو ما تفعله السياسة عندما لا تطابق أي قاعدة استدعاء أداة. إنه أرضية موقفك. يقبل ثلاث قيم بالضبط:
default_verdictعندما لا تطابق أي قاعدة…
audit (الافتراضي)اسمح بالاستدعاء، لكن سجّله. راقب كل شيء، لا تحجب شيئاً — المكان الآمن للبدء.
allowاسمح وسجّل، بلا سجل مراجعة.
denyاحجب أي شيء لا تسمح به قاعدة صراحةً — موقف حجب افتراضي تقرنه بقواعد سماح.
deny هو حجب افتراضي: أي استدعاء أداة لا تسمح به قواعدك صراحةً يُحجب. قوي، لكنه سيوقف استدعاءات نسيت إدراجها في قائمة السماح. اطرح سياسة حجب افتراضي تحت وضع الظل أولاً وراقب تغذية الأحداث قبل أن تفرضها.
الأحكام التي يمكن أن تنتجها قاعدة (allow وaudit وdeny وsanitize وpending_approval وcap_cost) مغطّاة في الأحكام — أما الحكم الافتراضي فمحدود بالثلاثة أعلاه.

4. اربط السياسة بمفتاح

ينضمّ مفتاح إلى سياسة عبر firewall_policy_id الخاص به. في وحدة التحكم:
  1. افتح Keys، وحرّر المفتاح الذي يستخدمه وكيلك.
  2. اضبط Firewall policy على السياسة التي أنشأتها (هذا يكتب firewall_policy_id).
  3. احفظ. الاستدعاء التالي الذي يصدره ذلك المفتاح يصبح محكوماً.
يعيش الربط على المفتاح، في البوابة — يبقى وكيلك يرسل نفس Authorization: Bearer sk-orca-… ونفس جسم الطلب. لا تغيير في كود استدعاء الأدوات لوكيلك.
# Your agent's relay call is unchanged. The attached policy is enforced
# at the gateway before any tool call in the response is dispatched.
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "delete the staging table"}],
    "tools": [{"type": "function", "function": {"name": "db.query"}}]
  }'
إذا رفضت قاعدة استدعاء أداة على سطح inbound، يعود ذلك الاستدعاء كـ HTTP 400 برمز firewall_blocked، يسمّي الأداة والسبب — انظر كيف يبدو الحجب.

5. الحل: المرتبطة ← افتراضي مساحة العمل

لأي استدعاء أداة، تحل البوابة أي سياسة تنطبق بهذا الترتيب:
إذا أشار firewall_policy_id للمفتاح المستدعي إلى سياسة موجودة ومفعّلة، تنطبق تلك السياسة.
وإلا تنطبق سياسة is_default المفعّلة لمساحة العمل (إذا ضُبطت واحدة). سياسة واحدة على الأكثر لكل مساحة عمل يمكن أن تكون الافتراضية؛ ترقية افتراضي جديد تُنزّل القديم في نفس المعاملة.
لا ربط ولا افتراضي يعني لا سياسة. مع وضع observe مفعّلاً يُسمح بالاستدعاء ويُسجَّل كثغرة تغطية؛ ومع إطفائه يُسمح بالاستدعاء صامتاً.
سياسة مرتبطة معطّلة تتراجع إلى افتراضي مساحة العمل — لا تطفئ الفرض. (هذا يختلف عن حواجز الحماية، حيث يُحَل ربط معطّل إلى لا شيء.) لإخراج مفتاح من نطاق جدار الحماية، افصله (اضبط firewall_policy_id على 0)، ولا تعطّل سياسته فحسب.
لجعل سياسة الافتراضية لكل مفتاح غير مرتبط، حرّرها واضبطها كافتراضي مساحة العمل بدلاً من ربط المفاتيح واحداً تلو الآخر — انظر إدارة السياسات.

6. تحقّق من أنها نفذت

قبل الاعتماد عليها، أكّد أن السياسة تُطلق بالطريقة التي تتوقعها:
  • اختبرها — صندوق رمل تبويب Test يجري السياسة تجريبياً مقابل استدعاء أداة عينة ويعيد الحكم، والقاعدة المطابقة، والسبب. لا يُرسَل ولا يُحفظ شيء. انظر اختبار القواعد.
  • راقب تغذية الأحداث — بمجرد أن يأخذ المفتاح حركة مرور حية، الأحداث تعرض كل تقييم، قابلاً للتصفية حسب الحكم والسطح والأداة والتشغيل.
اطرح أي سياسة فارضة خلف وضع الظل أولاً: تقيّم وتسجّل تماماً كما ستفعل في الإنتاج، لكن تخفّض كل حكم فارض إلى audit وتسبق السبب بـ [shadow] would …. أطفئ وضع الظل بمجرد أن تُظهر تغذية الأحداث أنها تُطلق على ما تتوقعه ولا شيء لا تتوقعه.

أين تذهب بعد ذلك

تأليف القواعد

لغة المطابقة الكاملة — globs الأدوات، عبارات الوسائط، قوائم egress، المُطهّرات.

قائمة السماح للأدوات

اقرن حكماً افتراضياً deny بقواعد سماح صريحة.

إدارة السياسات

الافتراضيات، التفعيل/التعطيل، الإصدارات، والتراجع.

لماذا انعدام الثقة

لماذا يهم حكم الإجراءات — وليس النص فحسب — للوكلاء.
للتهديدات التي يُقصَد بسياسة إيقافها، انظر استدعاءات الأدوات الخطرة و الوكالة المفرطة.