cap_cost، ولماذا audit هو الافتراضي الذي
تبدأ منه.
لمكان عيش الأحكام في قواعد القواعد انظر
قواعد جدار الحماية؛ ولاختيار حكم افتراضي أثناء
إنشاء سياسة انظر إنشاء وربط.
1. أحكام القواعد الستة
تنتج القاعدة حكماً واحداً بالضبط من ستة. ألّفها في محرر القواعد بوحدة التحكم؛ يجتاز المحرك القواعد بترتيب الأولوية وأول مطابقة تفوز.allow — مرّر الاستدعاء، مسجَّلاً
allow — مرّر الاستدعاء، مسجَّلاً
يمضي الاستدعاء دون مساس. لا يزال يهبط في
تغذية الأحداث كـ
allow، فتحتفظ بمسار
تدقيق دون حجب أي شيء. استخدمه كتصريح صريح في سياسة حجب افتراضي.audit — اسمح، لكن سجّله للمراجعة
audit — اسمح، لكن سجّله للمراجعة
نتيجة حركة مرور مطابقة لـ
allow، لكن الاستدعاء معلّم كشيء أردت مراقبته.
هذه أيضاً القيمة التي يهبط عليها الحكم الافتراضي خارج الصندوق — راقب
كل شيء، لا تحجب شيئاً، حتى تكون مستعداً للفرض.deny — احجب الاستدعاء
deny — احجب الاستدعاء
لا يصل الاستدعاء إلى الأداة أبداً. على سطح
inbound يعيد الترحيل
HTTP 400 برمز خطأ firewall_blocked، يسمّي الأداة والسبب؛ وعلى سطح
mcp يعود كـ خطأ أداة فيمكن للنموذج التفاعل. انظر
كيف يبدو الحجب.sanitize — نقّح الوسائط، ثم مرّر
sanitize — نقّح الوسائط، ثم مرّر
ينقّح السلاسل الفرعية المطابقة من وسائط استدعاء الأداة (سر أو PII
وضعه الوكيل في حقل
command أو body) ويعيد توجيه الاستدعاء المنظَّف.
ينقّح الوسائط فقط — وليس أبداً المحتوى الذي تعيده أداة. على سطح inbound
لا توجد وسائط استدعاء بعد، فـ sanitize يتصاعد إلى deny. انظر
تطهير الاستجابات.pending_approval — علّق لإنسان
pending_approval — علّق لإنسان
يحوّل الاستدعاء إلى مراجعة خارج النطاق. يعيد الترحيل HTTP 400 برمز
firewall_approval_pending ومعرّف موافقة؛ لا يصل الاستدعاء إلى الأداة.
يحلّه مراجِع في وحدة التحكم أو عبر استدعاء webhook، ويعيد الوكيل التقديم
بترويسة موافقة أحادية الاستخدام. انظر
الموافقات.cap_cost — احجب بمجرد تجاوز سقف الإنفاق
cap_cost — احجب بمجرد تجاوز سقف الإنفاق
قاطع دائرة للتكلفة — مؤلَّف كقاعدة لكنه يُحَل إلى
allow أو deny وقت
التقييم. انظر §3 و
سقف التكلفة.وضع الظل يسطّح الفرض. في وضع الظل،
يُخفَّض كل حكم فارض (
deny وsanitize وpending_approval وcap_cost الذي
حُلّ إلى deny) إلى audit ويُسبَق السبب بـ [shadow] would …. اطرح سياسة
فارضة بهذه الطريقة وراقب تغذية الأحداث قبل أن تقلبها للوضع الحي.2. الحكم الافتراضي
الحكم الافتراضي (default_verdict على السياسة) هو ما تفعله السياسة عندما
لا تطابق أي قاعدة استدعاء أداة. إنه أرضية موقفك، وخلافاً لحكم القاعدة يقبل
ثلاث قيم فقط:
default_verdict | عندما لا تطابق أي قاعدة… |
|---|---|
audit (الافتراضي) | اسمح بالاستدعاء، لكن سجّله. المكان الآمن للبدء. |
allow | اسمح وسجّل، بلا سجل مراجعة. |
deny | احجب أي شيء لا تسمح به قاعدة صراحةً — موقف حجب افتراضي. |
audit: ترصد كل استدعاء أداة ولا تحجب شيئاً حتى
تضيف قواعد فارضة. الأحكام الثلاثة الخاصة بالقواعد فقط — sanitize
وpending_approval وcap_cost — لا يمكن أن تكون افتراضية؛ الحكم
الافتراضي تراجع شامل، وتلك الأحكام لا معنى لها إلا ضمن نطاق مطابقة محددة.
3. cap_cost يُحَل إلى allow أو deny
cap_cost هو الحكم الوحيد الذي ليس هو ما يظهر في أحداثك. تؤلّف قاعدة بسقف
cap_cost_cents، لكن وقت التقييم يحلّها المحرك إلى allow أو deny
ملموس قبل تسجيل الحدث — فلا تحمل تغذية الأحداث
أبداً حكم cap_cost حرفياً، بل فقط allow/deny الذي رآه الوكيل فعلاً.
السقف هو لكل تشغيل وكيل: يقارن المحرك الإنفاق المتراكم للتشغيل بسقفك.
- تحت السقف ← يُحَل إلى
allow. (داخلياً يُعامَل هذا كـ غير مطابق، فيستمر التقييم إلى القاعدة التالية بدلاً من السماح لـcap_costبالفوز بأول مطابقة كمنحة.) - فوق السقف ← يُحَل إلى
deny، بسبب يسمّي إجمالي التشغيل مقابل السقف. هذه النتيجة النهائية، نتيجة قاطع الدائرة.
4. كيف يُختار حكم
لأي استدعاء أداة، الحل نفسه بغض النظر عن أي حكم يفوز:1. حل السياسة
1. حل السياسة
تختار البوابة السياسة المرتبطة بالمفتاح المستدعي (
firewall_policy_id)،
أو افتراضي مساحة العمل — انظر
الحل.2. اجتياز القواعد، أول مطابقة تفوز
2. اجتياز القواعد، أول مطابقة تفوز
تعمل القواعد بترتيب
priority ASC. أول قاعدة يطابق سطحها، وglob الأداة،
وعبارات الوسائط الاختيارية، ونطاق egress الاختياري جميعاً تنتج الحكم.3. لا مطابقة ← الحكم الافتراضي
3. لا مطابقة ← الحكم الافتراضي
إذا لم تطابق أي قاعدة، ينطبق
default_verdict للسياسة — audit ما لم
تغيّره.4. فرض المهارة يركب فوق
4. فرض المهارة يركب فوق
إذا كان الاستدعاء مملوكاً لـمهارة محكومة،
فمهارة في وضع
block تفرض deny ومهارة في وضع quarantine تصعّد أي شيء
دون deny إلى pending_approval.5. سلوك التكلفة وإعادة المحاولة لـ deny
حكم جدار الحماية على سطحinbound يُطلق قبل استدعاء النموذج الأعلى، فـ
deny هناك لا يكلّف أي رموز نموذج. الخطأ معلّم بـ skip-retry — إعادة
تشغيل نفس الاستدعاء المحجوب ستحجب مجدداً فحسب، فتخبر البوابة العميل ألّا يعيد
المحاولة.
هذا متمايز عن حجب حاجز حماية،
الذي يفحص نص المطالبة/الاستجابة (PII، الأسرار) بدلاً من إجراءات الأدوات،
ويعيد خطأه الخاص guardrail_blocked. يمكن لطلب أن يمر عبر كلا المستويين.
كل حكم يترك أثراً. كل تقييم — allow، audit، deny، cap_cost المُحَل،
الموافقة المُعلَّقة — يُسجَّل كحدث جدار حماية، قابل للتصفية حسب الحكم والسطح
والأداة والتشغيل. تغذية الأحداث هي كيف تؤكّد أن سياسة تنتج الأحكام التي
تتوقعها. انظر سجل الأحداث و
التحليلات.
أين تذهب بعد ذلك
إنشاء وربط سياسة
اختر حكماً افتراضياً واربط سياسة بمفتاح.
سقف التكلفة
ألّف سقف إنفاق وكيف يُحَل لكل تشغيل.
وضع الظل
خفّض كل حكم فارض إلى audit بينما تقيس الأثر.
مرجع القواعد
لغة المطابقة الكاملة خلف حكم.
