VPC Service Controls הוא תכונה שמאפשרת להגדיר מתחם היקפי שעוזר להגן מפני זליגת נתונים. Google Cloud במדריך הזה נסביר איך להשתמש ב-VPC Service Controls עם Dataform כדי לשפר את האבטחה של השירותים.
VPC Service Controls מספק שכבת הגנה נוספת לשירותיGoogle Cloud , שהיא בלתי תלויה בהגנה שמסופקת על ידי ניהול זהויות והרשאות גישה (IAM).
מידע נוסף על VPC Service Controls זמין במאמר סקירה כללית על VPC Service Controls.
מגבלות
Dataform תומך ב-VPC Service Controls עם המגבלות הבאות:
צריך להגדיר את מדיניות הארגון
dataform.restrictGitRemotes.צריך להגביל את הגישה ל-Dataform ול-BigQuery באמצעות אותו גבול גזרה לשירות של VPC Service Controls.
כדי לאפשר למשתמשים ספציפיים לבצע אימות באמצעות פרטי הכניסה של חשבון Google שלהם כשמתזמנים הרצות, מפעילים הרצות באופן ידני או מריצים צינורות עיבוד נתונים עם הגדרות של VPC Service Controls, צריך להוסיף את זהויות המשתמשים לכללי תעבורת הנתונים הנכנסת. מידע נוסף זמין במאמרים עדכון מדיניות תעבורת נתונים נכנסת (ingress) ותעבורת נתונים יוצאת (egress) של גבולות גזרה לשירות והפניה לכללי תעבורת נתונים נכנסת (ingress).
שיקולי אבטחה
כשמגדירים גבולות גזרה לשירות ב-VPC Service Controls עבור Dataform, חשוב לבדוק את ההרשאות שניתנו לחשבונות השירות המותאמים אישית כדי לוודא שהן תואמות לארכיטקטורת האבטחה שלכם.
בהתאם להרשאות שאתם מעניקים לחשבון השירות המותאם אישית, יכול להיות שלחשבון השירות תהיה גישה לנתוני BigQuery או לנתוני Secret Manager בפרויקט שאליו חשבון השירות משויך, ללא קשר ל-VPC Service Controls. במקרה כזה, הגבלת הגישה ל-Dataform באמצעות היקף של VPC Service Controls לא חוסמת את התקשורת עם BigQuery או עם Secret Manager.
כדאי לחסום את התקשורת עם BigQuery אם לא צריך להפעיל קריאות ל-API של זרימות עבודה שמקורן במאגרי Dataform. מידע נוסף על חסימת התקשורת עם BigQuery זמין במאמר חסימת התקשורת עם BigQuery.
אם אף אחד ממאגרי Dataform שלכם לא מתחבר למאגר Git של צד שלישי, כדאי לחסום את התקשורת עם Secret Manager. מידע נוסף על חסימת תקשורת עם Secret Manager זמין במאמר בנושא חסימת תקשורת עם Secret Manager.
לפני שמתחילים
לפני שמגדירים גבול גזרה לשירות של VPC Service Controls עבור Dataform, צריך לפעול לפי ההוראות במדריך הגבלת מאגרים מרוחקים כדי להגדיר את מדיניות הארגון dataform.restrictGitRemotes.
נדרשת מדיניות הארגון dataform.restrictGitRemotes כדי לוודא שבדיקות של VPC Service Controls נאכפות כשמשתמשים ב-Dataform, ושהגישה של צד שלישי למאגרי Dataform Git מוגבלת.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להגדרת היקף שירות של VPC Service Controls, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד עורך של Access Context Manager (roles/accesscontextmanager.policyEditor) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מידע נוסף על הרשאות ב-VPC Service Controls זמין במאמר בקרת גישה באמצעות IAM.
הגדרת VPC Service Controls
אפשר להגביל את Dataform באמצעות מתחם היקפי של שירות VPC Service Controls בדרכים הבאות:
- הוספת Dataform לגבולות גזרה לשירות קיימים שמגבילים את BigQuery.
- יוצרים גבולות גזרה לשירות שמגבילים גם את Dataform וגם את BigQuery.
כדי להוסיף את Dataform לגבול גזרה לשירות שמגביל את BigQuery, פועלים לפי ההוראות במאמר עדכון גבול גזרה לשירות במסמכי התיעוד של VPC Service Controls.
כדי ליצור גבולות גזרה לשירות חדשים שמגבילים את הגישה ל-Dataform ול-BigQuery, פועלים לפי ההוראות במדריך יצירת גבולות גזרה לשירות במאמרי העזרה של VPC Service Controls.
אופציונלי: חסימת התקשורת עם BigQuery
חשבונות שירות בהתאמה אישית משתמשים בהרשאות ובתפקידים הבאים כדי לתקשר עם BigQuery:
- ההרשאה
bigquery.jobs.createשניתנה לחשבון השירות המותאם אישית. - התפקיד 'יצירת אסימונים בחשבון שירות' (
roles/iam.serviceAccountTokenCreator), שמוקצה לסוכן השירות של Dataform שמוגדר כברירת מחדל בחשבון השירות המותאם אישית.
אפשר לחסום את התקשורת בין חשבון שירות מותאם אישית לבין BigQuery באחת מהדרכים הבאות:
מבטלים את כל התפקידים המוגדרים מראש והתפקידים בהתאמה אישית שהוקצו ברמת הפרויקט לחשבון השירות בהתאמה אישית, ושכוללים את ההרשאה
bigquery.jobs.create. ההרשאהbigquery.jobs.createכלולה בתפקידי ה-IAM המוגדרים מראש ב-BigQuery הבאים:- אדמין של BigQuery (
roles/bigquery.admin) - BigQuery Job User (
roles/bigquery.jobUser) - BigQuery User (
roles/bigquery.user) - אדמין של BigQuery Studio (
roles/bigquery.studioAdmin) - BigQuery Studio User (
roles/bigquery.studioUser)
כדי לבטל תפקידים, ראו ניהול הגישה לפרויקטים, לתיקיות ולארגונים.
- אדמין של BigQuery (
מבטלים את התפקיד 'יצירת אסימונים בחשבון שירות' (
roles/iam.serviceAccountTokenCreator) שהוקצה לסוכן השירות של Dataform שמוגדר כברירת מחדל בחשבון השירות המותאם אישית שנבחר. במאמר ניהול הגישה לחשבונות שירות מוסבר איך מבטלים את התפקיד 'יצירת אסימונים בחשבון שירות'.
אופציונלי: חסימת התקשורת עם Secret Manager
Dataform משתמש בהרשאה secretmanager.versions.access כדי לגשת לסודות ספציפיים ב-Secret Manager. אתם מעניקים את ההרשאה הזו לסוכן השירות שמוגדר כברירת מחדל ב-Dataform בסוד נבחר ב-Secret Manager כשאתם מקשרים מאגר Dataform למאגר של צד שלישי.
כדי לחסום את התקשורת בין Dataform לבין Secret Manager, צריך לבטל את הגישה לכל הסודות מסוכן השירות שמוגדר כברירת מחדל ב-Dataform.
כדי לבטל את הגישה לסוד ב-Secret Manager מסוכן השירות שמוגדר כברירת מחדל ב-Dataform, פועלים לפי ההוראות במדריך ניהול הגישה לסודות בתיעוד של Secret Manager. צריך לבטל את כל התפקידים המוגדרים מראש והתפקידים בהתאמה אישית שכוללים את ההרשאה secretmanager.versions.access, שניתנה לסוכן השירות של Dataform שמוגדר כברירת מחדל בסוד שנבחר.
ההרשאה secretmanager.versions.access כלולה בתפקידי ה-IAM המוגדרים מראש ב-Secret Manager:
- אדמין של Secret Manager (
roles/secretmanager.admin) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager)
המאמרים הבאים
- מידע נוסף על VPC Service Controls זמין במאמר סקירה כללית על VPC Service Controls.
- מידע נוסף על מדיניות הארגון זמין במאמר מבוא לשירות של מדיניות הארגון.
- מידע נוסף על חשבונות שירות ב-Dataform זמין במאמר מידע על סוכני שירות וחשבונות שירות בהתאמה אישית ב-Dataform.