אבטחת התשתית לאפליקציות AI

1. מבוא

סקירה כללית

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

הקשר

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

בטבלה הבאה מפורטים האיומים שחשוב לכם ביותר לצמצם. כל איום מטופל על ידי משימה ספציפית בשיעור ה-Lab הזה:

איום

צמצום הפגיעה

המשימה מכוסה

כניסה לא מורשית לרשת דרך יציאות פתוחות שנוצלו.

ליצור VPC פרטי ולהגביל את הגישה ל-Vertex AI למשתמש יחיד שמועבר דרך Google Cloud במקום דרך כתובת IP ציבורית.

הגדרת בסיס מאובטח לרשת

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

יוצרים חשבון שירות עם הרשאות מינימליות ומקצים אותו למופע Vertex AI.

פריסת מכונה מאובטחת של Vertex AI Workbench

השתלטות על משאב המחשוב, שמובילה לשיבוש המערכת.

כדי להקשיח את המופע, משביתים את גישת ה-root ומפעילים את האתחול המאובטח.

פריסת מכונה מאובטחת של Vertex AI Workbench

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

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

פריסת קטגוריה מאובטחת של Cloud Storage

מחיקה זדונית או מקרית של מערכי נתונים וארטיפקטים של מודלים, או שינוי שלהם.

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

פריסת קטגוריה מאובטחת של Cloud Storage

הסבר מהיר

במהלך שיעור ה-Lab הזה, תעבדו עם המשאבים הבאים שנקראים בשם:

רכיב

שם

VPC Name

genai-secure-vpc

שם תת-הרשת

genai-subnet-us-central1

Cloud Router

genai-router-us-central1

Cloud NAT

genai-nat-us-central1

חשבון שירות

vertex-workbench-sa

Vertex AI Instance

secure-genai-instance

Storage Bucket

secure-genai-artifacts-[PROJECT_ID]

מה תלמדו

בשיעור ה-Lab הזה תלמדו איך:

  • הקצאת VPC מאובטח עם רשת פרטית כדי לצמצם את הסיכון לתנועה לא רצויה.
  • הגנה על מכונת Vertex AI Workbench מפני ערכות אתחול והסלמת הרשאות.
  • כדי לצמצם את הסיכון להעברת נתונים לא מפוקחת ולחשיפה ציבורית לא מכוונת, מומלץ לאבטח קטגוריה ב-Cloud Storage.

2. הגדרת הפרויקט

חשבון Google

אם אין לכם חשבון Google אישי, אתם צריכים ליצור חשבון Google.

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

כניסה למסוף Google Cloud

נכנסים למסוף Google Cloud באמצעות חשבון Google אישי.

הפעלת חיוב

מימוש קרדיטים בשווי 5 $ל-Google Cloud (אופציונלי)

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

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

החשבון שלכם מקושר עכשיו לחשבון לחיוב ב-Google Cloud Platform לניסיון.

צילום מסך של סקירה כללית של החיוב

הגדרה של חשבון לחיוב לשימוש אישי

אם הגדרתם חיוב באמצעות קרדיטים של Google Cloud, אתם יכולים לדלג על השלב הזה.

כדי להגדיר חשבון לחיוב לשימוש אישי, עוברים לכאן כדי להפעיל את החיוב ב-Cloud Console.

הערות:

  • העלות של השלמת ה-Lab הזה צריכה להיות פחות מ-1 $‎ על משאבי Cloud.
  • כדי למנוע חיובים נוספים, אפשר למחוק את המשאבים לפי השלבים שמפורטים בסוף ה-Lab הזה.
  • משתמשים חדשים זכאים לתקופת ניסיון בחינם בשווי 300$.

יצירת פרויקט (אופציונלי)

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

3. הפעלת ממשקי ה-API

הגדרת Cloud Shell

אחרי שהפרויקט נוצר בהצלחה, מבצעים את השלבים הבאים כדי להגדיר את Cloud Shell.

הפעלת Cloud Shell

עוברים אל shell.cloud.google.com ואם מופיע חלון קופץ שמבקש לאשר, לוחצים על Authorize (אישור).

הגדרת מזהה הפרויקט

מריצים את הפקודה הבאה במסוף Cloud Shell כדי להגדיר את מזהה הפרויקט הנכון. מחליפים את <your-project-id> במזהה הפרויקט בפועל שהעתקתם משלב יצירת הפרויקט שלמעלה.

gcloud config set project <your-project-id>

עכשיו אמור להופיע במסוף Cloud Shell הפרויקט הנכון.

הפעלה של Vertex AI Workbench ו-Cloud Storage

כדי להשתמש בשירותים בשיעור ה-Lab הזה, צריך להפעיל את ממשקי ה-API של Compute Engine,‏ Vertex AI Workbench,‏ IAM ו-Cloud Storage בפרויקט שלכם ב-Google Cloud.

  1. בטרמינל, מפעילים את ממשקי ה-API:
gcloud services enable compute.googleapis.com notebooks.googleapis.com aiplatform.googleapis.com iam.googleapis.com storage.googleapis.com

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

4. הגדרת בסיס מאובטח לרשת

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

יצירת ה-VPC והרשת המשנית

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

  1. במסוף Google Cloud, עוברים אל VPC Network > VPC networks (רשת VPC > רשתות VPC). משתמשים בסרגל החיפוש בחלק העליון של Google Cloud Console כדי לחפש את האפשרות VPC networks (רשתות VPC) ובוחרים אותה.
  2. לוחצים על יצירת רשת VPC.
  3. בשדה Name (שם), מזינים genai-secure-vpc.
  4. בשדה Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).
  5. בקטע New subnet (תת-רשת חדשה), מציינים את המאפיינים הבאים כדי ליצור את תת-הרשת:

    נכס

    ערך (מקלידים או בוחרים)

    שם

    genai-subnet-us-central1

    אזור

    us-central1

    טווח של כתובות IP

    10.0.1.0/24

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

    הפעלה

  6. לוחצים על יצירה.

יצירת שער Cloud NAT

שער Cloud NAT מאפשר למכונות פרטיות ליזום חיבורים יוצאים (למשל, לעדכוני תוכנה) בלי כתובת IP ציבורית, כלומר האינטרנט הציבורי לא יכול ליזום חיבורים אליהן.

  1. קודם כול, יוצרים Cloud Router. משתמשים בסרגל החיפוש בחלק העליון של מסוף Google Cloud כדי לחפש את Cloud Router ולבחור אותו.
  2. לוחצים על יצירת נתב.
  3. מגדירים את Cloud Router עם הפרטים הבאים:

    נכס

    ערך (מקלידים או בוחרים)

    שם

    genai-router-us-central1

    רשת

    genai-secure-vpc (רשת ה-VPC שיצרתם)

    אזור

    us-central1

  4. לוחצים על יצירה.
  5. לאחר מכן עוברים אל Network Services > Cloud NAT (שירותי רשת > Cloud NAT). משתמשים בסרגל החיפוש בחלק העליון של Google Cloud Console כדי לחפש את Cloud NAT ולבחור בו.
  6. לוחצים על שנתחיל?
  7. מגדירים את שער Cloud NAT באמצעות הפרטים הבאים:

    נכס

    ערך (מקלידים או בוחרים)

    שם השער

    genai-nat-us-central1

    רשת VPC

    genai-secure-vpc (רשת ה-VPC שיצרתם)

    אזור

    us-central1

    Cloud Router

    genai-router-us-central1 (הנתב שהגדרתם)

  8. לוחצים על יצירה.

5. פריסת מכונה מאובטחת של Vertex AI Workbench

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

יצירת חשבון שירות עם הרשאות מינימליות

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

  1. במסוף Google Cloud, עוברים אל IAM & Admin > Service Accounts. משתמשים בסרגל החיפוש בחלק העליון של מסוף Google Cloud כדי לחפש את האפשרות Service Accounts (חשבונות שירות) ובוחרים בה.
  2. לוחצים על יצירת חשבון שירות.
  3. בשדה Service account name (שם חשבון השירות), מזינים vertex-workbench-sa.
  4. לוחצים על יצירה והמשך.
  5. מקצים את התפקידים הבאים:
    • Vertex AI User
    • Storage Object Creator
  6. לוחצים על סיום.

יצירת מכונת Workbench

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

  1. בתפריט הניווט (תפריט ההמבורגר) במסוף Google Cloud, עוברים אל Vertex AI > Workbench. משתמשים בסרגל החיפוש בחלק העליון של Google Cloud Console כדי לחפש את Workbench, ובוחרים בתוצאה עם הכותרת המשנית Vertex AI.
  2. לוחצים על Create New ומגדירים:

    נכס

    ערך (מקלידים או בוחרים)

    שם

    secure-genai-instance

    אזור

    us-central1

  3. לחץ על אפשרויות מתקדמות.
  4. לוחצים על Machine type ומסמנים את התיבות לצד האפשרויות הבאות:
    • הפעלה מאובטחת
    • מודול וירטואלי Trusted Platform (vTPM)
    • מעקב אחר יושרה.
  5. לוחצים על Networking (רשת) ומגדירים את האפשרויות הבאות:

    נכס

    ערך (מקלידים או בוחרים)

    רשת

    genai-secure-vpc

    רשת משנה

    genai-subnet-us-central1 (10.0.1.0/24)

    הקצאת כתובת IP חיצונית

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

  6. לוחצים על IAM ואבטחה ומגדירים את האפשרויות הבאות:

    נכס

    ערך (מקלידים או בוחרים)

    כתובת האימייל של המשתמש

    משתמש יחיד ובוחרים את כתובת האימייל שבה השתמשתם כדי להיכנס ל-Google Cloud.

    שימוש בחשבון השירות של Compute Engine שמוגדר כברירת מחדל

    מבטלים את הסימון של תיבת הסימון.

    כתובת האימייל של חשבון השירות

    מזינים את כתובת האימייל שנוצרה עבור חשבון השירות עם ההרשאות המינימליות (מחליפים את [PROJECT_ID] במזהה בפועל): vertex-workbench-sa@[PROJECT_ID].iam.gserviceaccount.com

    גישת root למופע

    מבטלים את הסימון של תיבת הסימון.

  7. לוחצים על יצירה.

גישה למופע של Vertex AI

עכשיו, כשמופע Vertex AI Workbench שלכם הוא זמני, אתם יכולים לגשת אליו בצורה מאובטחת. החיבור מתבצע דרך ה-Proxy של Google Cloud, וכך המכונה נשארת פרטית ולא חשופה לאינטרנט הציבורי. זה מצמצם את הסיכון לתנועת נתונים לא רצויה ועלולה להיות זדונית.

  1. עוברים אל Vertex AI > Workbench. יכול להיות שאתם כבר נמצאים בדף הזה אם המכונה שלכם סיימה את ההקצאה. אם לא, אפשר להשתמש בתפריט הניווט (תפריט ההמבורגר) או בסרגל החיפוש ב-Google Cloud Console כדי להגיע לשם.
  2. מוצאים את המופע שנקרא secure-genai-instance ברשימה.
  3. משמאל למופע, לוחצים על הקישור Open JupyterLab.

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

6. פריסת קטגוריה מאובטחת ב-Cloud Storage

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

יצירה והגדרה של הקטגוריה

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

  1. במסוף Google Cloud, עוברים אל Cloud Storage > Buckets. משתמשים בסרגל החיפוש בחלק העליון של Google Cloud Console כדי לחפש את האפשרות Buckets (מאגרי מידע) ובוחרים בה.
  2. לוחצים על יצירה.
  3. בקטע Get Started (תחילת העבודה), מגדירים את Name (שם) ל-secure-genai-artifacts-[PROJECT_ID], ומחליפים את [PROJECT_ID] במזהה הפרויקט בפועל ב-Google Cloud.
  4. ממשיכים אל Choose where to store your data ומגדירים את האפשרויות הבאות:

    נכס

    ערך (מקלידים או בוחרים)

    סוג המיקום

    אזור

    אזור

    us-central1

  5. ממשיכים אל Choose how to store your data (בחירת אופן אחסון הנתונים) ומשאירים את הגדרות ברירת המחדל.
  6. ממשיכים אל Choose how to control access to objects ושומרים את הגדרות ברירת המחדל:

    נכס

    ערך (מקלידים או בוחרים)

    סיבה

    מניעת גישה ציבורית

    משאירים את האפשרות אכיפה של מניעת גישה ציבורית מסומנת.

    מניעת גישה ציבורית לנתונים מבטלת שינויים ב-IAM שעלולים לגרום בטעות לחשיפת אובייקט באינטרנט.

    בקרת גישה

    משאירים את האפשרות Uniform מסומנת.

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

  7. ממשיכים אל Choose how to protect object data ומשאירים את הגדרות ברירת המחדל:

    נכס

    ערך (מקלידים או בוחרים)

    סיבה

    מדיניות מחיקה רכה (לשחזור נתונים)

    משאירים את האפשרות מדיניות מחיקה רכה (לשחזור נתונים) מסומנת.

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

    ניהול גרסאות של אובייקטים (לניהול גרסאות)

    בוחרים באפשרות ניהול גרסאות של אובייקטים (לניהול גרסאות).

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

    מספר הגרסאות המקסימלי לכל אובייקט

    3

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

    התוקף של גרסאות לא עדכניות יפוג אחרי

    7

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

  8. לוחצים על יצירה.
  9. אם מופיע חלון קופץ עם הכיתוב 'Public access will be prevented' (הגישה הציבורית תימנע), משאירים את תיבת ברירת המחדל ('Enforce public access prevention on this bucket' – אכיפת מניעת גישה ציבורית בקטגוריה הזו) מסומנת ולוחצים על Confirm (אישור).

הפעלה של הגנה על נתונים ורישום ביומן

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

  1. במסוף Google Cloud, עוברים אל IAM & Admin > Audit Logs. משתמשים בסרגל החיפוש בחלק העליון של Google Cloud Console כדי לחפש את האפשרות Audit Logs (יומני ביקורת) ובוחרים בה.
  2. משתמשים בחיפוש לפי מסנן כדי למצוא את Google Cloud Storage ולבחור בו.
  3. בחלונית שמופיעה, מסמנים את התיבות קריאת נתונים וכתיבת נתונים.
  4. לוחצים על שמירה.

7. מהמעבדה למציאות

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

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

הרשת המאובטחת: סביבת העבודה הפרטית

איך משתמשים בזה בהגדרה

בכל פעם שמתחילים פרויקט חדש של AI (למשל, ‫'customer-churn-prediction',‏ 'image-classification-model'), צריך לשכפל את הגדרת הרשת הזו. אפשר ליצור VPC ייעודי (churn-pred-vpc) או להשתמש ברשת משותפת שאושרה מראש. זה הופך ל'ארגז חול' מבודד של הפרויקט. סביבת הפיתוח שלכם, כמו Vertex AI Workbench שהגדרתם, נמצאת בתוך המרחב המוגן הזה. החיבור אליו מתבצע דרך שרת ה-proxy המאובטח (Open JupyterLab), והוא אף פעם לא חשוף לאינטרנט הציבורי.

מתבצעת התחברות לסביבת הייצור

בסביבת ייצור, אפשר להרחיב את הרעיון הזה ולשקול:

  • תשתית כקוד (IaC): במקום להשתמש במסוף Cloud, מגדירים את הרשת הזו באמצעות כלים כמו Terraform או Cloud Deployment Manager. כך תוכלו לפרוס בסיס רשת מאובטח לפרויקט חדש תוך דקות, ולוודא שהוא ניתן לשחזור ולבדיקה.
  • VPC משותף: בארגונים גדולים, צוות מרכזי לניהול רשתות מנהל לעיתים קרובות VPC משותף. למפתחים ניתנת הרשאה להפעיל את המופעים והשירותים שלהם ברשתות משנה ספציפיות בתוך הרשת המאובטחת שמנוהלת באופן מרכזי. העיקרון זהה – אתם עדיין פועלים במרחב פרטי, אבל הוא חלק מתשתית גדולה יותר ומשותפת.
  • VPC Service Controls: כדי להשיג אבטחה מקסימלית, כדאי להקיף את כל הסביבה הזו בהיקף של VPC Service Controls. זהו תכונה עוצמתית שמונעת זליגת נתונים, כי היא מבטיחה שרק משאבים מורשים בתוך המתחם ההיקפי של הרשת הפרטית יוכלו לגשת לשירותים כמו Cloud Storage.

הסביבה המאובטחת: מרכז מאובטח לפיתוח ולאימון

איך משתמשים בזה בהגדרה

secure-genai-instance היא מכונת פיתוח AI לשימוש יומיומי. אתם יכולים להשתמש בממשק של JupyterLab כדי:

  • כותבים את קוד המודל ומריצים בדיקות במחברות.
  • מתקינים ספריות Python‏ (pip install ...).
  • מומלץ להתנסות עם מערכי נתונים קטנים עד בינוניים. האבטחה שהגדרתם (ללא כתובת IP ציבורית, חשבון שירות עם הרשאות מינימליות, ללא גישת שורש, אתחול מאובטח) פועלת ברקע באופן שקוף. אתם יכולים להתמקד בעבודה עם ה-AI, כי אתם יודעים שהמופע מוגן מפני מתקפות נפוצות.

מתבצעת התחברות לסביבת הייצור

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

  • ממחברת לצינור: לוקחים את הקוד מהמחברת והופכים אותו לסקריפט. אחר כך מריצים את הסקריפט כמשימת אימון בהתאמה אישית של Vertex AI או כשלב בצינור עיבוד נתונים של Vertex AI.
  • קונטיינריזציה: אתם אורזים את קוד האימון ואת התלויות שלו בקונטיינר Docker ומאחסנים אותו ב-Artifact Registry. כך הקוד יפעל בסביבה עקבית וצפויה בכל פעם.
  • חשבון השירות הוא המפתח: חשבון השירות vertex-workbench-sa שיצרתם הוא קריטי. בסביבת ייצור, משימות האימון האוטומטיות של Vertex AI יפעלו באמצעות אותו חשבון שירות (או חשבון שירות דומה) עם הרשאות מינימליות, כדי להבטיח שלמשימה האוטומטית יהיו רק ההרשאות שהיא צריכה.

האחסון המאובטח: מאגר מרכזי של ארטיפקטים

איך משתמשים בזה בהגדרה

מאגר secure-genai-artifacts הוא המקור היחיד של האמת לגבי הנתונים של הפרויקט. ההגדרה הזו לא מיועדת רק למערך הנתונים הראשוני. אפשר להשתמש בו כדי לאחסן:

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

מתבצעת התחברות לסביבת הייצור

כדי לנהל את העקרונות שלכם בסביבת ייצור, כדאי גם לשקול את הדברים הבאים:

  • מדיניות מחזור חיים: כדי לנהל את העלויות, צריך להגדיר מדיניות מחזור חיים להעברה אוטומטית של גרסאות ישנות יותר של מודלים או מערכי נתונים לסוגי אחסון זולים יותר (כמו Nearline או Coldline) או למחיקה שלהם אחרי תקופה מסוימת.
  • הרשאות בין פרויקטים: בצינור נתונים של ייצור, צוות הנדסת נתונים עשוי לאכלס את הקטגוריה הזו מפרויקט אחר ב-Google Cloud. הגישה האחידה ברמת הקטגוריה שהפעלתם מאפשרת לנהל את הרשאות ה-IAM האלה בין פרויקטים בצורה פשוטה ומאובטחת, בלי רשימות ACL מורכבות (שקל לטעות בהגדרתן).

התמונה הגדולה: אבטחה כברירת מחדל

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

8. מעולה!

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

Recap

בשיעור ה-Lab הזה השלמתם את המשימות הבאות:

  • הקצאתם VPC מאובטח עם רשת פרטית כדי לצמצם את הסיכון לתנועה לא רצויה.
  • פרסנו מופע מאובטח של Vertex AI Workbench מפני ערכות הפעלה (bootkit) והסלמת הרשאות (privilege escalation).
  • הגנה על קטגוריה של Cloud Storage כדי לצמצם את הסיכון להעברת נתונים ללא מעקב ולחשיפה ציבורית בטעות.
  • הטמענו חשבונות שירות עם הרשאות מינימליות כדי להגביל את הפוטנציאל של "רדיוס ההדף".
  • הפעלתם את האפשרות ליצירת גרסאות של אובייקטים ואת יומני הגישה לנתונים כדי להגן על הנתונים וליצור שביל ביקורת שלא ניתן לשינוי.