הגנה על משאבים באמצעות 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 בארגון.

הגדרת service perimeter

כדי להגדיר גבול גזרה לשירות, פועלים לפי ההוראות במאמר יצירת גבול גזרה לשירות בתיעוד של 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.

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

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

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