‫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 API וגישה פרטית ל-Google מאפשרות תקשורת פרטית בארכיטקטורות של רשתות היברידיות, הן לא מבטלות את הנגישות לאינטרנט הציבורי של ממשקי ה-API של Agent Platform.

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

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

גישה פרטית

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

כשיטה מומלצת, כדאי להשתמש בכתובת ה-IP הווירטואלית (VIP) המוגבלת עם Private Service Connect לממשקי Google API או עם גישה פרטית ל-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 שכנות (peering), למעט תעבורת נתונים לאינטרנט שמנותבת דרך רשת היצרן.

ברשת של ספק השירות קיים נתיב ברירת מחדל שמאפשר תעבורת נתונים לאינטרנט, בנוסף לגישה בלתי מוגבלת ל-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 באמצעות האפשרות export custom routes.

תמיכה של 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 או יוצרים רכיבי צינור עיבוד נתונים בהתאמה אישית לשימוש עם צינורות עיבוד נתונים של Agent Platform, אתם לא יכולים להתקין יחסי תלות של 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, ופורסים אותם עם ממשק Private Service Connect, תצטרכו להגדיר עוד הגדרות רשת:

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

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

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

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

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

  • ‫Gemini Enterprise Agent Platform תומכת בשירותים ובתכונות הבאים:
    • הסקת מסקנות באצווה
    • מערכי נתונים
    • ‫Agent Platform Feature Store (מילוי בקשה באופן מיידי ב-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 Context בזמן אמת מושבת בפרויקטים של VPC-SC כדי לחסום זליגת נתונים.
  • כדי לתייג נתונים, צריך להוסיף את כתובות ה-IP של מתייגי הנתונים לרמת גישה.
  • ב Google Cloud Pipeline Components, הרכיבים מפעילים קונטיינרים שבודקים את קובץ האימג' הבסיסי שלהם כדי לוודא שהוא עומד בכל הדרישות. חבילת KFP, וכל חבילה שמופיעה בארגומנט packages_to_install, הן הדרישות של קונטיינר. אם דרישות מסוימות לא קיימות באימג' הבסיסי (שסופק או בהתאמה אישית), הרכיב מנסה להוריד אותן מ-Python Package Index (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.

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