סקירה כללית של מדיניות IAM

אתם יכולים ליצור מדיניות הרשאות ומדיניות דחייה ב-IAM, ש-Agent Gateway משתמש בהן כדי לנהל בצורה מאובטחת את התקשורת בין הסוכנים שלכם לבין שירותים אחרים, כולל סוכנים אחרים, שרתי MCP ונקודות קצה. Agent Gateway משתמש בשרת proxy לאימות זהויות (IAP) כדי לאכוף את המדיניות. בנוסף,‏ IAP אוכף אבטחת אימות והרשאה של זהות הנציג מקצה לקצה.

כדי ליצור מדיניות IAM עבור Agent Gateway, אפשר לעיין במאמר בנושא יצירת מדיניות IAM.

אפשר גם ליצור גבול גישה לחשבון משתמש (PAB) בזהות של הסוכן. Agent Gateway יכול להשתמש ב-IAP כדי לאכוף מדיניות לקביעת גבול הגישה לחשבונות משתמשים (PAB).

הפעלת Agent Gateway

כדי להשתמש במדיניות תקשורת מבוססת-סוכן, צריך להגדיר את Agent Gateway.

מומלץ להגדיר את Agent Gateway במצב הרצה יבשה (DRY_RUN) בסביבת פיתוח כדי לוודא שהמדיניות פועלת כמצופה. במצב הרצה יבשה, IAP מתעד ביומני הביקורת של Cloud תקשורת של סוכנים שלא אושרה, אבל לא חוסם אותה.

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

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

כללי מדיניות כוללים את הרכיבים הבאים:

  • סוכנים: במדיניות ההרשאות של IAM, סוכני המקור מוגדרים לפי זהות הסוכן (הזהות של הסוכן שיזם את התקשורת עם שירות). במאמר זהות הסוכן מוסבר איך סוגים שונים של סוכנים מקבלים זהויות. זהויות של סוכנים מיוצגות על ידי מזהים של חשבונות משתמשים שמכילים את הזהות של הסוכן בפורמט SPIFFE – לדוגמה, principal://agents.global.org-.... שימו לב: מזהי סוכנים בפורמט URN (לדוגמה, urn:agent:...) משמשים רק לחיפוש במלאי ובקטלוג, ולא לקישורים של מדיניות IAM. כשמשתמשים ב-CLI של gcloud כדי להגדיר את מדיניות IAM, חשבון המשתמש של הסוכן הוא החבר שמקבל הרשאת גישה.

    לסוכנים של Gemini Enterprise ולמופעים של Agent Runtime מוקצה באופן אוטומטי זהות סוכן, והם נרשמים ב-Agent Registry.

  • משאב Agent Registry: שירות Agent Registry שאתם נותנים או שוללים ממנו גישה. במדיניות ההרשאה והדחייה של IAM, שירותי Agent Registry נקראים משאבים. המשאב יכול להיות מאגר שלם בתוך פרויקט או שירות ספציפי, כמו שרת MCP, סוכן או נקודת קצה.

    כדי שאפשר יהיה להפנות לשירותים ספציפיים במדיניות IAM, צריך לרשום אותם במאגר הסוכנים. הרישום הזה מאומת בזמן הקישור (כשנוצר או מתעדכן קישור למדיניות). אם מפנים לשירות שלא רשום, יצירת המדיניות נכשלת מיד עם השגיאה requested entity not found (NOT_FOUND).

    כשמגדירים מדיניות באמצעות ה-CLI של gcloud או Terraform, מציינים את משאבי היעד באמצעות הנתיבים או המזהים שלהם שנוצרו על ידי המאגר (באמצעות דגלים כמו --agent,‏ --endpoint או --mcp-server), ולא באמצעות מזהי ה-URN הלוגיים שלהם. בזמן הריצה, שער הגישה המאובטח מתאים ליעדי תעבורת נתונים לפי שם המארח המדויק שלהם, במקום להשתמש ב-URN.

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

  • תפקיד: מדיניות תקשורת מבוססת-סוכן תמיד מעניקה את התפקיד IAP-secured Egressor (roles/iap.egressor) במשאב השירות.

  • תנאי: אפשר להגדיר תנאי במדיניות ההרשאה ב-IAM כדי להגביל עוד יותר את הגישה של הסוכן. במסוףCloud de Confiance , אפשר להשתמש בכלי ליצירת תנאים כדי ליצור תנאי על ידי בחירת רכיבים בממשק המשתמש. אפשר גם להשתמש בעורך התנאים כדי להזין תנאים מורכבים יותר כביטויי Common Expression Language (CEL).

    בטבלה הבאה מפורטים שמות המאפיינים שבהם אפשר להשתמש כדי ליצור ביטויי CEL. הסגנון של גישה ישירה לשדה (למשל, request.mcp.toolName) לא נתמך, ולכן צריך להשתמש בפונקציה api.getAttribute() כדי לאחזר את הערך של כל מאפיין.

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

    שם המאפיין תיאור ודוגמה ל-CEL
    mcp.toolName השם של הכלי הספציפי שמתבצעת אליו קריאה.
    לדוגמה: request.mcp.toolName == 'GetCalendarEvents'
    iap.googleapis.com/mcp.resourceName השם של המשאב שאליו ניגשים.
    לדוגמה: api.getAttribute('iap.googleapis.com/mcp.resourceName', '') == 'my-resource'
    iap.googleapis.com/mcp.promptName שם הפרומפט שנמצא בשימוש.
    לדוגמה: api.getAttribute('iap.googleapis.com/mcp.promptName', '') == 'my-prompt'
    mcp.method פעולת ה-MCP הספציפית (למשל, tools/call, resources/read).
    iap.googleapis.com/mcp.tool.isReadOnly
    iap.googleapis.com/mcp.tool.isDestructive
    iap.googleapis.com/mcp.tool.isIdempotent
    iap.googleapis.com/mcp.tool.isOpenWorld
    דגלים בוליאניים שמציינים את סוג הפעולה.
    לדוגמה: api.getAttribute('iap.googleapis.com/mcp.tool.isReadOnly', false) == true
    request.auth.type סוג Enum שמציין את הפרוטוקול (למשל, MCP).

יצירת כללי מדיניות

בדף Policies (כללי מדיניות) במסוף Cloud de Confiance , יוצרים כללי מדיניות הרשאה וכללי מדיניות דחייה של IAM, שמשמשים את Agent Gateway כדי לנהל תקשורת עם סוכנים.

ב-CLI של gcloud, אפשר להגדיר גם כללי מדיניות הרשאה של IAM וגם כללי מדיניות דחייה של IAM, שמשמשים את Agent Gateway כדי לשלוט בתקשורת בין הסוכנים.

כללי מדיניות במסוף Cloud de Confiance

כדי ליצור מדיניות IAM באמצעות מסוף Cloud de Confiance , ראו הגדרת מדיניות IAM.

מדיניות ב-CLI של gcloud

כדי ליצור מדיניות IAM באמצעות ה-CLI של gcloud, ראו הגדרת מדיניות IAM.

אימות והרשאה מקצה לקצה

‫IAP ובקרת גישה מבוססת-הקשר מספקים אימות והרשאה של זהות הסוכן מקצה לקצה כברירת מחדל באמצעות הפרוטוקולים הבאים:

  • TLS הדדי (mTLS)
  • הוכחת בעלות (DPoP)

זהויות הסוכנים מוקצות עם אישור X.509 וטוקן שקשור לאישור. שרת IAP מחייב שזהויות של סוכנים ישתמשו ב-TLS הדדי (mTLS) כדי לבצע אימות ל-Agent Gateway. כשהשער מאפשר לסוכן לצאת ולגשת לממשקי API של Cloud de Confiance , לשרתי MCP, לסוכנים אחרים ולנקודות קצה, הסוכן מנסה לגשת מחוץ לגבולות של mTLS. כדי להגן על התקשורת, בקרת הגישה מבוססת-הקשר אוכפת מדיניות של בקרת גישה מבוססת-הקשר שמנוהלת על ידי Google. המדיניות מחייבת את DPoP לאמת את הטוקן שקשור לאישור וקשור לזהות הסוכן. מידע נוסף על האופן שבו בקרת הגישה מבוססת-הקשר מספקת אבטחת mTLS ו-DPoP מקצה לקצה זמין במאמר אבטחת הסוכן של בקרת הגישה מבוססת-הקשר.

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

Codelab

ב-Codelab בנושא אבטחת אפליקציות AI אקטיביות חוצות-ענן אפשר ללמוד איך לאבטח את האפליקציות האקטיביות.

סקירה כללית

סקירה כללית של Agent Gateway

מדריך

מידע על אמצעי אבטחה ל-Google Agent Platform