Skip to main content
מדיניות מותאמות הופכות דפוס כשל מהעקיבות או הביקורות שלך להחלטה שפועלת בזמן שסוכן עובד. מדיניות יכולה לאשר פעולה, לתת הנחיה לסוכן, או לכל הפחות לדחות את הפעולה לפני שהיא גורמת לתקادם נוסף. השתמש במדיניות מותאמת כאשר ההתנהגות תלויה בכלים שלך, בנתיבים, בפקודות, בסביבות או בכללי התפעול. בדוק את קטלוג המדיניות המובנה תחילה כדי שלא תיצור מחדש בקרה קיימת.

כתוב מדיניות מותאמת

  1. עבור ל Admin → policy editor, בחר New policy והתאר את הכשל שאתה רוצה למנוע.
  2. הוסף את קוד המדיניות, ואז בדוק התאמות צפויות וא-התאמות בטוחות בעורך. פתור כל שגיאת אימות.
  3. שמור את הטיוטה ובחר Publish version כדי ליצור גרסה בלתי ניתנת לשינוי.
  4. עבור ל Admin → enforcement, פרוס את הגרסה על מכונת בדיקה במצב observe, ואימת את ההחלטות שלה תחת Observe → policy לפני שאתה אוכפה אותה. עורך המדיניות המשמש לכתיבה והפרסום של מדיניות מותאמת.

התחל עם כלל צר

מדיניות זו חוסמת פקודות Kubernetes הרסניות רק כאשר הפקודה מכוונת לייצור. הכל מחוץ לדפוס כשל זה בדיוק מחזיר allow().
מדיניות טובות מספיק צרות כדי להסביר במשפט אחד. התאם את הפעולה הנצפית — לא הכוונה שאתה מקווה שהסוכן היה בעל — וחזור allow() ברגע שהכלל אינו חל.

בחר החלטה

כתוב את הסיבה לסוכן שחייב להתאושש. הסבר מה התגלה ומה הוא אמור לעשות במקום זאת.
אל תשתמש ב instruct() לגבול בטיחות. מסירת הנחיות משתנה בהתאם להשקת הסוכן. השתמש ב deny() כאשר יש למנוע את הפעולה.

אובייקט מדיניות

סנן כלים בתוך fn. match.toolNames אינו חלק מסוג המדיניות המותאמת הציבורי.

הקשר מדיניות

כל מדיניות מקבלת PolicyContext. התייחס לכל ערך אופציונלי כבר-אופציונלי באמת. גרסאות סוכן וסוגי אירועים אינם מספקים את אותם שדות.

קלטים כלים נפוצים

Failproof AI מנרמל כלים נפוצים בהשקות נתמכות כך שמדיניות יכולה בדרך כלל להשתמש בצורת קלט אחת. השתמש בהסכמה הגנה משום שערכי קלט כלים מוקלדים כ unknown:

בחר את האירוע

זמינות אירועים והתנהגות חסימה תלויים בהשקת סוכן. ראה סוכן harnesses לפני שאתה מסתמך על אירוע בקfleet מעורב.
SessionStart, SessionEnd, UserPromptSubmit, PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, Notification, SubagentStart, SubagentStop, TaskCreated, TaskCompleted, Stop, StopFailure, TeammateIdle, InstructionsLoaded, ConfigChange, CwdChanged, FileChanged, WorktreeCreate, WorktreeRemove, PreCompact, PostCompact, Elicitation, ElicitationResult, UserPromptExpansion, PostToolBatch ו Setup.

כתוב דפוסי מדיניות נפוצים

חסום כתיבות לנתיבים מוגנים

תן הנחיה שאינה חוסמת

סגור השלמת סשן

אירוע Stop מדחה יכול לגרום לסוכן להתנסות מחדש. סגור רק בתנאי שהסוכן יכול להשביח בסביבה הנוכחית, וקשור כל קריאת תהליך משנה או רשת.

קובצי מדיניות טעינה

קובצי קונבנציה

קובצי קונבנציה נטענים באופן אוטומטי:
  • ספריות מדיניות פרויקט ומשתמש נטענות שתיהן.
  • קובצים נטענים בסדר אלפביתי בתוך כל ספרייה.
  • קובץ חייב להסתיים ב policies.js, policies.mjs או policies.ts.
  • קריאות customPolicies.add() מרובות בקובץ אחד נתמכות.
  • ייבואים יחסיים מודולים מקומיים נתמכים.
  • מדיניות פרויקט יכולה להיות מחויבת כך שאותם כללים עוקבים את המילון.

קובצים מפורשים

השתמש בנתיבים מפורשים כאשר אימות או תצורה צריכה לשם ישירות את קובץ הכניסה:
קובצים מפורשים נטענים ראשון, ואחריו קובצי קונבנציה פרויקט ואחריו קובצי קונבנציה משתמש. קובץ שהתגלה דרך שתי הנתיבים נטען פעם אחת.

אימות וביקורת

אימות מבצע את המודול דרך מנקה הייצור ומאשר שהוא רושם לפחות מדיניות אחת.
אימות תופס קבצים חסרים, שגיאות תחביר, ייבואים לא פתורים, חריגות ברמה העליונה וזמן פתיחת מודול. זה לא מוכיח שההיגיון התאמה שלך נכון. בדוק לפחות במקרים אלה:
  • פעולה אחת שחייבת להתאים והפיק את סיבת המדיניות המיועדת.
  • פעולה קרובה אך בטוחה שחייבת להחזיר allow().
  • שדות כלים חסרים או מעוותים.
  • תחביר פקודות, נתיבים, ציטוטים, טבעות והוא לבן חלופי.
  • תהליך משנה או תלות רשת לא זמינה.
יחס את התוצאה למדיניות המותאמת שלך תחת Observe → policy. בדיקה חסומה אינה מספיקה אם מדיניות מובנית שונה קיבלה את ההחלטה.

התנהגות ריצה

  • מדיניות מובנית מוערכת לפני מדיניות מותאמת.
  • ה deny ראשון מפסיק הערכה מדיניות נוספת.
  • תוצאות instruct מרובות יכולות להיות משולבות כאשר אין מדיניות מכפה את האירוע.
  • לפונקציה מדיניות יש פקדונון הרצה של 10 שניות.
  • יוצא חריג או פגיעה מתעד וטוען כ allow().
  • קובץ קונבנציה שלא נטעונה משודך; קבצים מותאמים וחוקים מובנים אחרים ממשיכים.
  • טעינת מודול ברמה העליונה יש גם לפקדונון 10 שניות.
  • מצב התבוננות ענן מפעיל את המדיניות אך מקליט החלטה שאינה כל משדר ללא הטלה.
שמור על מודולי מדיניות דטרמיניסטיים ומהיר. תרחק מקריאות רשת ברמה עליונה או התחלת שרת. עבודה כבולה בתוך fn, תופס כשלי תלות, ובחר במודע אם כך כשל צריך לאשר או לכפות את הפעולה.

ייצוא API

TypeScript מייצא PolicyContext, PolicyResult, CustomHook, PolicyDecision ו PolicyFunction.

פרוס מדיניות מותאמות

פרסם גרסה, פרוס אותה במצב התבוננות, אימת החלטות, ועבור לאכיפה.