Policy Rules
สร้างและจัดการ policy rule ที่ใช้ CEL เพื่อควบคุมพฤติกรรมของเครื่องมือ AI
Policies คือกฎที่ Edison Watch ประเมินต่อการเรียกใช้เครื่องมือ AI ทุกครั้งแบบเรียลไทม์ สามารถบล็อกการกระทำ ติดแท็กเซสชัน ตั้งค่าระดับ access-control และอื่นๆ - ทั้งหมดโดยไม่ต้องเปลี่ยนการกำหนดค่าเครื่องมือ AI
มุมมอง Policies
ไปที่ Policies ในแถบด้านข้าง หน้าถูกแบ่งเป็นสองแผง:
- แถบด้านข้างซ้าย - รายการกฎทั้งหมด จัดกลุ่มตามสถานะ พร้อมช่องค้นหา
- แผงขวา - รายละเอียดของกฎที่เลือก
แถบสรุปที่ด้านบนของแถบด้านข้างแสดงจำนวนกฎ enabled, tentative และ disabled ได้ในพริบตา
สถานะของกฎ
| สถานะ | ความหมาย |
|---|---|
| enabled | กฎทำงานและถูกบังคับใช้กับการเรียกใช้เครื่องมือที่ตรงกันทั้งหมด |
| tentative | กฎถูกประเมินแต่เพียงบันทึก - ไม่ได้ใช้การกระทำ มีประโยชน์สำหรับการทดสอบกฎใหม่อย่างปลอดภัย |
| disabled | กฎถูกเก็บไว้แต่ไม่ถูกประเมิน |
Phase ของกฎ
แต่ละกฎทำงานในหนึ่งในสอง phase:
| Phase | เมื่อไหร่ที่ทำงาน | พฤติกรรมการบล็อก |
|---|---|---|
| pre | ก่อนการเรียกใช้เครื่องมือทำงาน | ป้องกันการทำงาน |
| post | หลังจากการเรียกใช้เครื่องมือเสร็จ; result ของเครื่องมือพร้อมใช้งานใน expression | การเรียกทำงานไปแล้ว - result จะถูกแทนที่ด้วย error ก่อนส่งกลับไปยัง AI เพื่อป้องกันการลักลอบนำข้อมูลที่ละเอียดอ่อนออก |
บริบท CEL Expression
กฎถูกเขียนด้วย CEL (Common Expression Language) Expression ประเมินต่อ top-level object สี่รายการที่แสดงการเรียกใช้เครื่องมือปัจจุบัน:
| ตัวแปร | ฟิลด์ | หมายเหตุ |
|---|---|---|
principal | user_id, email, roles | ผู้ใช้ที่ทำการเรียก roles เป็นรายการชื่อบทบาทแบบกำหนดเอง |
resource | type, name, server | สิ่งที่กำลังเรียก type เป็น "tool", "resource" หรือ "prompt" |
tool | args, input_schema, output_schema, result | result จะถูกกรอกเฉพาะใน phase post |
session | has_private_data_access, has_untrusted_content_exposure, has_external_communication, highest_acl_level, tool_history, tags | สถานะเซสชันปัจจุบัน รวมถึงแฟล็ก Lethal Trifecta ทั้งสาม |
หาก expression ประเมินเป็น true การกระทำของกฎจะถูกใช้
Actions
| Action | ผล |
|---|---|
block | ป้องกันการเรียกใช้เครื่องมือไม่ให้ทำงานและส่ง error กลับไปยัง AI |
mark_private | ตั้งแฟล็กเซสชันว่ามีข้อมูลส่วนตัว |
mark_untrusted | ตั้งแฟล็กเซสชันว่ามีเนื้อหาภายนอกที่ไม่น่าเชื่อถือ |
mark_write | ตั้งแฟล็กเซสชันว่าได้ทำการเขียน |
set_acl | ตั้งค่าระดับ ACL ของเซสชัน (PUBLIC, PRIVATE หรือ SECRET) |
add_tag | เพิ่มแท็ก key-value ลงในเซสชันสำหรับการกรองและการตรวจสอบ |
allow_override | อนุญาตการเรียกอย่างชัดเจนแม้ว่ากฎอื่นๆ จะบล็อก |
ขอบเขตของกฎ
กฎสามารถถูกจำกัดขอบเขตไปยัง principal และ resource เฉพาะ:
- Principal scope - กำหนดเป้าหมายผู้ใช้ทั้งหมดในระดับ global บทบาทเฉพาะ หรือผู้ใช้เฉพาะ
- Resource scope - กำหนดเป้าหมายเซิร์ฟเวอร์เฉพาะ ประเภท element (tools/resources/prompts) หรือรูปแบบชื่อ
กฎที่ไม่มีขอบเขตจะใช้กับ principal และ resource ทั้งหมด
ลำดับความสำคัญและการ Override
เมื่อมีกฎหลายข้อที่ตรงกับการเรียกใช้เครื่องมือเดียวกัน การกระทำของกฎที่ตรงกันทุกข้อจะถูกใช้ ลำดับความสำคัญควบคุมว่า block และ allow_override โต้ตอบกันอย่างไร:
blockจะถูกยกเลิกก็ต่อเมื่อกฎallow_overrideที่ตรงกันมีลำดับความสำคัญเท่ากันหรือสูงกว่า- มิฉะนั้น block จะชนะ
| กฎที่ตรงกัน | ลำดับความสำคัญ | ผลลัพธ์ |
|---|---|---|
block + allow_override | 100 vs. 100 | ✅ อนุญาต (override ≥ block) |
block + allow_override | 100 vs. 99 | ❌ ถูกบล็อก (override < block) |
block เดี่ยว | ใดก็ได้ | ❌ ถูกบล็อก |
Action ที่ไม่ใช่ block (mark_*, set_acl, add_tag) ถูกใช้เมื่อใดก็ตามที่กฎตรงกันและไม่ได้รับผลกระทบจากการ resolve นี้
การสร้าง Policy
- คลิก Create Policy ในแถบด้านข้างซ้าย
- เลือกเทมเพลตจาก template picker หรือเริ่มจากศูนย์
- กรอกชื่อกฎ CEL expression phase ลำดับความสำคัญ action และขอบเขต
- บันทึกกฎ
การทดสอบกฎก่อนเปิดใช้งาน
ตัวแก้ไขกฎมีแผง evaluate ที่เรียกใช้ CEL expression ของคุณต่อบริบทสังเคราะห์ - principal, resource, tool args และแฟล็กเซสชัน - โดยไม่ต้องบันทึกกฎ ใช้เพื่อยืนยันว่า expression ตรงกับกรณีที่คุณคาดหวังและเพื่อดูว่า action ใดจะทำงาน
สำหรับการเปิดตัวแบบค่อยเป็นค่อยไปกับทราฟฟิกจริง ให้บันทึกกฎด้วยสถานะ tentative การตรงกันจะถูกบันทึกที่ฝั่ง server เป็น ⚠️ TENTATIVE match - would apply actions: ...; ยังไม่มีมุมมอง dashboard เฉพาะสำหรับ tentative hit ในปัจจุบัน ดังนั้นให้ตรวจสอบ server log หรือ SIEM ของคุณ เลื่อนกฎเป็น enabled เมื่อคุณมั่นใจ
การแก้ไขและการลบ
เลือกกฎในแถบด้านข้าง จากนั้นคลิก Edit หรือ Delete ในแผงรายละเอียด

