תצוגות מורשות
במאמר הזה מוסבר איך ליצור תצוגות מורשות ותצוגות מורשות מגובות בחומר ב-BigQuery.
סקירה כללית
אדמינים של נתונים יכולים ליצור תצוגה מורשית כדי לשתף קבוצת משנה של נתונים במערך נתונים עם משתמשים וקבוצות ספציפיים (גורמים). החשבונות הראשיים יכולים לראות את הנתונים שאתם משתפים ולהריץ עליהם שאילתות, אבל הם לא יכולים לגשת ישירות למערך הנתונים המקורי.
סוגי צפייה
תצוגה לוגית היא סוג התצוגה שמוגדר כברירת מחדל ב-BigQuery, ותצוגה מגובה בחומר היא תצוגה שחושבה מראש ומאחסנת במטמון באופן תקופתי את התוצאות של שאילתה כדי לשפר את הביצועים והיעילות.
תצוגה מורשית של תצוגה לוגית נקראת תצוגה מורשית, אבל תצוגה מורשית של תצוגה מהותית נקראת תצוגה מהותית מורשית.
אם תצוגה לוגית מסתמכת על שאילתה גדולה או על שאילתה שדורשת הרבה משאבי מחשוב, אפשר ליצור במקומה תצוגה מהותית. עם זאת, שאילתה רק על קבוצת משנה של הנתונים או שימוש בטכניקות אחרות יכולים לשפר את הביצועים בלי ליצור תצוגה חומרית.
מידע נוסף זמין במקורות המידע הבאים:
שלבים כלליים ליצירת תצוגות מורשות
כדי ליצור ולשתף תצוגה, צריך לעיין בשלבים הכלליים הבאים, שזהים לתצוגות לוגיות מורשות ולתצוגות מהותיות מורשות.
- יוצרים מערך נתונים שיכיל את נתוני המקור.
- מריצים שאילתה כדי לטעון נתונים לטבלת יעד במערך נתוני המקור.
- יוצרים מערך נתונים שיכיל את התצוגה המורשית.
- אפשר ליצור תצוגה מורשית משאילתת SQL שמגבילה את העמודות שאנליסטים של הנתונים יכולים לראות בתוצאות השאילתה.
- נותנים לאנליסטים של הנתונים הרשאה להריץ משימות של שאילתות.
- נותנים למנתחי הנתונים גישה למערך הנתונים שמכיל את התצוגה המורשית.
- מעניקים לתצוגה המורשית גישה למערך נתוני המקור.
חלופות
למרות שהתצוגות המורשות הן גמישות וניתנות להרחבה, יכול להיות שאחת מהשיטות הבאות תתאים יותר לתרחיש השימוש שלכם:
- הגדרת מדיניות ברמת השורה בטבלה.
- הגדרת מדיניות ברמת העמודה בטבלה.
- אחסון הנתונים בטבלה נפרדת.
- שיתוף כל התצוגות המפורטות במערך נתונים (מערכי נתונים מורשים).
שימוש באבטחה ברמת השורה או ברמת העמודה, או בטבלאות נפרדות
אדמין נתונים יכול להגביל את היכולת של משתמש לצפות בנתונים מסוימים על ידי הגדרת מדיניות גישה ברמת השורה בטבלה, או על ידי יצירת טבלה נפרדת להחזקת מידע אישי רגיש. אחסון נתונים בטבלה נפרדת מבודד את הנתונים ומבטל את האפשרות לראות כמה שורות קיימות בטבלה.
בנוסף, אדמינים של נתונים יכולים ליצור תגי מדיניות ולהחיל אותם כדי להגביל את היכולת של המשתמשים לצפות בעמודות בטבלה.
אחסון נתונים בטבלה נפרדת הוא השיטה הכי מאובטחת אבל הכי פחות גמישה. הגדרת מדיניות ברמת השורה היא גמישה ומאובטחת, ושיתוף תצוגות מורשות הוא גמיש ומספק את הביצועים הטובים ביותר.
כדי להשוות בין השיטות האלה בפירוט, אפשר לעיין במקורות המידע הבאים:
- השוואה בין תצוגות מורשות, אבטחה ברמת השורה וטבלאות נפרדות
- מבוא לאבטחה ברמת השורה
- תרחישים לדוגמה לשימוש באבטחה ברמת השורה
- מבוא לבקרת גישה ברמת העמודה
שיתוף כל התצוגות במערך נתונים
אם רוצים לתת גישה למערך נתונים לאוסף של תצוגות מפורטות בלי להעניק הרשאה לכל תצוגה מפורטת בנפרד, אפשר לקבץ את התצוגות המפורטות למערך נתונים, ואז לתת למערך הנתונים שמכיל את התצוגות המפורטות גישה למערך הנתונים שמכיל את הנתונים.
לאחר מכן תוכלו לתת לחשבונות משתמשים גישה למערך הנתונים שמכיל את קבוצת התצוגות, או לתצוגות בודדות במערך הנתונים, לפי הצורך. מערך נתונים שיש לו גישה למערך נתונים אחר נקרא מערך נתונים מורשה. מערך הנתונים שמאשר למערך נתונים אחר לגשת לנתונים שלו נקרא מערך נתונים משותף.
ברשימת בקרת הגישה של מערך נתונים יכולים להיות עד 2,500 משאבים מורשים בסך הכול, כולל תצוגות מורשות, מערכי נתונים מורשים ופונקציות מורשות. אם חורגים מהמגבלה הזו בגלל מספר גדול של תצוגות מורשות, כדאי לקבץ את התצוגות במערכי נתונים מורשים. כשיטה מומלצת, כדאי לקבץ תצוגות שקשורות זו לזו במערכי נתונים מורשים כשמעצבים ארכיטקטורות חדשות של BigQuery, במיוחד ארכיטקטורות מרובות דיירים.
מידע נוסף מופיע במאמרים מערכי נתונים מורשים ומתן הרשאה למערך נתונים.
מגבלות
- כשיוצרים תצוגה מורשית או תצוגה מורשית מגובה בחומרים במערך נתונים אחר, מערך נתוני המקור ומערך הנתונים של התצוגה המורשית צריכים להיות באותו מיקום אזורי.
- כשמוחקים תצוגה עם הרשאת גישה, יכולות לחלוף עד 24 שעות עד שהיא תוסר מרשימת התצוגות. במהלך התקופה הזו, לא תהיה לכם גישה לתצוגה המורשית, אבל התצוגה המורשית שנמחקה יכולה להופיע ברשימת התצוגות, והיא נספרת במסגרת המגבלה על תצוגות מורשות. המגבלה הזו יכולה למנוע יצירה של תצוגות מורשות נוספות אם התצוגה המורשית החדשה תחרוג מהמגבלה.
לפני שמתחילים
מקצים תפקידים בניהול הזהויות והרשאות הגישה (IAM) שנותנים למשתמשים את ההרשאות הנדרשות לשליחת שאילתות לתצוגות המורשות או לתצוגות חומריות מורשות ששיתפתם.
התפקידים הנדרשים
כדי ליצור או לעדכן תצוגה מורשית, צריך הרשאות למערך הנתונים שמכיל את התצוגה ולמערך הנתונים שמאפשר גישה לתצוגה.
בנוסף, צריך להעניק למשתמשים או לקבוצות גישה לפרויקט ולמערך הנתונים שמכילים את התצוגה.
הרשאות אדמין במערך הנתונים שמכיל את התצוגה
תצוגות מפורטות נחשבות למשאבי טבלה ב-BigQuery, ולכן כדי ליצור תצוגה מפורטת צריך את אותן הרשאות שנדרשות ליצירת טבלה. צריכות להיות לכם גם הרשאות להריץ שאילתות על כל הטבלאות שהשאילתת SQL של התצוגה מפנה אליהן.
כדי ליצור תצוגה מפורטת, צריך bigquery.tables.createהרשאת IAM. תפקיד ה-IAM המוגדר מראש roles/bigquery.dataEditor כולל את ההרשאות שנדרשות ליצירת תצוגה.
בנוסף, אם יש לכם הרשאה bigquery.datasets.create, אתם יכולים ליצור תצוגות במערכי הנתונים שאתם יוצרים. כדי ליצור תצוגה של נתונים שלא בבעלותכם, אתם צריכים bigquery.tables.getData הרשאה לטבלה הזו.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
הרשאות אדמין במערך הנתונים השני שמעניקות גישה לתצוגה
כדי לעדכן את מאפייני מערך הנתונים, אתם צריכים את הרשאות ה-IAM הבאות:
bigquery.datasets.update-
bigquery.datasets.setIamPolicy(נדרשת רק כשמעדכנים את אמצעי בקרת הגישה למערך נתונים ב Google Cloud מסוף)
תפקיד ה-IAM המוגדר מראש roles/bigquery.dataOwner כולל את ההרשאות שנדרשות לעדכון מאפיינים של מערך נתונים.
בנוסף, אם יש לכם הרשאה bigquery.datasets.create, אתם יכולים לעדכן את המאפיינים של מערכי הנתונים שאתם יוצרים.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
הרשאות משתמש בפרויקט ובמערך הנתונים לתצוגה
כדי לשתף תצוגה מורשית עם משתמשים או קבוצות, צריך לתת למשתמשים או לקבוצות את הרשאות ה-IAM הבאות:
- תפקיד ה-IAM
roles/bigquery.jobUserבפרויקט שמכיל את התצוגה המפורטת המורשית. התפקיד הזה מעניק את ההרשאהbigquery.jobs.createשנדרשת להרצת שאילתות על התצוגה. - תפקיד ה-IAM
roles/bigquery.dataViewerבמערך הנתונים שמכיל את התצוגה המפורטת המורשית. התפקיד הזה מעניק את ההרשאהbigquery.tables.getData, שנדרשת כדי לשלוח שאילתה לתצוגה.
עבודה עם תצוגות מורשות
בקטעים הבאים מוסבר איך לעבוד עם תצוגות מורשות ותצוגות חומריות מורשות.
יצירת תצוגה מורשית
כדי ליצור תצוגה מורשית, בוחרים באחת מהאפשרויות הבאות. הוראות מלאות לאישור, שיתוף ומחיקה של תצוגה מאושרת זמינות במדריך יצירת תצוגה מאושרת.
המסוף
עוברים לדף BigQuery.
בעורך השאילתות, מקלידים את השאילתה שעליה רוצים לבסס את התצוגה המורשית.
לוחצים על שמירה > שמירת התצוגה.
בתיבת הדו-שיח Save view:
בשדה פרויקט, מקלידים את הפרויקט שבו רוצים לשמור את התצוגה.
בשדה Dataset (מערך נתונים), מקלידים את מערך הנתונים שבו רוצים לשמור את התצוגה. הנתונים האלה חייבים להיות שונים ממערך הנתונים שמשמש בשאילתת המקור.
בשדה Table, מקלידים את שם התצוגה.
לוחצים על Save.
נותנים הרשאות נדרשות למשתמשים שיכולים להשתמש בתצוגה המורשית.
בחלונית Explorer, בוחרים את מערך הנתונים שבו נעשה שימוש בשאילתת המקור.
בחלונית פרטים, לוחצים על שיתוף > הרשאת צפייה.
בחלונית תצוגות מורשות, בשדה תצוגה מורשית, מקלידים את השם המוגדר במלואו של התצוגה, בפורמט PROJECT_ID.DATASET_ID.VIEW_NAME.
לוחצים על הוספת הרשאה.
Terraform
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי להחיל את ההגדרות של Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
ניהול משתמשים או קבוצות בתצוגות מורשות
אחרי שמאשרים גישה לתצוגה, אפשר לשמור על הגישה אליה על ידי השלמת המשימות הבאות עבור מערך נתונים, טבלה או תצוגה:
- עיון במדיניות הגישה.
- נותנים גישה.
- ביטול הגישה.
- מניעת גישה.
מידע נוסף זמין במאמר שליטה בגישה למשאבים באמצעות IAM.
הסרת ההרשאה לתצוגה
כדי להסיר הרשאה לתצוגה מפורטת, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ואז בוחרים מערך נתונים.
לוחצים על סקירה כללית > טבלאות ובוחרים טבלה.
לוחצים על שיתוף > הרשאת צפייה.
לוחצים על הסרת ההרשאה.
לוחצים על Close.
BQ
כדי להסיר הרשאה מתצוגה, משתמשים בפקודה bq rm. מזינים את table_id של התצוגה המפורטת שרוצים לבטל את ההרשאה שלה.
bq rm \ project_id:dataset:table_id
API
קוראים למתודה tables.delete ומשתמשים במאפיינים projectID, datasetID ו-tableID כדי להסיר את התצוגה המורשית של קבוצת הנתונים. מידע נוסף מופיע במאמר בנושא טבלאות.
מכסות ומגבלות
- תצוגות מורשות כפופות למגבלות של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מגבלות על מערכי נתונים.
- אם מסירים תצוגה מורשית, יכולות לחלוף עד 24 שעות עד שכל ההפניות לתצוגה יוסרו מהמערכת. כדי להימנע משגיאות, צריך להמתין 24 שעות לפני שימוש חוזר בשם של תצוגה שהוסרה, או ליצור שם ייחודי לתצוגה.
נושאים מתקדמים
בקטעים הבאים מתוארות שיטות מתקדמות לשימוש בתצוגות מורשות.
שילוב של אבטחה ברמת השורה עם תצוגות מורשות
הנתונים שמוצגים בתצוגה לוגית או בתצוגה מגובשת מסוננים בהתאם למדיניות הגישה ברמת השורה של טבלת המקור הבסיסית.
פרטים על האינטראקציה בין אבטחה ברמת השורה לבין תצוגות חומריות זמינים במאמר בנושא שימוש באבטחה ברמת השורה עם תכונות אחרות של BigQuery.
שילוב של אבטחה ברמת העמודה עם תצוגות מורשות
ההשפעה של אבטחה ברמת העמודה על תצוגות לא תלויה בשאלה אם התצוגה היא תצוגה מורשית או לא.
לתיאור מפורט של אופן החלת ההרשאות, אפשר לעיין במאמר בנושא תצוגות שאילתה לאבטחה ברמת העמודה.
שימוש ב-BigQuery sharing עם תצוגות מורשות
שיתוף ב-BigQuery (לשעבר Analytics Hub) הוא פלטפורמה להחלפת נתונים עם היכולות הבאות:
- מאפשר לכם לשתף נתונים ותובנות בהיקף נרחב בין יחידות שונות בארגון.
- נעשה שימוש ב-framework חזק של אבטחה ופרטיות.
- תמיכה בפרסום של מערך נתונים ב-BigQuery, שנקרא מערך נתונים משותף, והתצוגות המורשות ומערכי הנתונים המורשים המשויכים אליו, לקבוצה של מנויים.
מערך נתונים מקושר הוא מערך נתונים ב-BigQuery שמוגדר לקריאה בלבד ומשמש כאינדיקטור או כהפניה למערך נתונים משותף. כשנרשמים למינוי של רשימת נתונים ששותפה, נוצר מערך נתונים מקושר בפרויקט, אבל לא נוצר עותק של מערך הנתונים. לכן, המנויים יכולים לקרוא את הנתונים אבל לא יכולים להוסיף או לעדכן אובייקטים בתוכו.
אין תמיכה בתצוגות חומריות שמפנות לטבלאות במערך הנתונים המקושר.
מידע נוסף זמין במאמר בנושא מבוא לשיתוף.
המאמרים הבאים
- במאמר יצירת תצוגה מורשית יש הדרכה ליצירת תצוגה מורשית.
- כדי ליצור תצוגה לוגית, אפשר לעיין במאמר יצירת תצוגות לוגיות.
- כדי ליצור תצוגה מהותית שתומכת בסוגים אחרים של בקרת גישה, אפשר לעיין במאמר בנושא יצירת תצוגות מהותיות.
- במאמר קבלת מידע על תצוגות מוסבר איך מקבלים מטא-נתונים של תצוגות.
- במאמר ניהול תצוגות מוסבר איך לנהל את התצוגות.