שימוש ב-VPC Service Controls

VPC Service Controls הוא תכונה Google Cloud שמאפשרת להגדיר גבולות גזרה לשירות כדי להגן מפני זליגת נתונים.

‫VPC Service Controls ב-Developer Connect לא מגן מפני העברה אפשרית של נתונים למערכות חיצוניות לניהול קוד מקור. במדריך הזה מוצגים אמצעי בקרה נוספים שמשתמשים במדיניות ארגונית מותאמת אישית כדי לעזור לחסום את התרחישים האלה. SCMSs

מידע נוסף על השימוש ב-VPC Service Controls זמין במאמר הגדרת גבולות גזרה לשירות באמצעות VPC Service Controls.

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

  • יוצרים מדיניות ארגונית מותאמת אישית שמאפשרת למפתחים ליצור ולעדכן חיבורים רק דרך משאב ספציפי של Service Directory.

  • מגבלות לגבי תובנות ב-Developer Connect

לפני שמתחילים

כדי להשתמש בדוגמאות של שורת הפקודה במדריך הזה, צריך להתקין ולהגדיר את Google Cloud CLI.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירה או לעריכה של מדיניות ארגונית בהתאמה אישית, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Organization Policy Administrator (אדמין מדיניות ארגונית) ‏(roles/orgpolicy.policyAdmin) במשאב הארגון. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

יצירת אילוץ להגבלת מערכות ה-SCM שאליהן הצוות יכול ליצור חיבורים

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

מדיניות הארגון הבאה מגבילה את החיבורים למאגרים כך שיתאפשרו חיבורים רק ל-GitHub Enterprise:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
  resource.githubEnterpriseConfig.hostUri=="https://github.mycompany.net"
actionType: ALLOW
displayName: Connection GitHub Enterprise Host Constraint
description: |
  Allows creation/update of Developer Connect connections only to GitHub Enterprise host github.mycompany.net

יצירת הגבלה כדי לדרוש חיבורים דרך Service Directory

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

מדיניות הארגון הבאה מאפשרת חיבורים רק לנקודת קצה ספציפית של Service Directory:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
  resource.gitlabEnterpriseConfig.serviceDirectoryConfig.service=="projects/my-project/locations/us-central1/namespaces/ns/services/myendpoint"
actionType: ALLOW
displayName: Connection GitLab Enterprise Service Directory endpoint
description: |
  Allows creation/update of Developer Connect connections only through a specific Service Directory resource

מגבלות לגבי תובנות ב-Developer Connect

כשמשתמשים ב-Developer Connect insights (InsightsConfig) עם VPC Service Controls, צריך לקחת בחשבון את המגבלות הידועות ואת דרישות ההגדרה הבאות:

  • הסתמכות על App Hub API: התובנות של Developer Connect מסתמכות על App Hub API. באפליקציות שמשתמשות בגבול ניהול של תיקייה, ההגבלות של VPC Service Controls ברמת התיקייה לא חלות על פרויקטים צאצאים. מרכז האפליקציות יכול לגלות שירותים ועומסי עבודה בכל הפרויקטים הצאצאים, גם אם הם לא נמצאים באותו גבול גזרה כמו פרויקט הניהול.

  • מטא-נתונים של משאבים שזמינים דרך App Topology: כשמשתמשים בתובנות של Developer Connect, מטא-נתונים מועשרים של משאבים זמינים דרך App Topology, אם מופעל גם App Topology API. אם אתם משתמשים בשני השירותים, מומלץ להגביל את הגישה גם לממשק ה-API של תובנות Developer Connect ‏ (developerconnect.googleapis.com) וגם לממשק App Topology API ‏(apptopology.googleapis.com) בהיקפים.

  • פידים של אפליקציות ב-App Hub ובקרת גישה ב-IAM: כש-InsightsConfig עוקב אחרי תובנות לגבי אפליקציה ב-App Hub,‏ Developer Connect יוצר פידים בזמן אמת של Cloud Asset Inventory בתיקיית הניהול של האפליקציה ב-App Hub או בגבולות הפרויקט. הנתונים מהפידים האלה מתפרסמים ישירות בשירות Developer Connect, אבל רק סוכני שירות של Developer Connect שמורשים לקרוא מטא-נתונים של נכסים מהתיקיות או מהפרויקטים האלה יכולים להשתמש בהם. בנוסף לשימוש בתפקידי IAM כדי להגביל את הגישה הזו לסוכני שירות של Developer Connect, הפרויקט שמארח את משאב InsightsConfig והפרויקט שממנו מתפרסמים הנתונים צריכים להיות באותו גבולות גזרה של VPC Service Controls, או שצריך להגדיר כללי כניסה ויציאה כדי לאפשר גישה לסוכן השירות של Developer Connect.

  • פידים בהיקף פרויקט ובקרת גישה באמצעות IAM: כשמגדירים InsightsConfig בהיקף פרויקט, Developer Connect יוצר פידים בזמן אמת של Cloud Asset Inventory ישירות בפרויקטים המטורגטים. הנתונים מהפידים האלה מתפרסמים ישירות בשירות Developer Connect, אבל רק סוכנים של שירות Developer Connect שמורשים לקרוא מטא-נתונים של נכסים מהפרויקטים האלה יכולים להשתמש בהם. בנוסף לשימוש בתפקידי IAM כדי להגביל את הגישה הזו לסוכני שירות של Developer Connect, הפרויקט שמארח את משאב InsightsConfig והפרויקט שממנו מתפרסמים הנתונים צריכים להיות באותו גבולות גזרה של VPC Service Controls, או שצריך להגדיר כללי כניסה ויציאה כדי לאפשר גישה לסוכן השירות של Developer Connect.

  • התאמה של גבולות גזרה למטא-נתונים ולמקורות של ארטיפקטים: הפרויקט שמארח את משאב InsightsConfig וכל פרויקט שמכיל מטא-נתונים או מקורות של ארטיפקטים חייבים להיות באותם גבולות גזרה של VPC Service Controls, או שצריך להוסיף כללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress) לסוכן השירות Developer Connect כדי לאפשר גישה.

  • התאמה של גבולות גזרה לרישום ביומן של פריסות: הפרויקט שמארח את המשאב InsightsConfig וכל פרויקט שמכיל פריסות צריכים להיות באותם גבולות גזרה של VPC Service Controls, או שצריך להוסיף כללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress) לסוכן השירות של Developer Connect כדי לאפשר גישה.

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