הגנה על משאבים באמצעות VPC Service Controls

כדי להגן על המשאבים של Compute Engine, אתם יכולים להשתמש ב-VPC Service Controls.

בעזרת VPC Service Controls אפשר להגדיר גבול גזרה לשירות עבור משאבי Compute Engine. גבולות גזרה לשירות מגבילים את הייצוא והייבוא של משאבים והנתונים שמשויכים אליהם למתחם המוגדר.

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

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

כשמוגשת בקשה שמפרה את גבולות הגזרה לשירות, הבקשה נכשלת ומוצגת השגיאה הבאה:

"code": 403, "message": "Request is prohibited by organization's policy."

הטבות אבטחה

היתרונות של VPC Service Controls בתחום האבטחה:

  • אפשר להגביל את הגישה לפעולות רגישות ב-Compute Engine API, כמו שינוי כללי חומת אש, לגישה פרטית מרשתות מורשות או לכתובות IP שכלולות ברשימת ההיתרים.
  • אפשר להגביל את הגישה לקובצי snapshot של דיסקים לאחסון מתמיד ותמונות בהתאמה אישית ב-Compute Engine להיקף מסוים.
  • מטא-נתונים של מכונות Compute Engine פועלים כמערכת אחסון מוגבלת. הגישה למטא-נתונים של מופעים דרך Compute Engine API מוגבלת על ידי מדיניות גבולות גזרה לשירות, וכך מצטמצמים הסיכונים לחילוץ נתונים באמצעות הערוץ הזה.

בנוסף, אפשר עכשיו לגשת אל Compute Engine API דרך כתובת ה-IP הווירטואלית (VIP) המוגבלת. כך אפשר לפשט את ההגדרה של Cloud DNS ושל ניתוב ללקוחות בתוך ההיקף שזקוקים לגישה לממשק ה-API הזה.

מגבלות

  • הגדרת איזון עומסים לשימוש בשירותי קצה עורפיים בפרויקטים שונים עלולה להוביל לסיכון של זליגת נתונים. אם מוסיפים אחד מהפרויקטים האלה לגבולות גזרה, עדיין אפשר להעביר נתונים בין פרויקטים באמצעות צירוף קצה עורפי בין פרויקטים, גם אם מגבילים את הפרויקט השני בתוך גבולות גזרה אחרים. כדי לצמצם את הסיכון הזה, מומלץ להפעיל את מדיניות הארגון constraints/compute.restrictCrossProjectServices כשמגבילים את Compute Engine API בתוך היקף. למידע נוסף, קראו את המאמר הגבלת גישה לקטגוריות ולאחורי קצה של שירותים בין פרויקטים.
  • חומות אש היררכיות לא מושפעות מגבולות שירות.
  • פעולות של VPC Peering לא אוכפות הגבלות של גבולות גזרה לשירות VPC.
  • ה-method של ה-API‏ projects.ListXpnHosts ל-VPC משותף לא אוכפת הגבלות של גבולות גזרה לשירות על פרויקטים שמוחזרים.

הרשאות

חשוב לוודא שיש לכם את התפקידים המתאימים לניהול הגדרות של גבולות גזרה לשירות ב-VPC בארגון.

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

כדי להגדיר גבול גזרה לשירות, פועלים לפי ההוראות במאמר יצירת גבול גזרה לשירות בתיעוד של VPC Service Controls.

אם מגדירים גבולות גזרה לשירות באמצעות Google Cloud CLI, מציינים את compute.googleapis.com עם הדגל --restricted-services כדי להגביל את Compute Engine API.

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

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

יצירת מכונה וירטואלית באמצעות VPC Service Controls

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

gcloud compute instances create new-instance \
    --image-family IMAGE_FAMILY --image-project IMAGE_PROJECT \
    --zone us-central1-a --machine-type n1-standard-72

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

לדוגמה, תרחיש שבו לקוח של Compute Engine מחוץ לגבולות גזרה יוצר דיסק של Compute Engine מחוץ לגבולות גזרה באמצעות מפתח Cloud KMS בתוך גבולות גזרה מוסבר במאמר דוגמאות לבקשות API שמותרות על ידי שילוב של כללי כניסה ויציאה.

פרויקטים של תמונות שגלויים לכולם

כל פרויקטי התמונות שמופיעים בדף OS details נכללים אוטומטית בכל היקפי השירות. בנוסף, פרויקטים של תמונות ל-Fedora Cloud,‏ openSUSE ו-HPC OS נכללים גם הם באופן אוטומטי.

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

העתקת תמונות באמצעות VPC Service Controls

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

gcloud compute images create --project DST_PROJECT IMAGE_NAME \
   --source-image SOURCE_IMAGE --source-image-project SRC_PROJECT \
    --family IMAGE_FAMILY --storage-location LOCATION

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

VPC משותף עם VPC Service Controls

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

קישור בין רשתות VPC שכנות (peering)

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

חומות אש היררכיות

חומות אש היררכיות הן חומות אש שמוגדרות מחוץ לפרויקט (ברמת התיקייה או ברמת הארגון). הגבלות של גבולות גזרה לשירות לא חלות על חומות אש היררכיות.

קבוצות של מופעי מכונה מנוהלים

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

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

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