פריסת סוכן ו-Agent Gateway באמצעות VPC Service Controls

1. מבוא

בשיעור Codelab הזה נסביר איך להגדיר סביבת Google Cloud כדי להגדיר סוכן ו-Agent Gateway עם גבולות גזרה של VPC Service Controls. אתם יוצרים היקף אבטחה של VPC Service Controls, מגדירים רשת ו-DNS, פורסים Agent Gateway עם הרשאת בקשה של שרת proxy לאימות זהויות (IAP) ובודקים את הסוכן בצורה מאובטחת.

מה תפַתחו

ב-Codelab הזה נסביר איך ליצור ארכיטקטורה מאובטחת ב-Google Cloud עבור Gemini Enterprise Agent Platform ו-Agent Gateway, שתבצע את הפעולות הבאות:

מה תלמדו

  • איך מפעילים את ממשקי ה-API הנדרשים של Google Cloud עבור פלטפורמת הסוכנים ואבטחה.
  • איך מגדירים גבולות גזרה של VPC Service Controls וכללי גישה לתעבורת נתונים נכנסת (ingress).
  • איך מגדירים קישוריות לרשת פרטית ורשומות DNS פרטיות.
  • איך יוצרים Agent Gateway ותבניות לקישוריות של סוכנים.
  • איך מגדירים תוספים ומדיניות לאישור בקשות לרכישות מתוך האפליקציה.
  • איך פורסים ובודקים סוכן Agent Engine בצורה מאובטחת.

מה תצטרכו

  • ה-CLI של Google Cloud מותקן ומעודכן לגרסה האחרונה.
  • ‫Python 3 מותקן בתחנת העבודה.
  • ‫Git מותקן בתחנת העבודה.
  • ארגון פעיל ב-Google Cloud והרשאות בחשבון לחיוב.

2. דרישות מוקדמות

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

  1. מוודאים ש-Google Cloud CLI מותקן ושהוא מעודכן לגרסה האחרונה, ואז מאמתים את החשבון באמצעות חשבון Google. כדי לוודא שיש לכם את התמיכה העדכנית בתכונות של Network Services ו-VPC Service Controls, צריך לעדכן את הרכיבים של Google Cloud CLI.
gcloud components update
gcloud auth login
gcloud config set account USER_EMAIL
  1. כדי להגדיר ולפרוס את מסגרת הסוכן המותאם אישית, צריך לוודא ש-Python 3 מותקן. הוראות מפורטות מופיעות במאמר התקנת מודולים של Python.
python3 --version
  1. מוודאים ש-Git מותקן כדי לשכפל את מאגר הדוגמאות שמכיל קוד הגדרה ותבניות הגדרה. הוראות מפורטות מופיעות במאמר בנושא התקנת Git.

3. הגדרת פרויקט ב-Google Cloud

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

אתחלו פרויקט בענן חדש ב-Google Cloud בארגון שלכם כדי לארח את המשאבים של ההגדרה הזו. אתם יכולים גם להשתמש בפרויקט משלכם:

export PROJ_ID="YOUR_PROJECT_ID"
gcloud projects create ${PROJ_ID} --organization=YOUR_ORG_ID
gcloud config set project $PROJ_ID
gcloud auth application-default set-quota-project $PROJ_ID

כדי לקבל Application Default Credentials, מתחברים לחשבון:

gcloud auth application-default login

אימות ההגדרה:

gcloud config list

הפעלת החיוב

כדי להשתמש בשירותים, צריך לקשר חשבון פעיל לחיוב לפרויקט החדש.

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

gcloud billing accounts list
# Copy the billing account to assign to your GCP project
gcloud billing projects link $PROJ_ID --billing-account=BILLING_ACCOUNT_ID

4. הפעל שירותים

מפעילים את כל ממשקי ה-API הנדרשים של Google Cloud לתכונות של Agent,‏ Agent Gateway,‏ networking,‏ security ו-observability.

הפעלת ה-API חושפת שירותי ענן של קצה עורפי לניהול משאבים, ליכולות של ניטור ולרשתות שנדרשות לקישוריות מאובטחת של סוכנים. מידע נוסף זמין במאמרי העזרה של Service Usage API.

gcloud services enable \
  agentregistry.googleapis.com \
  aiplatform.googleapis.com \
  apphub.googleapis.com \
  apptopology.googleapis.com \
  cloudapiregistry.googleapis.com \
  cloudtrace.googleapis.com \
  compute.googleapis.com \
  dataform.googleapis.com \
  iam.googleapis.com \
  iap.googleapis.com \
  logging.googleapis.com \
  modelarmor.googleapis.com \
  monitoring.googleapis.com \
  networksecurity.googleapis.com \
  networkservices.googleapis.com \
  notebooks.googleapis.com \
  observability.googleapis.com \
  securitycenter.googleapis.com
gcloud services enable \
  saasservicemgmt.googleapis.com \
  storage.googleapis.com \
  telemetry.googleapis.com \
  texttospeech.googleapis.com \
  run.googleapis.com \
  artifactregistry.googleapis.com \
  cloudbuild.googleapis.com \
  dns.googleapis.com \
  accesscontextmanager.googleapis.com \
  discoveryengine.googleapis.com \
  agentidentity.googleapis.com \
  agentidentitycredentials.googleapis.com

5. ייצוא משתני סביבה

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

export REGION="us-central1"
export PROJ_ID=$(gcloud config list --format="value(core.project)")
export PROJ_NO=$(gcloud projects describe ${PROJ_ID} --format="value(projectNumber)")
export ORG_ID=$(gcloud projects get-ancestors ${PROJ_ID} --format="value(id)" | tail -n 1)
export USER_IDENTITY=$(gcloud config get-value account)

6. יצירת גבול גזרה לשירות ב-VPC Service Controls

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

אחזור מדיניות הגישה

מאחזרים את מזהה המדיניות של Access Context Manager שמשויך לארגון. מדיניות Access Context Manager מגדירה את הגבול הארגוני שאליו מצורפים אזורים של VPC Service Controls ושבו הם נאכפים.

gcloud access-context-manager policies list --organization=$ORG_ID

ייצוא מדיניות הגישה

מגדירים את מדיניות הגישה בהגדרה של gcloud CLI ומקבלים את רשימת השירותים המוגבלים הנתמכים. איסוף כל השירותים הנתמכים מאפשר לכם ליצור קבוצה של כללי גבולות גזרה מוגבלים שמונעים גישה לא מורשית לנקודות קצה של Google Cloud API.

export ACCESS_POLICY=ACCESS_POLICY_ID
gcloud config set access_context_manager/policy $ACCESS_POLICY
SUPPORTED_SERVICES=$(gcloud access-context-manager supported-services list --format="value(name)" | paste -sd, -)

יצירת היקף

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

export PERIMETER_NAME="perimeter_${PROJ_NO}"
gcloud access-context-manager perimeters create accessPolicies/${ACCESS_POLICY}/servicePerimeters/${PERIMETER_NAME} \
--title="${PERIMETER_NAME}" \
--perimeter-type=regular \
--resources=projects/${PROJ_NO} \
--restricted-services=${SUPPORTED_SERVICES}

יצירת מדיניות כניסה

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

יוצרים קובץ YAML שמאפשר גישה מפורשת לזהות המשתמש בכל השירותים:

cat > ingress-policy.yaml << EOF
- ingressFrom:
    identities:
      - user:${USER_IDENTITY}
    sources:
      - accessLevel: '*'
  ingressTo:
    operations:
      - serviceName: '*'
    resources:
      - '*'
EOF
gcloud access-context-manager perimeters update $PERIMETER_NAME --set-ingress-policies="ingress-policy.yaml"

בשיעור Codelab הזה נגדיר את הסביבה כדי למנוע כברירת מחדל דחיות גישה ב-VPC Service Controls. עם זאת, כדי לעזור לכם לפתור בעיות במהלך הבדיקה, VPC Service Controls מספק יומני דחייה מפורטים וכלי Policy Intelligence.

פתרון בעיות של דחיות ב-VPC Service Controls

במהלך הבדיקה, כדאי להיעזר בטיפים הבאים לפתרון בעיות:

  1. כדי לעקוב אחרי ההפרות האחרונות בסביבה שלכם, צריך להפעיל את לוח הבקרה של ההפרות.
  2. עוקבים אחרי יומני ביקורת של Cloud כדי לראות יומנים של דחיית גישה (403) ב-VPC Service Controls.
  3. כדי לאבחן הפרות, אפשר להשתמש במזהה הייחודי או באסימון של ההפרה בכלי לניתוח הפרות.
  4. כדאי לצפות בסרטון בנושא פתרון בעיות ב-VPC Service Controls כדי לקבל הסבר מפורט.

7. הגדרת רשת

הגדרת ההגדרות של רשת ה-VPC כדי לתמוך בתקשורת פרטית עם ממשקי Google APIs ושירותים של Google. הגדרה נכונה של הרשת מבטיחה שתעבורת הנתונים ברשת בין הסוכנים, השערים וממשקי ה-API של Google Cloud תישאר ברשתות פנימיות פרטיות. תבניות רשת מפורטות זמינות במאמרי העזרה של Google Cloud בנושא VPC.

הפעלת גישה פרטית ל-Google

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

export NETWORK_NAME="default"
export SUBNET_NAME="default"
gcloud compute networks subnets update $SUBNET_NAME --region=$REGION --enable-private-ip-google-access

יצירת מחבר רשת של PSC

יוצרים מחבר רשת של Private Service Connect ‏ (PSC) לקישוריות של Agent Gateway. צירופי רשת מספקים ממשקי Private Service Connect ‏ (PSC), שמקלים על תקשורת מאובטחת בין רשתות VPC שונות בין שירות Agent Gateway לבין תת-הרשת הפנימית שלכם.

gcloud compute network-attachments create psc-agw-${REGION} \
  --region=${REGION} \
  --subnets=${SUBNET_NAME} \
  --connection-preference=ACCEPT_AUTOMATIC

אימות

אחזור ובדיקה של ה-URI של משאב הקישור העצמי של מחבר הרשת שנוצר. אימות של ה-URI של המשאב מוודא שהחיבור לרשת נוצר בהצלחה ושאפשר להפנות אליו בתבניות של קישוריות.

export PSC_NA_URI=$(gcloud compute network-attachments describe psc-agw-${REGION} \
  --region=${REGION} \
  --format="value(selfLink.scope(v1))")
echo ${PSC_NA_URI}

יצירת תחום פרטי ב-Cloud DNS

מגדירים תחום פרטי ב-Cloud DNS כדי לנתב תעבורה אל googleapis.com דרך טווחי IP פרטיים. אזורי DNS פרטיים מבטלים את החיפושים של דומיינים ציבוריים ב-googleapis.com, ומפנים את כל התעבורה היוצאת לכתובות IP וירטואליות (VIP) פנימיות פרטיות ברשת ה-VPC. פרטים נוספים זמינים במאמר בנושא תחומים פרטיים ב-Cloud DNS.

export ZONE_NAME="gapis"
gcloud dns managed-zones create ${ZONE_NAME} \
--visibility=private \
--networks=https://www.googleapis.com/compute/v1/projects/${PROJ_ID}/global/networks/${NETWORK_NAME} \
  --description="Privately reach Google APIs" \
  --dns-name=googleapis.com
gcloud dns record-sets transaction start --zone=${ZONE_NAME}

בוחרים אחת מאפשרויות הדומיין הבאות לניתוב פרטי (מריצים רק את הפקודות שמופיעות באפשרות 1 או באפשרות 2 לפני שמבצעים את העסקה). מידע נוסף זמין במאמר בנושא אפשרויות הגדרה של גישה פרטית ל-Google:

אפשרות 1: כתובת VIP פרטית [מומלץ]

gcloud dns record-sets transaction add --name="*.googleapis.com." \
    --type=CNAME private.googleapis.com. \
    --zone=${ZONE_NAME} \
    --ttl=300
gcloud dns record-sets transaction add --name=private.googleapis.com. \
    --type=A 199.36.153.8 199.36.153.9 199.36.153.10 199.36.153.11 \
    --zone=${ZONE_NAME} \
    --ttl=300

אפשרות 2: VIP מוגבל

gcloud dns record-sets transaction add --name="*.googleapis.com." \
    --type=CNAME restricted.googleapis.com. \
    --zone=${ZONE_NAME} \
    --ttl=300
gcloud dns record-sets transaction add --name=restricted.googleapis.com. \
    --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
    --zone=${ZONE_NAME} \
    --ttl=300

ביצוע עסקאות DNS:

gcloud dns record-sets transaction execute --zone=${ZONE_NAME}

8. יצירת Agent Gateway

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

דיאגרמת ארכיטקטורה שבה סוכן מנתב בקשות דרך Agent Gateway, הרשאת בקשה של IAP וחיבור רשת PSC בתוך גבולות גזרה של VPC Service Controls.

export AGW_NAME="gateway-${USER_IDENTITY}"
export AGW_CONNECTIVITY_TEMPLATE="agw-connectivity-template-${USER_IDENTITY}"

יצירת תבנית לקישור סוכן

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

cat > ${AGW_CONNECTIVITY_TEMPLATE}.yaml << EOF
name: projects/${PROJ_NO}/locations/${REGION}/agentConnectivityTemplates/${AGW_CONNECTIVITY_TEMPLATE}
accessPath: AGENT_TO_ANYWHERE
deploymentModel: CENTRALIZED
egressNetworkConfig:
  networkAttachment: ${PSC_NA_URI}
  dnsPeeringConfig:
    domain: googleapis.com.
    targetNetwork: projects/${PROJ_ID}/global/networks/${NETWORK_NAME}
  vpcEgress: ALL_TRAFFIC
EOF
gcloud network-services agent-connectivity-templates import ${AGW_CONNECTIVITY_TEMPLATE} \
    --source="${AGW_CONNECTIVITY_TEMPLATE}.yaml" \
    --location=${REGION}

יצירת Agent Gateway

cat > ${AGW_NAME}-config.yaml << EOF
name: ${AGW_NAME}
protocols:
  - MCP
googleManaged:
  governedAccessPath: AGENT_TO_ANYWHERE
agentConnectivityTemplate: projects/${PROJ_NO}/locations/${REGION}/agentConnectivityTemplates/${AGW_CONNECTIVITY_TEMPLATE}
registries:
  - //agentregistry.googleapis.com/projects/${PROJ_NO}/locations/global
EOF
gcloud network-services agent-gateways import ${AGW_NAME} \
    --source="${AGW_NAME}-config.yaml" \
    --location=${REGION}

אימות היצירה

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

gcloud network-services agent-gateways describe ${AGW_NAME} \
  --location=${REGION}

9. יצירת הרשאה באמצעות IAP

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

תרשים זרימה שמראה איך Agent Gateway מאציל את אישור הבקשה לשרת proxy לאימות זהויות (IAP) באמצעות מדיניות הרשאה של אבטחת רשת ותוסף שירות הרשאה.

export AUTHZ_EXT="iap-authz-extension-${USER_IDENTITY}"
export AUTHZ_POLICY="iap-authz-policy-${USER_IDENTITY}"

יצירת תוסף AuthZ

cat > ${AUTHZ_EXT}.yaml << EOF
name: ${AUTHZ_EXT}
service: iap.googleapis.com
failOpen: false
timeout: 1s
metadata:
  iapPolicyVersion: "V2"
EOF
gcloud service-extensions authz-extensions import ${AUTHZ_EXT} \
    --source=${AUTHZ_EXT}.yaml \
    --location=${REGION}

יצירת מדיניות AuthZ וקישור שלה ל-Agent Gateway

cat > ${AUTHZ_POLICY}.yaml << EOF
name: ${AUTHZ_POLICY}
target:
  resources:
    - "projects/${PROJ_ID}/locations/${REGION}/agentGateways/${AGW_NAME}"
policyProfile: REQUEST_AUTHZ
action: CUSTOM
customProvider:
  authzExtension:
    resources:
      - "projects/${PROJ_ID}/locations/${REGION}/authzExtensions/${AUTHZ_EXT}"
EOF
gcloud network-security authz-policies import ${AUTHZ_POLICY} \
    --source=${AUTHZ_POLICY}.yaml \
    --location=${REGION}

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

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

  1. מפעילים את Log Analytics בקטגוריית ברירת המחדל של היומנים:
gcloud logging buckets update _Default --location=global --enable-analytics --async
  1. פותחים את לוח הבקרה Agent Gateway Observability:
  2. במסוף Google Cloud, עוברים לדף Agent Gateway.
  3. לוחצים על השם של השער (לדוגמה, gateway-xyz).
  4. לוחצים על הכרטיסייה Observability (יכולת תצפית).
  5. בודקים את לוחות הבקרה Authorization Failure (כשל בהרשאה) ו-403 Denials (דחיות 403).

10. יצירת סוכן Agent Engine

יצירת קטגוריית Staging

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

#Staging bucket name needs to be globally unique
export STAGING_BUCKET="agent-temp-bucket-${PROJ_NO}-${USER_IDENTITY}"
gcloud storage buckets create gs://${STAGING_BUCKET} --location=${REGION}

הפעלת סביבה וירטואלית של Python

python3 -m venv .venv
source .venv/bin/activate

הורדת קוד הסוכן

git clone https://github.com/gpratikab/gcp-vpcsc-agent.git
cd gcp-vpcsc-agent

התקנת יחסי תלות

python3 -m pip install --upgrade -r requirements.txt

הענקת תפקידי IAM לסוכן השירות של Agent Platform

gcloud projects add-iam-policy-binding ${PROJ_ID} \
  --member="serviceAccount:service-${PROJ_NO}@gcp-sa-aiplatform.iam.gserviceaccount.com" \
  --role="roles/agentgateway.serviceAgent"
gcloud projects add-iam-policy-binding ${PROJ_ID} \
  --member="serviceAccount:service-${PROJ_NO}@gcp-sa-aiplatform.iam.gserviceaccount.com" \
  --role="roles/ml.serviceAgent"
gcloud projects add-iam-policy-binding ${PROJ_ID} \
  --member="serviceAccount:service-${PROJ_NO}@gcp-sa-aiplatform.iam.gserviceaccount.com" \
  --role="roles/networkservices.viewer"

פריסת הסוכן

python3 deploy_gcp_agent.py create

מייצאים את זהות הסוכן שמופיעה בפלט של הפקודה הקודמת כמשתנה סביבה:

#Paste identity of your Agent, it will be printed as the output of the previous command
export AGENT_IDENTITY="principal://PRINCIPAL_ID"
echo $AGENT_IDENTITY

11. אישור יציאה של סוכן דרך שער

מאפשרים לסוכן החדש שנוצר לשלוח תעבורת נתונים יוצאת (egress) אל googleapis.com.

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

הגדרת כללים מפורשים של מדיניות יציאה ב-IAM מעניקה לסוכן הרשאה לנתב קריאות ל-API דרך שער הסוכן ושרת ה-proxy של IAP כדי להגיע לשירותי Google Cloud חיצוניים.

יצירת מדיניות IAM

cat > agent-access-rules.json << EOF
{
  "conditions": {
    "iap.googleapis.com": {
      "description": "Allow access to agent",
      "expression": "(destination.agent_registry.location == 'global') || (destination.unregistered.host.endsWith('googleapis.com'))",
      "title": "agenttogapis"
    }
  },
  "description": "agenttogapis",
  "effect": "ALLOW",
  "excludedPrincipals": [],
  "operation": {
    "excludedPermissions": [],
    "permissions": [
      "iap.googleapis.com/resources.egressViaIAP"
    ]
  },
  "principals": [
    "${AGENT_IDENTITY}"
  ]
}
EOF

עדכון מדיניות הגישה

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

gcloud iam access-policies list --project=${PROJ_ID} --location=global

הגדרת שם למדיניות הגישה:

export IAM_ACCESS_POLICY="agent-access-policy"

כדי ליצור מדיניות חדשה:

gcloud iam access-policies create ${IAM_ACCESS_POLICY} \
  --details-rules=agent-access-rules.json \
  --project=${PROJ_ID} \
  --location=global

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

gcloud iam access-policies update ${IAM_ACCESS_POLICY} \
  --add-details-rules=agent-access-rules.json \
  --project=${PROJ_ID} \
  --location=global

12. בדיקת הסוכן

אימות פעולת הסוכן במסוף Google Cloud מאפשר לוודא שהתקשורת מקצה לקצה, מדיניות IAM והגבולות של VPC Service Controls פועלים בצורה תקינה. עכשיו אפשר לבדוק את הסוכן:

  1. במסוף Google Cloud, עוברים לדף Agent Deployments.
  2. בוחרים את הסוכן שפרסתם (gcp_agent_...).
  3. פותחים את הכרטיסייה סביבת אימון.
  4. בשדה הפרומפט, כותבים: List storage buckets in the current project.
  5. מוודאים שהסוכן מחזיר את רשימת הדליים דרך Agent Gateway הפרטי.
  6. מוודאים שהסוכן לא יכול לאחזר דליים מפרויקט אחר בגלל שנדחתה הגישה שלו. אפשר לבדוק את הדחייה ביומני הביקורת של Cloud או בלוח הבקרה של הפרות ב-VPC Service Controls.

13. הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם ב-Codelab הזה, מוחקים את הפרויקט שיצרתם:

gcloud projects delete ${PROJ_ID}

14. מזל טוב

מעולה! הצלחתם להגדיר סוכן ושער סוכן בתוך מתחם מאובטח של VPC Service Controls ב-Google Cloud.

מה השלב הבא?

  • כדאי לעיין בכללים לתעבורת נתונים נכנסת ויוצאת ב-VPC Service Controls.
  • הגדרת גישה ומדיניות סמנטית באמצעות Agent Gateway.
  • שילוב של Model Armor לסינון מתקדם של בטיחות ואבטחה.

מסמכי עזר