VPC Service Controls ל-BigQuery
בדף הזה מוסבר איך לשפר את האבטחה של משאבי BigQuery באמצעות יצירת היקפים עם VPC Service Controls. ההיקפים האלה מגבילים את הגישה אל BigQuery וממנו, והם לא תלויים באמצעי הבקרה של ניהול הזהויות והרשאות הגישה (IAM). הם שימושיים בתרחישים הבאים:
- מניעת דליפת נתונים על ידי הגבלת הגישה למשאבים, למעט אלה שמותרים באופן ספציפי בכללי התעבורה הנכנסת והיוצאת.
- טעינה מאובטחת של נתונים ל-BigQuery ממקורות או משירותים של צד שלישי, כמו Cloud Storage. Google Cloud
- שליטה בייצוא הנתונים מ-BigQuery ל-Cloud Storage או ליעדים אחרים.
מידע נוסף זמין בסקירה הכללית על VPC Service Controls.
לפני שמתחילים
- כדי לקבל את ההרשאות שדרושות להגדרת גבולות גזרה לשירות, קראו את המאמר בקרת גישה באמצעות IAM ל-VPC Service Controls.
- צריכה להיות לכם מדיניות גישה לארגון. למידע נוסף, קראו את המאמר יצירת מדיניות גישה.
יצירת ההיקף של VPC Service Controls
בדוגמה הבאה מוסבר איך ליצור היקף של VPC Service Controls שמגביל את טווח כתובות ה-IP החיצוניות שיכולות לגשת לפרויקט ב-BigQuery.
יוצרים רמת גישה שמאפשרת גישה רק לטווח מסוים של כתובות IP, למשל, כתובות בתוך רשת ארגונית. כדי ליצור אותו, משתמשים בפקודה
gcloud access-context-manager levels create:echo """ - ipSubnetworks: - 162.222.181.0/24 - 2001:db8::/48 """ > level.yaml gcloud access-context-manager levels create ACCESS_LEVEL_NAME \ --title="TITLE" --basic-level-spec=level.yamlמחליפים את מה שכתוב בשדות הבאים:
-
ACCESS_LEVEL_NAME: המזהה של רמת הגישה -
TITLE: שם קריא לאנשים של גבולות הגזרה לשירות
למידע נוסף על יצירת רמות גישה, ראו דוגמאות להטמעות.
-
כדי להגן על המשאב ב-BigQuery, יוצרים או מעדכנים היקף. בדוגמאות הבאות מוסבר איך להגן על פרויקט. לתרחישים אחרים, כמו הגנה על העברת נתונים מקטגוריה של Cloud Storage בפרויקט אחר, ראו תרחישים לדוגמה.
יצירת היקף
כדי ליצור היקף חדש להגנה על הפרויקט ב-BigQuery, משתמשים בפקודה
gcloud access-context-manager perimeters create:echo """ - ingressFrom: identityType: ANY_IDENTITY sources: - accessLevel: accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME ingressTo: operations: - methodSelectors: - method: '*' serviceName: bigquery.googleapis.com resources: - '*' """ > ingress.yaml gcloud access-context-manager perimeters create BIGQUERY_PERIMETER --title="TITLE" \ --resources=BIGQUERY_PROJECT_NUMBER \ --restricted-services=bigquery.googleapis.com \ --ingress-policies=ingress.yaml --policy=POLICY_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: מזהה מדיניות הגישה -
ACCESS_LEVEL_NAME: המזהה של רמת הגישה -
PERIMETER: מזהה ההיקף -
TITLE: השם הקצר והקריא לאנשים של גבולות הגזרה לשירות -
BIGQUERY_PROJECT_NUMBER: המזהה של הפרויקט ב-BigQuery -
POLICY_NAME: מזהה מדיניות הגישה
עדכון היקף
כדי לעדכן היקף קיים, משתמשים בפקודה
gcloud access-context-manager perimeters update:gcloud access-context-manager perimeters update BIGQUERY_PERIMETER --set-ingress-policies=ingress.yamlמחליפים את
BIGQUERY_PERIMETERבמזהה של היקף ההגנה על המשאב ב-BigQuery.-
בדיקת המתחם
לפני שאוכפים את היקף השירות של VPC Service Controls, כדאי לבדוק אותו. למידע נוסף, קראו את המאמרים מצב פרימטר לבדיקות של גבולות גזרה לשירות ושימוש במצב פרימטר לבדיקות כדי לבדוק כללי מדיניות של תעבורת נתונים נכנסת או יוצאת.
תרחישים לדוגמה
בתרחישים לדוגמה הבאים מוסבר איך להגן על נתונים שנכנסים ל-BigQuery ויוצאים ממנו באמצעות VPC Service Controls.
שליחת שאילתה על נתונים בטבלה חיצונית מקטגוריה של Cloud Storage בפרויקט אחר
בדוגמאות הבאות מוסבר איך לאפשר באופן סלקטיבי תקשורת בין הפרויקטים של BigQuery ו-Cloud Storage כשהם מופרדים על ידי גבולות גזרה.
כדי לאפשר לפרויקט ב-BigQuery לגשת לפרויקט ב-Cloud Storage, מעדכנים את כללי תעבורת הנתונים היוצאת של ההיקף סביב הפרויקט ב-Cloud Storage:
echo """ - egressFrom: identityType: ANY_IDENTITY egressTo: operations: - methodSelectors: - method: '*' serviceName: storage.googleapis.com resources: - projects/BIGQUERY_PROJECT_NUMBER """ > egress.yaml gcloud access-context-manager perimeters update CLOUD_STORAGE_PERIMETER --policy=POLICY_NAME --set-egress-policies=egress.yamlמחליפים את מה שכתוב בשדות הבאים:
-
BIGQUERY_PROJECT_NUMBER: המזהה של הפרויקט ב-BigQuery -
CLOUD_STORAGE_PERIMETER: המזהה של היקף ההגנה על המשאבים ב-Cloud Storage -
POLICY_NAME: מזהה מדיניות בקרת הגישה
-
כדי לאפשר לפרויקט ב-Cloud Storage לגשת לפרויקט ב-BigQuery, מעדכנים את כללי תעבורת הנתונים היוצאת של ההיקף סביב הפרויקט ב-BigQuery:
echo """ - egressFrom: identityType: ANY_IDENTITY egressTo: operations: - methodSelectors: - method: '*' serviceName: storage.googleapis.com resources: - projects/CLOUD_STORAGE_PROJECT_NUMBER """ > egress1.yaml gcloud access-context-manager perimeters update BIGQUERY_PERIMETER --policy=POLICY_NAME --set-egress-policies=egress1.yamlמחליפים את מה שכתוב בשדות הבאים:
-
CLOUD_STORAGE_PROJECT_NUMBER: המזהה של הפרויקט ב-Cloud Storage -
PERIMETER: מזהה ההיקף -
POLICY_NAME: מזהה מדיניות הגישה
-
אופציונלי: אם ההיקף שמגן על הפרויקט ב-BigQuery כולל את
storage.googleapis.comכשירות מוגבל, צריך לעדכן את הכלל לתעבורת נתונים נכנסת:echo """ - ingressFrom: identityType: ANY_IDENTITY sources: - accessLevel: accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME ingressTo: operations: - methodSelectors: - method: '*' serviceName: bigquery.googleapis.com - methodSelectors: - method: '*' serviceName: storage.googleapis.com resources: - '*' """ > ingress.yaml gcloud access-context-manager perimeters create BIGQUERY_PERIMETER --title="TITLE" \ --resources=BIGQUERY_PROJECT_NUMBER \ --restricted-services=bigquery.googleapis.com \ --ingress-policies=ingress.yaml --policy=POLICY_NAME
ייבוא וייצוא של נתונים מ-BigQuery Omni
כדי להוסיף עוד שכבת הגנה, אתם יכולים להשתמש בהיקפי השירות של VPC Service Controls כדי להגביל את הגישה בין BigQuery Omni לבין שירות ענן חיצוני. מידע נוסף ודוגמאות מופיעים בהגדרות של VPC Service Controls כשיוצרים טבלת BigLake של Azure Blob Storage.
המאמרים הבאים
- איך מגדירים כללים של VPC Service Controls לשיתוף ב-BigQuery
- איך מגבילים את הגישה ל-BigQuery Omni באמצעות שירות ענן חיצוני
- הסבר על הסיכונים ועל צמצום הסיכונים באמצעות VPC Service Controls
- מידע נוסף על התמיכה ב-VPC Service Controls והמגבלות ב-BigQuery
- פתרון בעיות נפוצות ב-BigQuery וב-VPC Service Controls.