מדריך בסיסי 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.
  • תיקייה בארגון.
  • שני פרויקטים של GCP מאותו ארגון הוצבו בתיקייה.
  • ההרשאות הנדרשות ברמת הארגון.
  • חשבון לחיוב לשני הפרויקטים.

1a62ebea85d6d4fc.png

הגדרת משאבים

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

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

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

f7c75ab82028cb15.png

עלות

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

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

3. יצירת גבולות גזרה

במעבדה הזו נבצע את השלבים הבאים:

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

43d5af2d5f084bb4.png

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

9f75d949ca9992c4.png

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

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

914d603103cb21.png

4. יש לוודא שגבולות הגזרה נאכפים

  1. נכנסים ל-ProjectX ומוודאים שיש לכם גישה ל-Compute Engine API בדף הבית של מכונות וירטואליות. תוכלו לעשות זאת כי projectX לא מוגן על ידי ההיקף של 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 של המערכת.
  • יצירת כלל של תעבורת נתונים נכנסת (ingress) שמאפשר גישה של לקוח API מחוץ לגבולות הגזרה לשירות למשאבים בתוך גבולות גזרה לשירות.

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

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

678f0f9d7bac921d.png

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

c0af5691dfe9dd75.png

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

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

  1. נכנסים אל Compute Engine ולוחצים על Create Instance

c1206aaf18497ec1.png

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

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

5b2ded02f669b2ef.png

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

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

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

da0abf0894fe03cd.png

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

8. מעולה!

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

מידע נוסף

רישיון

היצירה הזו בשימוש ברישיון Creative Commons Attribution 2.0 גנרי.