הגדרת כללים של VPC Service Controls לשיתוף ב-BigQuery
כללי תעבורת נתונים נכנסת (ingress) ויוצאת (egress) מאפשרים לבעלי תוכן דיגיטלי ולמנויים ב-BigQuery sharing (לשעבר Analytics Hub) לגשת לנתונים בפרויקטים שמוגנים על ידי גבולות הגזרה של VPC Service Controls. אתם מגדירים את הכללים האלה בין פרויקט מבצע קריאה (הרשת או פרויקט הלקוח ב- Google Cloud ששולחים בקשה, כמו שאילתת SQL או פקודה של Google Cloud CLI) לבין הפרויקטים שמארחים את חילופי הנתונים, את כרטיסי המוצר ואת מערכי הנתונים.
לפני שאתם מגדירים את הכללים האלה, חשוב שתכירו את היקפי VPC Service Controls, מערכי נתונים משותפים, חילופי נתונים, רשימות ומערכי נתונים מקושרים.
מגבלות
אי אפשר להשתמש ב-BigQuery sharing עם כללים מבוססי-שיטות. כדי לאפשר את כל השיטות בכללי תעבורת הנתונים הנכנסת והיוצאת, צריך לציין את הערך method: '*':
- ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: analyticshub.googleapis.com
resources:
- projects/PROJECT_NUMBER
אם גבולות הגזרה לשירות מגינים גם על משאבי BigQuery, אתם צריכים לאפשר כללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress) לשירות BigQuery. כשיוצרים חילופי נתונים, לא צריך לאשר כללי כניסה ויציאה. כללי הכניסה והיציאה של BigQuery דומים לאלה של BigQuery sharing:
- ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
resources:
- projects/PROJECT_NUMBER
מחליפים את הערך PROJECT_NUMBER במספר הפרויקט של פרויקט היעד שמוגן על ידי גבולות הגזרה לשירות.
יצירת חילופי נתונים
בתרשים הבא, הפרויקט של מבצע הקריאה והפרויקט שמכיל את חילופי הנתונים נמצאים בגבולות גזרה שונים לשירות:
איור 1. כללים של VPC Service Controls ליצירת חילופי נתונים.
באיור 1 מוצגים הרכיבים הבאים:
- הגורם המפעיל: אדמין של BigQuery sharing.
- Project R: הפרויקט של שולח הקריאה.
- Project E: הפרויקט שמארח את חילופי הנתונים ואת רשימות הנתונים.
אם אתם אדמינים של שיתוף ב-BigQuery ויוצרים מאגר נתונים בפרויקט שונה מהפרויקט של מבצע הקריאה, אתם צריכים להוסיף את הכללים הבאים לתעבורת נתונים נכנסת ויוצאת:
| פרויקט | כלל |
|---|---|
| Project R | כלל תעבורת נתונים יוצאת (egress) לפרויקט E |
| פרויקט ה' (חילופי נתונים) | כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
יצירת דף אפליקציה
בתרשים הבא, הפרויקטים שמכילים את החלפת הנתונים ואת מערך הנתונים המשותף נמצאים בהיקפי שירות שונים:
איור 2. כללי VPC Service Controls ליצירת כרטיס מוצר.
באיור 2 מוצגים הרכיבים הבאים:
- הגורם שמפעיל את הפונקציה: אדמין או בעל תוכן דיגיטלי ב-BigQuery sharing.
- Project R: הפרויקט של שולח הקריאה.
- Project E: הפרויקט שמארח את חילופי הנתונים ואת רשימות הנתונים.
- Project S: הפרויקט שמארח את מערך הנתונים המשותף.
כמפרסמים ב-BigQuery sharing, כשאתם יוצרים כרטיס מוצר באוסף נתונים לשיתוף שנמצא בפרויקט אחר מזה של קבוצת הנתונים המשותפת, עליכם להוסיף את הכללים הבאים לתעבורת נתונים נכנסת ויוצאת:
| פרויקט | כלל |
|---|---|
| Project R |
כלל תעבורת נתונים יוצאת (egress) לפרויקט E כלל לתעבורת נתונים יוצאת (egress) בפרויקט S |
| פרויקט ה' (חילופי נתונים) |
כלל לתעבורת נתונים יוצאת (egress) בפרויקט S כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
| פרויקט S (מערך נתונים משותף) |
כלל תעבורת נתונים יוצאת (egress) לפרויקט E כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
הרשמה לכרטיס מוצר
בתרשים הבא, הפרויקטים שמכילים את כרטיס המוצר ואת מערך הנתונים המקושר לאותו כרטיס מוצר נמצאים בגבולות גזרה שונים לשירות:
איור 3. כללי VPC Service Controls להרשמה ל-listing.
באיור 3 מוצגים הרכיבים הבאים:
- Caller: מנוי לשיתוף ב-BigQuery.
- Project R: הפרויקט של שולח הקריאה.
- Project E: הפרויקט שמארח את חילופי הנתונים ואת רשימות הנתונים.
- Project L: הפרויקט שמארח את מערך הנתונים המקושר.
אם אתם מנויים לשיתוף ב-BigQuery, כשאתם נרשמים לרישום במאגר נתונים שנמצא בפרויקט אחר, אתם צריכים להוסיף את הכללים הבאים לתעבורת נתונים נכנסת ויוצאת:
| פרויקט | כלל |
|---|---|
| Project R |
כלל תעבורת נתונים יוצאת (egress) לפרויקט E כלל לתעבורת נתונים יוצאת (egress) בפרויקט L |
| פרויקט ה' (רישום) |
כלל לתעבורת נתונים יוצאת (egress) בפרויקט L כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
| פרויקט L (קבוצת נתונים מקושרת) |
כלל תעבורת נתונים יוצאת (egress) לפרויקט E כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
עדכון של דף פרטי העסק
כשמעדכנים נתונים בקטלוג – לדוגמה, כדי לשנות את מדיניות הייצוא המוגבלת – BigQuery sharing משתמשת ב-worker ברקע כדי להפיץ את השינויים האלה למערכי הנתונים המקושרים המשויכים. אם הפרויקט ב- Google Cloud מוגן על ידי מתחם VPC Service Controls עם הגבלות שמבוססות על כתובות IP, יכול להיות שהמתחם יחסום את ה-worker ברקע שמקורו בתשתית של Google, וימנע את הסנכרון של מערך הנתונים המקושר.
כדי לאפשר ל-worker של הרקע לעדכן את קבוצת הנתונים המקושרת, צריך להגדיר את כללי ה-ingress או ה-egress כך שחשבון המשתמש או חשבון השירות שמפעיל את הקריאה ל-API יעקוף את ההגבלות שמבוססות על כתובת ה-IP.
כדי לשנות את מדיניות התעבורה הנכנסת בהיקף של פרויקט המנוי, מוסיפים כלל תעבורה נכנסת שמאפשר לחשבון המשתמש שמבצע את הקריאה לגשת לשירות bigquery.googleapis.com מכל כתובת IP של מקור (*):
- ingressFrom:
sources:
- accessLevel: "*"
identities:
- "user:CALLING_USER_EMAIL"
- "serviceAccount:AUTOMATION_SA_EMAIL"
ingressTo:
resources:
- "projects/SUBSCRIBER_PROJECT_NUMBER"
operations:
- serviceName: "bigquery.googleapis.com"
methodSelectors:
- method: "*"
לחלופין, כדי לשנות את מדיניות התעבורה היוצאת בהיקף של המפרסם, מוסיפים את הזהות של מבצע הקריאה לרשימה identities בכלל התעבורה היוצאת של פרויקט המנוי:
- egressFrom:
identities:
- "user:CALLING_USER_EMAIL"
- "serviceAccount:AUTOMATION_SA_EMAIL"
egressTo:
resources:
- "projects/SUBSCRIBER_PROJECT_NUMBER"
operations:
- serviceName: "bigquery.googleapis.com"
methodSelectors:
- method: "*"
מחליפים את מה שכתוב בשדות הבאים:
-
CALLING_USER_EMAIL: כתובת האימייל של המשתמש שמפעיל את הקריאה ל-API כדי לעדכן את דף האפליקציה בחנות. צריך לכלול את הזהות הזו אם משתמש אנושי מבצע את העדכון. -
AUTOMATION_SA_EMAIL: כתובת האימייל של חשבון השירות שמפעיל את הקריאה ל-API כדי לעדכן את דף האפליקציה. צריך לכלול את המזהה הזה אם תהליך אוטומטי או סקריפט מבצעים את העדכון. -
SUBSCRIBER_PROJECT_NUMBER: מספר הפרויקט של המנוי שמכיל את מערך הנתונים המקושר.
הרצת שאילתות על טבלאות בקבוצת נתונים מקושרת
בתרשים הבא, הפרויקט של מבצע הקריאה והפרויקט שמכיל את מערך הנתונים המקושר נמצאים בגבולות גזרה שונים לשירות:
איור 4. כללי VPC Service Controls לשליחת שאילתות למערך נתונים מקושר.
באיור 4 מוצגים הרכיבים הבאים:
- מבצע הקריאה החוזרת (caller): מנוי לשיתוף ב-BigQuery או כל משתמש במשימה ב-BigQuery של מערך הנתונים המקושר.
- Project R: הפרויקט של שולח הקריאה.
- Project L: הפרויקט שמארח את מערך הנתונים המקושר.
- Project V: הפרויקט שמארח את מערך הנתונים המשותף שמכיל את הטבלה.
כמנויים של שיתוף ב-BigQuery, כשאתם שולחים שאילתה לטבלה במערך נתונים מקושר, אתם צריכים להוסיף את כללי הכניסה והיציאה הבאים:
| פרויקט | כלל |
|---|---|
| Project R | כלל לתעבורת נתונים יוצאת (egress) בפרויקט L |
| פרויקט L (קבוצת נתונים מקושרת) | כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
תצוגות של שאילתות בקבוצת נתונים מקושרת
בקטע הזה מתוארים הכללים הנדרשים של VPC Service Controls כדי לשלוח שאילתות לתצוגה בקבוצת נתונים מקושרת. הכללים משתנים בהתאם לשאלה אם התצוגה ומסדי הנתונים הטבלאיים הבסיסיים שלה נמצאים באותו פרויקט או בפרויקטים שונים.
התצוגה ומסדי הנתונים הטבלאיים נמצאים בפרויקטים שונים
בתרשים הבא, הפרויקטים שמכילים את מערך הנתונים המקושר ואת טבלאות הבסיס שמשויכות לתצוגה נמצאים בגבולות גזרה שונים לשירות. התצוגה (פרויקט S) ומסד הנתונים הטבלאי שמשויך לתצוגה (פרויקט V) נמצאים בפרויקטים שונים:
איור 5. כללי VPC Service Controls לשליחת שאילתות לתצוגה כשהתצוגה ומסדי הנתונים הטבלאיים נמצאים בפרויקטים שונים.
באיור 5 מוצגים הרכיבים הבאים:
- הגורם שמבצע את הקריאה החוזרת: מנוי של BigQuery sharing או כל משתמש עם התפקיד BigQuery Job User במערך הנתונים המקושר.
- Project R: הפרויקט של שולח הקריאה.
- Project L: הפרויקט שמארח את מערך הנתונים המקושר.
- Project S: הפרויקט שמארח את מערך הנתונים המשותף.
- Project V: הפרויקט שמארח את קבוצת הנתונים שמכילה את מסדי הנתונים הטבלאיים שמשויכים לתצוגה.
כמנויים של שיתוף ב-BigQuery, כשאתם שולחים שאילתה לתצוגה במערך נתונים מקושר, אתם צריכים להוסיף את הכללים הבאים לתעבורת נתונים נכנסת ויוצאת:
| פרויקט | כלל |
|---|---|
| Project R |
כלל לתעבורת נתונים יוצאת (egress) בפרויקט L כלל תעבורת נתונים יוצאת (egress) לפרויקט V |
| פרויקט L (קבוצת נתונים מקושרת) |
כלל תעבורת נתונים נכנסת (ingress) לפרויקט R כלל תעבורת נתונים יוצאת (egress) לפרויקט V |
| Project V |
כלל לתעבורת נתונים יוצאת (egress) בפרויקט L כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
התצוגה ומסדי הנתונים הטבלאיים נמצאים באותו פרויקט
בתרשים הבא, התצוגה (פרויקט V) ומסד הנתונים הטבלאי שמשויך לתצוגה (פרויקט V) נמצאים באותו פרויקט:
איור 6. כללי VPC Service Controls לשליחת שאילתות לתצוגה כשהתצוגה ומסדי הנתונים הטבלאיים נמצאים באותו פרויקט.
באיור 6 מוצגים הרכיבים הבאים:
- הגורם שמבצע את הקריאה החוזרת: מנוי של BigQuery sharing או כל משתמש עם התפקיד BigQuery Job User במערך הנתונים המקושר.
- Project R: הפרויקט של שולח הקריאה.
- Project L: הפרויקט שמארח את מערך הנתונים המקושר.
- Project V: הפרויקט שמארח גם את התצוגה וגם את מסדי הנתונים הטבלאיים שמשויכים לתצוגה.
כמנויים של שיתוף ב-BigQuery, כשאתם שולחים שאילתה לתצוגה במערך נתונים מקושר, אתם צריכים להוסיף את הכללים הבאים לתעבורת נתונים נכנסת ויוצאת:
| פרויקט | כלל |
|---|---|
| Project R | כלל לתעבורת נתונים יוצאת (egress) בפרויקט L |
| פרויקט L (קבוצת נתונים מקושרת) | כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
הרצת שאילתות על תצוגות מורשות בקבוצת נתונים מקושרת
בתרשים הבא, התצוגה המורשית ומסד הנתונים הטבלאי שמשויך לתצוגה המורשית (פרויקט V) נמצאים באותו פרויקט:
איור 7. כללי VPC Service Controls לשליחת שאילתות לתצוגה מורשית במערך נתונים מקושר.
באיור 7 מוצגים הרכיבים הבאים:
- הגורם שמפעיל את השאילתה: מנוי של BigQuery sharing או כל משתמש עם התפקיד BigQuery Job User במערך הנתונים המקושר.
- Project R: הפרויקט של שולח הקריאה.
- Project L: הפרויקט שמארח את מערך הנתונים המקושר.
- פרויקט V: הפרויקט שמארח גם את התצוגה המורשית וגם את מסדי הנתונים הטבלאיים שמשויכים לתצוגה.
כמנויים של BigQuery sharing, כשאתם שולחים שאילתה לתצוגה מורשית במערך נתונים מקושר, אתם צריכים להוסיף את הכללים הבאים לתעבורת נתונים נכנסת ויוצאת:
| פרויקט | כלל |
|---|---|
| Project R | כלל לתעבורת נתונים יוצאת (egress) בפרויקט L |
| פרויקט L (קבוצת נתונים מקושרת) | כלל תעבורת נתונים נכנסת (ingress) לפרויקט R |
המאמרים הבאים
- מידע ולמידה על פתרון בעיות ב-VPC Service Controls
- מידע ולמידה על כללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress)
- מידע על הגדרת כללי מדיניות של תעבורת נתונים נכנסת ויוצאת
- מידע ולמידה על יצירת כרטיס מוצר
- מידע נוסף על הרשמה לכרטיס מוצר
- מידע על רישום ביומן ביקורת של שיתוף