בדף הזה מוסבר איך לנתב את התנועה של Gemini Enterprise דרך Agent Gateway. Agent Gateway הוא רכיב מרכזי של רשת ואבטחה בסביבה העסקית של Gemini Enterprise Agent Platform. הוא מספק קישוריות מאובטחת ומנוהלת לכל האינטראקציות של הסוכנים, בין אם הן מתרחשות בין משתמשים לסוכנים, בין סוכנים לכלים או בין הסוכנים עצמם.
לפני שמתחילים
- חשוב להכיר את המושגים של Gemini Enterprise.
- מידע ולמידה על Agent Gateway שימו לב ש-Agent Gateway תומך ב-Gemini Enterprise רק במצב "סוכן לכל מקום" (תעבורת נתונים יוצאת). אין תמיכה בתעבורת נתונים נכנסת (ingress).
- פורסים אפליקציית Gemini Enterprise (שנקראת גם מנוע). ההליך בדף הזה מבוסס על ההנחה שכבר פרסתם אפליקציה. פרטים נוספים זמינים במאמר יצירת אפליקציה.
תכנון המיפוי של המיקום ושל Agent Registry
לפני שפורסים את Agent Gateway, צריך לבחור את האזור שבו פורסים את השער ואת Agent Registry שבו רושמים את המשאבים. שימו לב לדרישות הבאות:
מיפוי מיקום: כדי לוודא שהניתוב תקין, פורסים את Agent Gateway באזור הספציפי שתואם למיקום של אפליקציית Gemini Enterprise.
מיפוי Registry: משייכים את Agent Gateway למכונה האזורית של Agent Registry באותו פרויקט ואזור כמו השער. במאמר תכנון הפריסה של Agent Gateway מוסבר בהרחבה על דפוסי פריסה.
| מיקום אפליקציית Gemini Enterprise | האזור הנדרש של Agent Gateway | מופע Agent Registry שנדרש ל-Agent Gateway |
|---|---|---|
global |
us-central1 |
us-central1 (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/us-central1) |
us |
us-central1 |
us-central1 (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/us-central1) |
eu |
europe-west1 |
europe-west1 (//agentregistry.googleapis.com/projects/PROJECT_ID/locations/europe-west1) |
ניתוב התנועה של Gemini Enterprise דרך Agent Gateway
כדי לנתב את התנועה של Gemini Enterprise דרך Agent Gateway:
יוצרים משאב של Agent Gateway ומוודאים שהוא תואם לאזור ולמרשם שבחרתם בקטע הקודם. איך מגדירים את Agent Gateway
בודקים את הגדרות השער. משתמשים ב-Network Services API כדי לאחזר את ההגדרות של Agent Gateway ולבדוק אותן.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://networkservices.googleapis.com/v1/projects/PROJECT_ID/locations/AGENT_GATEWAY_REGION/agentGateways/AGENT_GATEWAY_NAME"
דוגמה לפלט של שער שהוגדר כראוי:
{ "name": "projects/my-ge-project/locations/us-central1/agentGateways/my-egress-gateway", "description": "A full configuration for Agent Gateway for Gemini Enterprise egress", "googleManaged": { "governedAccessPath": "AGENT_TO_ANYWHERE" }, "protocols": [ "MCP" ], "registries": [ "//agentregistry.googleapis.com/projects/my-ge-project/locations/us-central1" ] }מקשרים את השער לאפליקציית Gemini Enterprise באמצעות ה-API של
UpdateEngine. חשוב לזכור שהשלמת השלב הזה מנתבת מיד את כל תנועת הנציגים הקיימת דרך ה-Agent Gateway שצוין.המסוף
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
לוחצים על שם האפליקציה שרוצים לשייך ל-Agent Gateway.
לוחצים על אבטחה.
בכרטיסייה Configuration, בקטע Agent Gateway configuration, מזינים את השם המלא של המשאב בשביל השער. צריך להשתמש בפורמט:
projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME.לוחצים על Save.
REST
כדי לעדכן את האפליקציה, צריך להשתמש בבקשה הבאה.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ -d '{ "agentGatewaySetting": { "defaultEgressAgentGateway": { "name": "projects/PROJECT_ID/locations/AGENT_GATEWAY_REGION/agentGateways/AGENT_GATEWAY_NAME" } } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/GE_APP_LOCATION/collections/default_collection/engines/GE_APP_ID?updateMask=agentGatewaySetting.defaultEgressAgentGateway.name"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
AGENT_GATEWAY_REGION: האזור של Agent Gateway. -
AGENT_GATEWAY_NAME: השם של Agent Gateway. -
ENDPOINT_LOCATION: הקידומת של מספר האזורים לנקודת קצה ל-API שתואמת ל-GE_APP_LOCATION. מציינים את הערךglobal, usאוeu. לדוגמה, אפליקציותeuמשתמשות ב-eu-discoveryengine.googleapis.com. באפליקציות שלglobal, אפשר גם להשתמש ב-discoveryengine.googleapis.comבלי קידומת. -
PROJECT_NUMBER: מספר הפרויקט. -
GE_APP_LOCATION: המיקום של אפליקציית Gemini Enterprise. צריך לציין את הערךglobal,usאוeu. -
GE_APP_ID: המזהה של אפליקציית Gemini Enterprise.
-
כדי לאמת את הגדרות האפליקציה, משתמשים בפקודה הבאה כדי לאחזר את ההגדרות ולבדוק אותן:
curl -s -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/GE_APP_LOCATION/collections/default_collection/engines/GE_APP_ID" \ | jq '{name: .name, displayName: .displayName, agentGatewaySetting: .agentGatewaySetting}'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ENDPOINT_LOCATION: הקידומת של מספר האזורים לנקודת קצה ל-API שתואמת ל-GE_APP_LOCATION. מציינים את הערךglobal, usאוeu. -
PROJECT_NUMBER: מספר הפרויקט. -
GE_APP_LOCATION: המיקום של אפליקציית Gemini Enterprise. צריך לציין את הערךglobal,usאוeu. -
GE_APP_ID: המזהה של אפליקציית Gemini Enterprise.
הנה דוגמה לפלט של אפליקציה שהוגדרה בצורה תקינה:
{ "name": "projects/PROJECT_NUMBER/locations/GE_APP_LOCATION/collections/default_collection/engines/GE_APP_ID", "displayName": "GE_APP_ID", "agentGatewaySetting": { "defaultEgressAgentGateway": { "name": "projects/PROJECT_ID/locations/AGENT_GATEWAY_REGION/agentGateways/AGENT_GATEWAY_NAME" } } }-
למרות שהפיקוח על תעבורת הנתונים היוצאת מופעל עכשיו באפליקציית Gemini Enterprise, האפליקציה לא יודעת באופן אוטומטי עם אילו משאבים חיצוניים במאגר הסוכנים היא יכולה לקיים אינטראקציה.
אתם צריכים לייבא באופן מפורש את הסוכנים, נקודות הקצה ושרתי ה-MCP שבחרתם לאפליקציית Gemini Enterprise. צריך להפנות למשאב המיובא באמצעות השם המדויק שלו במרשם. במדריכים הבאים יש הוראות:
כדי לוודא שתעבורת הנתונים היוצאת פועלת כמו שצריך, מבצעים את הפעולות הבאות:
- פותחים את אפליקציית האינטרנט של Gemini Enterprise.
- שולחים שאילתה שנועדה להפעיל כלי חיצוני (לדוגמה, "תציג לי רשימה של בעיות אחרונות מ-GitHub").
- עוקבים אחרי הביצוע כדי לוודא שהתגובה מתקבלת בהצלחה. מאחורי הקלעים, הסוכן של Gemini Enterprise אורז את הבקשה, מנתב אותה דרך Agent Gateway (שמפעיל את כללי מדיניות ההרשאות שהוגדרו) ומאחזר את התשובה מהיעד.
הגבלת הקישור של Gemini Enterprise ל-Agent Gateways מאושרים
אתם יכולים ליצור אילוצים מותאמים אישית של מדיניות הארגון כדי להגביל את האפשרות של אפליקציית Gemini Enterprise להתחבר לכל Agent Gateway או לחלק מהם.
יצירת אילוצים בהתאמה אישית של מדיניות הארגון
בדוגמה הזו נוצר אילוץ מותאם אישית שחוסם את כל הקישורים בין אפליקציות Gemini Enterprise לבין Agent Gateways.
מסוכן לכל מקום
כדי להגדיר אילוץ בהתאמה אישית למצב "סוכן לכל מקום" (תעבורת נתונים יוצאת), יוצרים קובץ בשם
constraint-agent-gateway-egress.yaml.בדוגמה הבאה מוסבר איך לאכוף בידוד רשת קפדני על ידי איסור על קישורים. השדה
conditionמציין שהפעולה נדחית אם צוין משאב של Agent Gateway (השדה קיים ולא ריק).name: organizations/ORGANIZATION_ID/customConstraints/custom.disallowGeminiEnterpriseAgentGatewayBinding resource_types:
- discoveryengine.googleapis.com/Engine condition: >- has(resource.agentGatewaySetting.defaultEgressAgentGateway.name) && resource.agentGatewaySetting.defaultEgressAgentGateway.name != '' actionType: DENY displayName: "Disallow all Agent Gateway Bindings for Discovery Engines" description: "To enforce strict network isolation, Discovery Engines are not permitted to bind to any Agent Gateway."
- ORGANIZATION_ID: מזהה הארגון.
- PROJECT_ID: מזהה הפרויקט.
- REGION: האזור שבו נוצר השער.
- AGENT_GATEWAY_NAME: שם השער.
מחילים את האילוץ המותאם אישית.
gcloud org-policies set-custom-constraint EGRESS_CONSTRAINT_PATH
מחליפים את EGRESS_CONSTRAINT_PATH בנתיב המלא לקובץ האילוץ בהתאמה אישית שיצרתם בשלב הקודם.
יוצרים את מדיניות הארגון כדי לאכוף את האילוץ. כדי להגדיר את מדיניות הארגון, יוצרים קובץ מדיניות YAML בשם
policy-agent-gateway-egress.yaml. בדוגמה הזו אנחנו אוכפים את האילוץ ברמת הפרויקט, אבל אפשר גם להגדיר אותו ברמת הארגון או התיקייה.name: projects/PROJECT_ID/policies/custom.disallowGeminiEnterpriseAgentGatewayBinding spec: rules:
- enforce: true
אוכפים את מדיניות הארגון.
gcloud org-policies set-policy EGRESS_POLICY_PATH
מחליפים את EGRESS_POLICY_PATH בנתיב המלא לקובץ ה-YAML של מדיניות הארגון שנוצר בשלב הקודם. המדיניות תיכנס לתוקף תוך 15 דקות לכל היותר.
מחליפים את מה שכתוב בשדות הבאים:
מחליפים את PROJECT_ID במזהה הפרויקט.
למידע נוסף על השימוש באילוצים בהתאמה אישית של מדיניות הארגון, ראו יצירת אילוצים בהתאמה אישית.
המאמרים הבאים
Codelab: ניהול עומסי עבודה של סוכנים באמצעות Agent Platform
איך מנהלים עומסי עבודה של סוכנים באמצעות Agent Gateway ב-Gemini Enterprise Agent Platform.
הקצאת הרשאות ל-Agent Gateway
איך להקצות הרשאה ל-Agent Gateway ל-IAP, ל-Model Armor או לשירות הרשאות בהתאמה אישית.