הגדרת הגנה מוגברת על המודל בשער

‫Model Armor עוזר לכם לוודא שסוכני ה-AI שלכם עומדים בתקני האבטחה והמשילות שלכם, בלי שתצטרכו להטמיע לוגיקה של סינון ישירות בסוכנים. כשמגדירים את Model Armor עם Agent Gateway, המערכת בודקת את כל ההנחיות והתשובות שעוברות דרך השער, וכך אוכפת את ההנחיות של הארגון בנוגע לאבטחת תוכן. התכונה הזו מאפשרת לאכוף באופן עקבי אמצעי הגנה על התוכן בכל הסוכנים הכפופים לשער. ‫הגנה מוגברת על המודל עוזרת לצמצם סיכונים כמו החדרת פרומפטים, ניסיונות לפריצת המודל, דליפה של מידע רגיש ויצירה של תוכן מזיק. מידע נוסף זמין במאמר בנושא מסנני הגנה מוגברת על המודל.

תבניות של הגנה מוגברת על המודל

כדי להגדיר את הגנה מוגברת על המודל בשער, צריך ליצור תבניות שמציינות איך לסנן את הפרומפטים והתשובות שסוכני ה-AI מקבלים ומחזירים. התבניות מספקות מסננים וערכי סף מותאמים אישית למספר קטגוריות של בטיחות ואבטחה. מידע נוסף זמין במאמר בנושא תבניות Model Armor.

‫Model Armor משבץ יכולות סינון ישירות בנתיבי התקשורת שמנוהלים על ידי Agent Gateway. כשמעבירים את התוכן דרך Model Armor, שער הכניסה אוכף את תבניות אבטחת התוכן. בתבנית, אפשר להגדיר את הגנה מוגברת על המודל כדי לצנזר או לחסום תוכן שמפר את התבניות.

תעבורת נתונים נכנסת (ingress) ויוצאת (egress)

באמצעות Agent Gateway, ‏ Model Armor יכול לעזור להגן על זרימות התנועה הבאות.

לקוח לנציג (כניסה של נציג)

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

הגנה מוגברת על המודל פועלת לפי התבניות כשבודקים את הפריטים הבאים:

  • בקשות נכנסות מהלקוח (משתמשי קצה או אפליקציות שמתקשרות) לסוכן ה-AI
  • תשובות יוצאות מסוכן ה-AI בחזרה ללקוח

כשלקוח שולח הנחיה לסוכן, Agent Gateway מיירט את התנועה ושולח את מטען הנתונים ל-Model Armor כדי לבצע סניטציה. אם Model Armor מנפיק פסק דין ALLOW, Agent Gateway שולח את ההנחיה לסוכן ה-AI. אם Model Armor מנפיק פסק דין BLOCK, הלקוח מקבל שגיאה והתהליך מסתיים לפני שהוא מגיע לסוכן ה-AI.

אחרי שסוכן ה-AI מעבד את הבקשה ומפיק תשובה, Agent Gateway מיירט את הזרם היוצא לפני שהוא מגיע ללקוח. ‫Model Armor מעריך את התשובה ומנפיק פסק דין. בהתאם לתוצאת הבדיקה, Agent Gateway מאשר את התשובה או חוסם אותה לחלוטין.

Agent-to-Anywhere (יציאה של סוכן)

אתם מגדירים תבניות ש-Model Armor משתמש בהן כדי להעריך בקשות ותשובות בתנועה של Agent-to-Anywhere. אפשר להחיל תבנית אחת על שני הכיוונים או להגדיר תבניות שונות לכל כיוון.

‫הגנה מוגברת על המודל פועלת לפי התבניות כשבודקים תקשורת בין סוכן ה-AI שלכם לבין מערכות חיצוניות, כולל:

  • מודלים גדולים של שפה (LLM) חיצוניים
  • סוכני AI של צד שלישי
  • שרתים של Model Context Protocol‏ (MCP)

כשסוכן AI מתקשר עם מערכת חיצונית, Agent Gateway מיירט את תעבורת היציאה וקורא ל-Model Armor. ‫Model Armor מעריך את מטען הנתונים בהתאם לתבניות היציאה שהגדרתם.

אם הנתונים היוצאים מפרים את מדיניות הבטיחות שלכם, הגנה מוגברת על המודל מנפיק פסק דין של BLOCK. לאחר מכן, Agent Gateway מנתק את החיבור כדי למנוע ממידע אישי רגיש או מזיק להגיע ל-LLM, לכלי או לסוכן AI חיצוני.

לפני שמתחילים

מפעילים את הגנה מוגברת על המודל API, אם הוא עדיין לא מופעל.

תפקידים שנדרשים להפעלת ממשקי API

כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

להפעלת ה-API

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת תבניות של Model Armor, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של Model Armor (roles/modelarmor.admin) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

במאמר התפקידים הנדרשים במסמכי התיעוד של Agent Gateway מפורטים התפקידים שנדרשים כדי לעבוד עם Agent Gateway.

מידע על מטען ייעודי (payload) נתמך ולא נתמך שעובר דרך השער מופיע בקטע מטען ייעודי (payload) נתמך ולא נתמך במאמר הזה.

הגדרת הגנה מוגברת על המודל בשער

כדי להגדיר את Model Armor בשער, מבצעים את השלבים הבאים:

  1. מפעילים את Model Armor API בפרויקט שבו רוצים ליצור את תבניות Model Armor.
  2. יוצרים תבנית הגנה מוגברת על המודל אחת או יותר באותו אזור שבו מתכננים להוסיף את השער. אפשר להשתמש באותה תבנית גם לתעבורת נתונים נכנסת וגם לתעבורת נתונים יוצאת.

    רושמים את שמות התבניות. כדי להעתיק את השם של תבנית בCloud de Confiance מסוף, מציגים את פרטי התבנית ולוחצים על העתקה ללוח לצד שם התבנית.

  3. מגדירים את Agent Gateway באותו אזור שבו מאוחסנות התבניות של הגנה מוגברת על המודל. בשער Client-to-Agent (ingress) ‎, מציינים את תבניות Model Armor שיצרתם לתנועת נתונים נכנסת. בשדה Agent-to-Anywhere (egress) gateway (שער יציאה מסוכן), מציינים את תבניות Model Armor שיצרתם לתנועת נתונים יוצאת. אפשר להשתמש באותה תבנית לשני סוגי התנועה.

  4. מקצים את תפקידי ה-IAM הנדרשים לסוכני השירות המתאימים:

    • Client-to-Agent (ingress): נותנים לסוכן השירות AI Platform Reasoning Engine Service Agent את התפקידים הבאים:

      • התפקיד Model Armor Callout User (roles/modelarmor.calloutUser) בפרויקט שמכיל את סוכן ה-AI.

      • התפקיד 'משתמש בהגנה מוגברת על המודל' (roles/modelarmor.user) בפרויקט שמכיל את תבנית ההגנה המוגברת על המודל.

      gcloud projects add-iam-policy-binding AGENT_RUNTIME_PROJECT_ID \
          --member=serviceAccount:service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform-re.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.calloutUser
      gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \
          --member=serviceAccount:service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform-re.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.user
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫AGENT_RUNTIME_PROJECT_ID: מזהה הפרויקט שבו יצרתם את הסוכן.
      • AGENT_RUNTIME_PROJECT_NUMBER: מספר הפרויקט שבו יצרתם את הסוכן.
      • ‫MODEL_ARMOR_PROJECT_ID: מזהה הפרויקט שמכיל את תבנית הגנה מוגברת על המודל.
    • Agent-to-Anywhere (יציאה): מקצים לסוכן השירות Service Extensions את התפקידים הבאים:

      • התפקידים Model Armor Callout User ‏ (roles/modelarmor.calloutUser) ו-Service Usage Consumer ‏ (roles/serviceusage.serviceUsageConsumer) בפרויקט שמכיל את השער.
      • התפקיד Model Armor User (roles/modelarmor.user) בפרויקט שמכיל את תבנית Model Armor.
      gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
          --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.calloutUser
      gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
          --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.s3ns-system.iam.gserviceaccount.com \
          --role=roles/serviceusage.serviceUsageConsumer
      gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \
          --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.user
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫GATEWAY_PROJECT_ID: מזהה הפרויקט שבו יצרתם את שער הגישה.
      • ‫GATEWAY_PROJECT_NUMBER: מספר הפרויקט שבו יצרתם את שער הנתונים.
      • ‫MODEL_ARMOR_PROJECT_ID: מזהה הפרויקט שמכיל את תבנית הגנה מוגברת על המודל.

      הוראות מפורטות מופיעות במאמר בנושא העברת הרשאה ל-הגנה מוגברת על המודל.

    מידע כללי על הקצאת תפקידים מופיע במאמר הקצאת תפקיד יחיד ב-IAM.

אופציונלי: בדיקת אימות של תבנית לפני הפריסה

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

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

צנזור מידע אישי רגיש מבקשות ותשובות

אתם יכולים להנחות את Model Armor לצנזר מידע אישי רגיש – כמו מספרי תעודות זהות ומספרי טלפון – ממטענים. כדי להשתמש בתכונה הזו, פועלים לפי השלבים הבאים:

אם משתמשים בסוג האכיפה INSPECT_AND_BLOCK, אחד מהמקרים הבאים יקרה:

  • אם מטען ייעודי (payload) מפר רק את הגלאי של Sensitive Data Protection,‏ הגנה מוגברת על המודל מצנזר את המטען הייעודי בהתאם להגדרות המתקדמות של Sensitive Data Protection ולתבנית של הסרת פרטי הזיהוי.

  • אם מטען ייעודי (payload) מפר כמה כללי זיהוי, Model Armor לא יבצע צנזורה, אלא יחסום את המטען הייעודי כולו.

אם משתמשים בסוג האכיפה INSPECT_ONLY במקום INSPECT_AND_BLOCK,‏ Model Armor לא מצנזר את מטען הנתונים.

ללא קשר לסוג האכיפה (INSPECT_ONLY או INSPECT_AND_BLOCK), היומנים של הגנה מוגברת על המודל מצונזרים בהתאם להגדרות המתקדמות שלכם ל-Sensitive Data Protection ולתבנית של הסרת פרטים מזהים.

רשימה מלאה של גלאי הגנה מוגברת על המודל (שנקראים גם מסננים) זמינה במאמר מסנני הגנה מוגברת על המודל.

מטען ייעודי (payload) נתמך ומטען ייעודי לא נתמך

בקטע הזה מפורטים סוגי ה-payloads שמערכת הגנה מוגברת על המודל מנקה.

תנועת גולשים (נכנסת) מלקוח לנציג

בתעבורת נתונים נכנסת (ingress) מלקוח לסוכן באמצעות פרוטוקול ADK,‏ הגנה מוגברת על המודל מבצע סניטציה רק reasoningEngines.streamQuery של בקשות ותשובות של סוכנים שנוצרו באמצעות ערכה לפיתוח סוכנים (ADK) ופועלים ב-Vertex AI Agent Engine.

כל שאר המטענים הייעודיים (payloads) של ReasoningEngine ותשובות השגיאה של ReasoningEngine לא נשלחים ל-Model Armor. גם מטען ייעודי (payload) שאינו ADK (כמו מטען ייעודי של Langchain) לא נשלח להגנה מוגברת על המודל.

תעבורת נתונים (יוצאת) מסוכן לכל מקום

במקרה של תנועה מסוג Agent-to-Anywhere (יציאה), המטענים הייעודיים (payloads) הבאים נתמכים.

מטענים ייעודיים (payloads) של A2A

‫הגנה מוגברת על המודל מנקה רק את המטענים הייעודיים (payloads) הבאים של פרוטוקול A2A v1:

‫Model Armor מאפשר את המטענים הייעודיים (payloads) הבאים של A2A ללא ניקוי:

מטענים ייעודיים (payloads) של MCP

‫הגנה מוגברת על המודל מבצע סניטציה רק במטענים הייעודיים (payloads) הבאים של MCP:

  • בקשת tools/call ותשובה
  • בקשת prompts/get ותשובה
  • שגיאות בהרצת כלי ה-MCP (יעד להחדרת הנחיות על ידי יוצרים של כלי MCP זדוניים)

התכונה הגנה מוגברת על המודל מאפשרת את מטען הייעודי (payload) הבא ללא ניקוי:

  • tools/list
  • resources/*
  • notifications/*
  • ‫HTTP/SSE שניתן להזרמה עבור MCP
  • שגיאות בפרוטוקול MCP (לדוגמה, כל השגיאות מלבד שגיאות בהרצת כלי)

מטענים ייעודיים (payloads) של מודלים חיצוניים של שפה גדולה (LLM)

‫הגנה מוגברת על המודל מבצע סניטציה רק במטענים הייעודיים (payloads) הבאים של פרוטוקול OpenAI API (תעבורת נתונים יוצאת), שכולל מודלים של GPT ב-openai.com וגם מודלים אחרים דרך שרתי LLM שתואמים ל-OpenAI API (כמו vLLM). מותר להשתמש במטענים ייעודיים (payloads) שלא מופיעים כאן בלי לבצע בהם ניקוי.

בדיקת מסמכים

השילוב הזה לא תומך בהסרת פרטים מזהים מהנחיות ומתשובות שמכילות מסמכים או קבצים שהועלו (כמו קובצי PDF). כדי לסרוק מסמכים, מתקשרים ישירות אל Model Armor REST API. מידע נוסף זמין במאמר בדיקת מסמכים במאמרי העזרה בנושא הגנה מוגברת על המודל.

מכסות ומגבלות מערכת

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

מידע נוסף על מכסות שחלות כשמשתמשים בהגנה מוגברת על המודל עם שירותים אחרים זמין במאמר ניהול מכסות.

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

המאמרים הבאים