‫VPC Service Controls עם Gemini Enterprise Agent Platform

בעזרת VPC Service Controls אתם יכולים לצמצם את הסיכון לזליגת נתונים מ-Gemini Enterprise Agent Platform. אתם יכולים להשתמש ב-VPC Service Controls כדי ליצור גבולות גזרה לשירות שיגנו על המשאבים והנתונים שתגדירו. לדוגמה, כשמשתמשים ב-VPC Service Controls כדי להגן על Agent Platform, פריטי המידע הבאים לא יכולים לצאת מגבולות הגזרה לשירות:

  • נתוני אימון למודל AutoML או למודל בהתאמה אישית
  • מודלים שיצרתם
  • מודלים שחיפשתם באמצעות Neural Architecture Search ב-Agent Platform
  • בקשות להסקת מסקנות אונליין
  • תוצאות מבקשת הסקה באצווה
  • מודלי Gemini

שליטה בגישה ל-Google APIs

ממשקי ה-API של Agent Platform, כמו שמתואר במאמר גישה ל-Gemini Enterprise Agent Platform מסביבה מקומית ומסביבת ריבוי עננים, כוללים מגוון אפשרויות נגישות, כולל אינטרנט ציבורי, Private Service Connect לממשקי Google API וגישה פרטית ל-Google.

גישה ציבורית

כברירת מחדל, אפשר לגשת לממשקי ה-API הציבוריים האלה מהאינטרנט, אבל צריך הרשאות IAM כדי להשתמש בהם. למרות שתכונות כמו Private Service Connect לממשקי Google APIs וגישה פרטית ל-Google מאפשרות תקשורת פרטית בארכיטקטורות של רשתות היברידיות, הן לא מבטלות את הנגישות של ממשקי ה-API של Agent Platform לאינטרנט הציבורי.

כדי להגדיר שליטה מפורטת בגישה ל-API ולהגביל באופן מפורש את החשיפה לאינטרנט הציבורי, צריך להטמיע את VPC Service Controls. כשמקימים גבול גזרה של VPC Service Controls‏ (VPC-SC) וכוללים את Gemini Enterprise בשירותים המוגנים שלו, כל הגישה לאינטרנט הציבורי למופע של Agent Platform נחסמת באופן אוטומטי. כתוצאה מכך, משתמשים שמנסים לגשת לשירותי Agent Platform באופן פרוגרמטי או באמצעות מסוף Google Google Cloud לא יכולים לגשת אליהם, אלא אם הם נכללים ברשימת ההיתרים.

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

גישה פרטית

ארגונים שצריכים להגביל את הגישה הציבורית לממשקי Google APIs לגישה פרטית יכולים להשתמש ב-VPC Service Controls בשילוב עם Private Service Connect לממשקי Google APIs (חבילת VPC Service Controls) או עם גישה פרטית ל-Google. כשפורסים את שתי האפשרויות ברשתות היברידיות ובתוך Google Cloud, הן מאפשרות גישה פרטית לממשקי ה-API של Google באופן מקומי. עם זאת, Private Service Connect ל-Google APIs מאפשר גם גמישות בהגדרת כתובת IP מותאמת אישית ושם נקודת קצה (endpoint) של DNS.

מומלץ להשתמש בכתובת IP וירטואלית (VIP) מוגבלת עם Private Service Connect לממשקי Google APIs או עם גישה פרטית ל-Google כדי לספק נתיב רשת פרטי לבקשות ל Google Cloud שירותים בלי לחשוף את הבקשות לאינטרנט. כתובת ה-VIP המוגבלת תומכת בכל ממשקי ה-API ש-VPC Service Controls יכול להגן עליהם, ודורשים שיקולים לגבי רשתות מקומיות ורשתות VPC. הנה כמה דוגמאות:

שליטה בגישה ל-API באמצעות גישה לשירותים פרטיים

כשמטמיעים בסביבה שמוגנת באמצעות VPC Service Controls את ממשקי ה-API הבאים של Agent Platform, שנפרסו עם גישה לשירותים פרטיים, צריך להגדיר עוד הגדרות רשת:

  • חיפוש וקטורי (שאילתת אינדקס)
  • אימון בהתאמה אישית (מישור הנתונים)
  • Agent Platform Pipelines
  • נקודות קצה פרטיות לחיזוי אונליין

לדוגמה, Agent Platform Pipelines הוא שירות בניהול Google (ספק), שנפרס בפרויקט של דייר יחיד וברשת VPC עם יכולת להרחיב את השירותים הנתמכים בהתאם לדרישות של הצרכן. התקשורת בין רשתות היצרן והצרכן מתבצעת באמצעות קישור בין רשתות VPC, למעט תעבורת נתונים לאינטרנט, שמנותבת דרך רשת היצרן.

ברשת היצרן יש מסלול ברירת מחדל שמאפשר תעבורת נתונים לאינטרנט, בנוסף לגישה בלתי מוגבלת ל-Google APIs. כדי לעדכן את רשת הבעלים כך שתתמוך ב-VIP המוגבל, צריך להפעיל את VPC Service Controls לקישורים לרשתות שכנות (peering). הפעולה הזו מבצעת את הפעולות הבאות בכל השירותים הנתמכים שנפרסו ברשת הבעלים של רשת השירות:

  • הסרת המסלול שמוגדר כברירת מחדל ב-IPv4 (יעד 0.0.0.0/0, שער ברירת המחדל לאינטרנט של הצעד הבא).
  • יצירה של תחומים פרטיים מנוהלים ב-Cloud DNS ומתן הרשאה לתחומים האלה ברשת ה-VPC של בעלים של שירות מנוהל. האזורים כוללים את googleapis.com,‏ pkg.dev,‏ gcr.io ודומיינים או שמות מארחים נחוצים אחרים לממשקי API ולשירותים של Google שתואמים ל-VPC Service Controls.
  • נתוני הרשומה באזורים פותרים את כל שמות המארחים ל-199.36.153.4,‏ 199.36.153.5,‏ 199.36.153.6 ו-199.36.153.7.

שיטה חלופית להסרת נתיב ברירת המחדל מרשת היצרן בלי להשפיע על שירותים קיימים שמנוהלים על ידי Google היא שימוש ב-HA VPN over Cloud Interconnect. השיטה הזו כוללת את השלבים הבאים:

  1. פורסים רשת VPC של שירותים בנוסף ל-HA VPN ברשת ה-VPC של הצרכן.
  2. פורסים את השירותים בניהול Google ברשת ה-VPC של השירותים.
  3. מפעילים את VPC Service Controls לקישורים לרשתות שכנות (peering).
  4. אם השירותים המנוהלים דורשים נגישות מקומית, צריך לפרסם את רשת המשנה של הגישה לשירותים פרטיים כפרסום של מסלול בהתאמה אישית מ-Cloud Router.
  5. מעדכנים את קישור רשתות ה-VPC השכנות (peering) של רשת ה-VPC של Service Networking באמצעות האפשרות ייצוא נתיבים בהתאמה אישית.

תמיכה של VPC Service Controls בצינורות עיבוד נתונים לכוונון של AI גנרטיבי

אפשר להשתמש ב-VPC Service Controls בתהליך הכוונון של המודלים הבאים:

  • משפחת המודלים של Gemini 2.5.
  • text-bison for PaLM 2
  • BERT
  • T5
  • משפחת המודלים של textembedding-gecko.

שימוש ב-VPC Service Controls עם צינורות עיבוד נתונים ב-Gemini Enterprise Agent Platform

גבולות גזרה לשירות חוסמים את הגישה מ-Agent Platform לממשקי API ולשירותים של צד שלישי באינטרנט. אם אתם משתמשים בGoogle Cloud רכיבי Pipeline או יוצרים רכיבי Pipeline בהתאמה אישית לשימוש עם Agent Platform Pipelines, אתם לא יכולים להתקין יחסי תלות של PyPI ממרשם Python Package Index (PyPI)‎ הציבורי. במקום זאת, צריך לבצע אחת מהפעולות הבאות:

שימוש בקונטיינרים בהתאמה אישית

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

  1. יצירת קובץ אימג' של קונטיינר באמצעות Kubeflow Pipelines SDK וחבילות אחרות שמותקנות מראש. לדוגמה, אפשר להשתמש ב-us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-17:latest כשכבת הבסיס של התמונה ולהוסיף שכבה נוספת כדי להתקין את החבילות בזמן יצירת הקונטיינר.
  2. מעדכנים את קוד הגדרת הרכיב כדי להגדיר את הנתיב base_image ואת הדגל install_kfp_package לערך False. הדגל הזה מורה לקומפיילר של KFP לא להוסיף פקודה של pip install kfp לשורת הפקודה של הקונטיינר, כי חבילת Kubeflow Pipelines SDK כבר מותקנת בקובץ האימג'. לדוגמה:

    @component(
        base_image='gcr.io/deeplearning-platform-release/tf-cpu.2-17',
        install_kfp_package=False,
    )
    def my_component(...):
        ...
    

התקנת חבילות ממאגר Artifact Registry

לחלופין, אתם יכולים ליצור מאגר Artifact Registry בפרויקט, לאחסן בו חבילות Python ולהגדיר את סביבת Agent Platform להתקנה ממנו, כמו שמתואר בקטע הזה. מידע נוסף זמין במאמר ניהול חבילות Python.

הגדרת תפקידים והרשאות

  1. לחשבון השירות של סביבת Agent Platform צריך להיות התפקיד iam.serviceAccountUser.
  2. אם מתקינים חבילות PyPI בהתאמה אישית ממאגר ברשת של הפרויקט, ולמאגר הזה אין כתובת IP ציבורית:
    1. מקצים הרשאות גישה למאגר הזה לחשבון השירות של הסביבה.
    2. מוודאים שהקישור למאגר הזה מוגדר בפרויקט.

יצירת המאגר

  1. יוצרים מאגר Artifact Registry במצב VPC בפרויקט.
  2. מאחסנים במאגר את חבילות Python הנדרשות.

הגדרת סביבת Agent Platform להתקנה מהמאגר

כדי להתקין חבילות PyPI בהתאמה אישית ממאגר אחד או יותר של Artifact Registry, מבצעים קריאה דומה לזו של @dsl.component:

@dsl.component(packages_to_install=["tensorflow"],
pip_index_urls=['https://us-central1-python.pkg.dev/mygcpproject1/pypi-repo1/simple', 'https://us-central1-python.pkg.dev/mygcpproject2/pypi-repo2/simple'],)
def hello_world(text: str) -> str:
    import my_package
    import tensorflow

    return my_package.hello_world(text)

שימוש ב-VPC Service Controls עם ממשק PSC

ממשקי ה-API הבאים של Agent Platform שנפרסו עם ממשק חיבור של שירותים פרטיים דורשים הגדרת רשת נוספת כשמטמיעים אותם בסביבה שמוגנת באמצעות VPC Service Controls:

  • אימון בהתאמה אישית (מישור הנתונים)
  • Agent Platform Pipelines
  • נקודות קצה פרטיות של היקש אונליין
  • Agent Runtime

היכולת של שירות Agent Platform producers לגשת לאינטרנט הציבורי תלויה בהגדרות האבטחה של הפרויקט, ובמיוחד אם אתם משתמשים ב-VPC Service Controls:

  • ללא VPC Service Controls: לדייר שמנוהל על ידי Google ומארח את Agent Platform יש גישה לאינטרנט כברירת מחדל. התנועה היוצאת הזו יוצאת ישירות מהסביבה המאובטחת בניהול Google שבה פועל שירות ה-producer. ‫Agent Runtime הוא יוצא דופן במקרה הזה, כי הוא לא מספק תעבורת נתונים לאינטרנט. במקום זאת, אתם נדרשים לפרוס מכונה וירטואלית של שרת proxy עם כתובת RFC 1918 לתעבורת נתונים לאינטרנט.

  • עם VPC Service Controls: כשהפרויקט שלכם נמצא בתוך גבולות גזרה של VPC Service Controls‏ (VPC-SC), הגישה לאינטרנט שמוגדרת כברירת מחדל בסביבה שמנוהלת על ידי Google ומארחת את Agent Platform נחסמת. המגבלה הזו היא אמצעי אבטחה שנועד למנוע זליגת נתונים. כדי לאפשר ל-Agent Platform לגשת לאינטרנט הציבורי בתרחיש הזה, צריך להגדיר באופן מפורש נתיב תעבורת נתונים יוצאת מאובטח שמנתב את התנועה דרך רשת ה-VPC.

השיטה המומלצת כוללת:

  1. פריסת שרת proxy בתוך היקף ה-VPC שלכם ברשת משנה מסוג RFC 1918.
  2. יצירת שער Cloud NAT כדי לאפשר למכונה הווירטואלית של שרת ה-proxy לגשת לאינטרנט.
  3. הגדרת שרת ה-proxy (כתובת IP או FQDN) בסביבת זמן הריצה.

אין שרת proxy מועדף או מוגדר מראש למשימה הזו. אפשר להשתמש בכל פתרון מתאים. לדוגמה: Squid proxy, HAProxy, Envoy ו-TinyProxy.

יצירת גבולות גזרה לשירות

סקירה כללית על יצירת גבולות גזרה לשירות זמינה במאמר יצירת גבולות גזרה לשירות במסמכי העזרה של VPC Service Controls.

הוספת שירותים מוגבלים להיקף

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

ממשקי ה-API של Agent Platform שאפשר לשלב בגבולות גזרה לשירות כוללים:

  • ‫Gemini Enterprise Agent Platform תומכת בשירותים ובתכונות הבאים:
    • היסק באצווה
    • מערכי נתונים
    • מאגר התכונות של Agent Platform (שירות אונליין של Bigtable)
    • Agent Platform Feature Store (מילוי בקשה באופן מיידי ואופטימלי) (הוצא משימוש)
    • ‫AI גנרטיבי ב-Gemini Enterprise Agent Platform (Gemini)
    • מרשם המודלים
    • היקש אונליין
    • כוונון מודלים פתוחים
    • מדיניות פיקוח בשפה טבעית
    • מנוע מדיניות פיקוח בשפה טבעית
    • חיפוש וקטורי (יצירת אינדקס)
    • חיפוש וקטורי (שאילתת אינדקס)
    • אימון בהתאמה אישית (מישור הבקרה)
    • אימון בהתאמה אישית (מישור הנתונים)
    • Agent Platform Pipelines
    • נקודות קצה פרטיות להסקת מסקנות אונליין
    • Colab Enterprise
    • Agent Runtime
    • אשכולות אימון מנוהלים
    • ארגזי חול ב-Agent Platform
  • ‫Notebooks API תומך בשירות הבא:
    • Gemini Enterprise Agent Platform Workbench

מגבלות

המגבלות הבאות חלות כשמשתמשים ב-VPC Service Controls:

  • אחזור חי של הקשר של כתובת URL מושבת בפרויקטים של VPC-SC כדי לחסום זליגת נתונים.
  • כדי לתייג נתונים, צריך להוסיף את כתובות ה-IP של המתייגים לרמת גישה.
  • ב- Google Cloud Pipeline Components, הרכיבים מפעילים קונטיינרים ש בודקים את קובץ האימג' הבסיסי שלהם כדי לוודא שהוא עומד בכל הדרישות. חבילת KFP, וגם כל החבילות שמופיעות בארגומנט packages_to_install, הן הדרישות של קונטיינר. אם דרישות שצוינו לא קיימות כבר בתמונת הבסיס (שסופקה או מותאמת אישית), הרכיב מנסה להוריד אותן מאינדקס חבילות Python‏ (PyPI). מכיוון שגבולות גזרה לשירות חוסמים את הגישה מ-Gemini Enterprise Agent Platform לממשקי API ולשירותים של צד שלישי באינטרנט, ההורדה נכשלת עם השגיאה Connection to pypi.org timed out. במאמר שימוש ב-VPC Service Controls עם Agent Platform Pipelines מוסבר איך להימנע מהשגיאה הזו.
  • כשמשתמשים ב-VPC Service Controls עם קרנלים בהתאמה אישית ב-Agent Platform Workbench, צריך להגדיר קישור בין רשתות שכנות (peering) ב-DNS כדי לשלוח בקשות ל-*.notebooks.googleusercontent.com לרשת המשנה 199.36.153.8/30 (private.googleapis.com) במקום ל-199.36.153.4/30 (restricted.googleapis.com).
  • כשמשתמשים ב-VPC Service Controls עם Gemini Enterprise Agent Platform Inference, צריך ליצור נקודות קצה אחרי שמוסיפים את הפרויקט לגבולות הגזרה לשירות. אם נקודת קצה נוצרת בפרויקט שלא נכלל בגבולות גזרה לשירות, ואחר כך הפרויקט הזה נוסף לגבולות גזרה לשירות, ניסיון לפרוס מודל לנקודת הקצה הזו ייכשל. אם נקודת הקצה היא נקודת קצה ציבורית משותפת, שליחת בקשה לנקודת הקצה תיכשל גם כן. באופן דומה, ניסיון לפרוס מודל לנקודת קצה ייכשל אם נקודת הקצה נוצרה בפרויקט שהיה חלק מגבולות גזרה לשירות, ולאחר מכן הפרויקט הוסר.
  • כשמשתמשים ב-VPC Service Controls עם Agent Runtime, הפרויקט צריך להיות חלק מגבולות גזרה לשירות לפני שמפעילים את הסוכן. אם פורסים סוכן לפני שמוסיפים את הפרויקט להיקף, הסוכן לא יהיה מאובטח על ידי VPC Service Controls ותמשיך להיות לו גישה לאינטרנט הציבורי.
  • אי אפשר לפרוס מודלים ציבוריים בלחיצה אחת ב-Model Garden (נקודת קצה ייעודית) בסביבת VPC-SC. במקום זאת, צריך להשתמש בנקודת קצה פרטית שתומכת ב-VPC Service Controls. מידע נוסף זמין במאמר פריסת מודל בנקודת קצה פרטית.
  • רישום ביומן של בקשות ותגובות לא זמין ב-VPC Service Controls.

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