מדריך בסיסי VPC Service Controls

1. מבוא

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

מטרות המדריך הזה:

  • הסבר על העקרונות הבסיסיים של VPC Service Controls
  • יצירת גבולות גזרה לשירות של VPC
  • הגנה על פרויקט באמצעות VPC Service Controls
  • פתרון בעיות שקשורות להפרה של תעבורת נתונים נכנסת (ingress) ב-VPC Service Controls

2. הגדרה ודרישות

כדי לבצע את המדריך הזה, אתם צריכים:

  • ארגון ב-GCP.
  • תיקייה מתחת לארגון.
  • ‫2 פרויקטים ב-GCP באותו ארגון, שנמצאים בתיקייה.
  • ההרשאות הנדרשות ברמת הארגון.
  • חשבון לחיוב לשני הפרויקטים.

1a62ebea85d6d4fc.png

הגדרת משאבים

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

(אם אין לכם עדיין חשבון Google Workspace או Cloud Identity, אתם צריכים ליצור חשבון, כי תצטרכו ארגון כדי לבצע את ההדרכה הזו).

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

f7c75ab82028cb15.png

עלות

כדי להשתמש במשאבים או בממשקי API של Cloud, צריך להפעיל את החיוב במסוף Cloud. השלמת ה-codelab הזה לא תעלה לכם הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים נוספים אחרי שתסיימו את המדריך הזה, תוכלו למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים לתוכנית תקופת הניסיון בחינם בשווי 300$.

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

3. יצירת היקף

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

  1. במסוף Google, בוחרים את הארגון ו ניגשים אל VPC Service Controls. חשוב לוודא שאתם ברמת הארגון.

43d5af2d5f084bb4.png

  1. לוחצים על 'ניהול מדיניות' כדי ליצור מדיניות גישה חדשה שמוגדרת לתיקייה Codelab.

9f75d949ca9992c4.png

  1. יוצרים היקף חדש במצב אכיפה. במדריך הזה ניתן לו את השם SuperProtection.
  • כשיוצרים את גבולות הגזרה, בוחרים את הפרויקט שרוצים לאכוף עליו את ההיקף בתור ProjectZ.
  • בוחרים באפשרות 'רגיל' בתור סוג הגדר הווירטואלית.
  • בתיבת הדו-שיח Specify services to restrict, בוחרים את השירות שרוצים להגביל, למשל Compute Engine.

הגדרת ההיקף צריכה להיראות כך:

914d603103cb21.png

4. איך מוודאים שההיקף נאכף

  1. נכנסים לפרויקט ProjectX ומוודאים שאפשר לגשת ל-API של Compute Engine דרך דף הבית של המכונות הווירטואליות. אפשר לעשות את זה כי פרויקט X לא מוגן על ידי היקף ה-VPC SC שנוצר.
  2. נכנסים לפרויקט ProjectZ ומוודאים שיש לכם גישה ל-Compute Engine. אפשר לראות שהבקשה נאסרה על ידי VPC Service Controls כי גבולות גזרה לשירות SuperProtection מגנים על ProjectZ ועל Compute Engine API.

d5073543f783e9c7.png

5. פתרון בעיות שקשורות לדחייה

קודם צריך לזהות בדיוק מה הבעיה כדי להבין איך לפתור אותה.

  1. היומנים של VPC Service Controls כוללים פרטים על בקשות למשאבים מוגנים ועל הסיבה לדחיית הבקשה על ידי VPC Service Controls. כדי למצוא את המזהה הייחודי של VPC Service Controls ביומני הביקורת של ProjectZ, משתמשים בשאילתה הבאה ב-Logs Explorer:
resource.type="audited_resource"
protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"

יוצגו כל יומני הביקורת של VPC Service Controls. אנחנו נחפש את יומן השגיאות האחרון.

  1. לוחצים על הכותרת VPC Service Controls ובוחרים באפשרות 'פתרון בעיות שקשורות לסירוב'. כך ייפתח פותר הבעיות של VPC Service Controls.

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

במסגרת התרגיל הזה, נחפש את הדברים הבאים:

"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
        {
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
        }
      ],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"

יש לנו שתי אפשרויות לפתרון הדחייה הזו ב-ProjectZ.

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

במדריך הזה נפתור בעיות על ידי יצירת רמת גישה.

  1. עוברים אל Access Context Manager בהיקף של תיקייה (Codelab) ויוצרים רמת גישה חדשה.
  2. תשתמשו ב'מצב בסיסי', ואנחנו נאפשר גישה כשהרשת המשנית של כתובת ה-IP והמיקום הגיאוגרפי יעמדו בדרישות.

678f0f9d7bac921d.png

  1. עוברים אל VPC Service Controls בהיקף הארגון. בוחרים את מדיניות הגישה ל-Codelab הזה ועורכים את ההיקף שיצרנו קודם.
  2. מוסיפים את רמת הגישה שנוצרה בהיקף התיקייה ושומרים.

c0af5691dfe9dd75.png

6. תוצאות הבדיקה.

מוודאים שיש לנו גישה ל-Compute Engine ואפשרות ליצור מכונת VM. אחרי שיצרנו את רמת הגישה, ננסה לגשת ל-Compute Engine בפרויקט ProjectZ וליצור מכונה וירטואלית.

  1. עוברים אל Compute Engine ולוחצים על יצירת מכונה.

c1206aaf18497ec1.png

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

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

5b2ded02f669b2ef.png

7. הסרת המשאבים

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

  1. כדי למחוק את מכונת ה-VM, מסמנים את תיבת הסימון בצד ימין של שם מכונת ה-VM ולוחצים על מחיקה.

da0abf0894fe03cd.png

  1. כדי למחוק את גבולות הגזרה, מבצעים את השלבים הבאים:
  • במסוף Google Cloud, לוחצים על Security (אבטחה) ואז על VPC Service Controls (אמצעי בקרה לשירותי VPC) בהיקף הארגון.
  • בדף VPC Service Controls (אמצעי בקרה של שירותי VPC), בשורת הטבלה שמתאימה להיקף שרוצים למחוק, לוחצים על סמל המחיקה.
  1. כדי למחוק את רמת הגישה, מבצעים את השלבים הבאים:
  • במסוף Google Cloud, פותחים את הדף Access Context Manager בהיקף התיקייה.
  • ברשת, בשורה של רמת הגישה שרוצים למחוק, לוחצים על סמל המחיקה ואז על מחיקה.
  1. כדי לכבות את הפרויקטים, מבצעים את השלבים הבאים:
  • במסוף Google Cloud, עוברים לדף IAM & Admin Settings של הפרויקט שרוצים למחוק.
  • בדף ההגדרות של IAM ואדמין, לוחצים על כיבוי.
  • מזינים את מזהה הפרויקט ולוחצים על Shutdown anyway (השבתה בכל זאת).

8. מעולה!

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

מידע נוסף

רישיון

העבודה הזו בשימוש במסגרת רישיון Creative Commons שמותנה בייחוס כללי מגרסה 2.0.