שיתוף מידע אישי רגיש עם חדרים נקיים לנתונים
אתם יכולים להשתמש בחדרים נקיים לנתונים כדי ליצור סביבה עם אבטחה משופרת. בסביבה הזו, כמה גורמים משתפים, מאחדים ומנתחים את נכסי הנתונים שלהם. השיתוף הזה מתבצע בלי להעביר או לחשוף את הנתונים הבסיסיים.
חדרים נקיים לנתונים ב-BigQuery משתלבים בפלטפורמת BigQuery sharing (לשעבר Analytics Hub). מאגרי נתונים סטנדרטיים לשיתוף ב-BigQuery תומכים בשיתוף נתונים בקנה מידה נרחב בין ארגונים שונים. עם זאת, חדרים נקיים לנתונים משמשים במיוחד לנתונים רגישים ומוגנים. חדרים נקיים לנתונים מספקים אמצעי בקרה נוספים לאבטחה, שמגינים על הנתונים הבסיסיים ואוכפים את כללי הניתוח שהוגדרו על ידי בעלי הנתונים.
תרחישים לדוגמה
תרחישי שימוש עיקריים:
- תכנון קמפיינים ומדדי קהלים. מאפשרים לשני צדדים (לדוגמה, אתרי מכירה וקונים) לשלב נתונים מאינטראקציה ישירה (First-Party) ולשפר את העשרת הנתונים תוך שמירה על הפרטיות.
- מדידה ושיוך (Attribution). התאמה בין נתוני הלקוחות לנתוני הביצועים של המדיה כדי להבין טוב יותר את יעילות השיווק ולקבל החלטות לגבי קמפיינים עתידיים.
- הפעלה. לשלב נתוני לקוחות עם נתונים מגורמים אחרים כדי להבין טוב יותר את הלקוחות, וכך לשפר את יכולות הפילוח ואת הפעלת המדיה.
חדרים נקיים לנתונים תומכים גם בכמה תרחישים לדוגמה מחוץ לתחום השיווק:
- קמעונאות ומוצרי צריכה ארוזים (CPG). אופטימיזציה של פעילויות שיווק וקידום מכירות על ידי שילוב של נתוני נקודות מכירה מקמעונאים ונתוני שיווק מחברות CPG.
- שירותים פיננסיים. לשלב נתונים רגישים מסוכנויות פיננסיות וממשלתיות אחרות כדי לשפר את זיהוי ההונאות. לצבור נתוני לקוחות מכמה בנקים כדי לחשב את ציון סיכון האשראי.
- שירותי בריאות. שיתוף נתונים משותפים בין רופאים וחוקרים בתחום התרופות כדי ללמוד איך מטופלים מגיבים לטיפולים.
- שרשרת אספקה, לוגיסטיקה ותחבורה. כדי לקבל תמונה מלאה של ביצועי המוצרים לאורך מחזור החיים שלהם, כדאי לשלב נתונים מספקים ומשווקים.
תפקידים
יש שלושה תפקידים עיקריים בחדרים נקיים לנתונים ב-BigQuery:
- בעלים של חדר נקי לנתונים: מנהל את ההרשאות, החשיפה והחברות בחדר נקי אחד או יותר לנתונים בפרויקט ב- Google Cloud . הבעלים של החדר הנקי לנתונים יכולים להקצות למשתמשים את התפקידים "ספק נתונים" ו"מנוי לחדר נקי לנתונים". התפקיד הזה מקביל לתפקיד אדמין ב-Analytics Hub בממשק לניהול הזהויות והרשאות הגישה (IAM).
- תורם נתונים: מפרסם נתונים בחדר נקי לנתונים. במקרים רבים, הבעלים של חדר נקי לנתונים הוא גם ספק נתונים. התפקיד הזה מקביל לתפקיד בעל תוכן דיגיטלי ב-Analytics Hub ב-IAM.
- מנוי לחדר נקי לנתונים: מנוי לנתונים שפורסמו בחדר נקי לנתונים ומריץ שאילתות על הנתונים. התפקיד הזה מקביל לשילוב של התפקידים מנוי ב-Analytics Hub ובעלי מינוי ב-Analytics Hub ב-IAM.
ארכיטקטורה
בחדרים נקיים לנתונים ב-BigQuery, המודל של פרסום נתונים והרשמה לנתונים מבוסס על נתונים ב-BigQuery. הארכיטקטורה של BigQuery מפרידה בין המחשוב לאחסון, וכך מאפשרת לשתף נתונים בלי ליצור כמה עותקים שלהם. בתרשים הבא מוצגת הארכיטקטורה של חדר נקי לנתונים ב-BigQuery:

חדר נקי לנתונים
חדר נקי לנתונים הוא סביבה לשיתוף נתונים רגישים, שמונעת גישה לנתונים גולמיים ואוכפת הגבלות על שאילתות. רק משתמשים או קבוצות שנוספו כמנויים לחדר נקי לנתונים יכולים להירשם לנתונים המשותפים. בעלים של חדרים נקיים לנתונים יכולים ליצור כמה חדרים נקיים לנתונים שהם רוצים ב-BigQuery sharing.
משאבים משותפים
משאב משותף הוא יחידת שיתוף הנתונים בחדר נקי לנתונים. המשאב חייב להיות טבלה ב-BigQuery, תצוגה או שגרת BigQuery (פונקציה עם ערך טבלה). כספקי נתונים, אתם יוצרים משאב BigQuery בפרויקט שלכם או משתמשים במשאב קיים כדי לשתף אותו עם המנויים של החדר הנקי לנתונים.
כרטיסי מוצר
כשאתם מוסיפים נתונים לחדר נקי לנתונים כספקי נתונים, אתם יוצרים רישום. הרישום מכיל הפניה למשאב המשותף שלכם, וגם מידע תיאורי שעוזר למנויים להשתמש בנתונים. אפשר לכלול מידע כמו תיאור, שאילתות לדוגמה וקישורים למסמכי תיעוד למנויים.
קבוצות נתונים מקושרות
מערך נתונים מקושר הוא מערך נתונים לקריאה בלבד ב-BigQuery, שמשמש כקישור סמלי לכל הנתונים בחדר נקי לנתונים. כשמנויים של חדר נקי לנתונים שולחים שאילתות לגבי משאבים בקבוצת נתונים מקושרת, מוחזרים נתונים מהמשאבים המשותפים, בהתאם לכללי הניתוח שהוגדרו על ידי תורם הנתונים. כשנרשמים לחדר נקי לנתונים, BigQuery יוצר מערך נתונים מקושר בפרויקט. לא נוצר עותק של הנתונים, והמנויים לא יכולים לראות מטא-נתונים מסוימים, כמו הגדרות תצוגה.
כללי ניתוח
כשותפי מידע, אתם מגדירים כללי ניתוח במשאבים שאתם משתפים בחדר הנקי לנתונים. כללי ניתוח עוזרים למנוע גישה גולמית לנתונים הבסיסיים ולאכוף הגבלות על שאילתות. לדוגמה, חדרים נקיים לנתונים תומכים בכלל הניתוח של הסף לצבירת נתונים, שמאפשר למנויים של חדרים נקיים לנתונים לנתח נתונים רק באמצעות שאילתות צבירה.
אמצעי בקרה על תעבורת נתונים יוצאת (egress)
אמצעי הבקרה על ייצוא נתונים מונעים באופן אוטומטי ממנויים של חדר נקי לנתונים להעתיק ולייצא נתונים גולמיים מחדר נקי לנתונים. ספקי הנתונים יכולים להגדיר אמצעי בקרה נוספים כדי למנוע העתקה וייצוא של תוצאות השאילתות שהמנויים מקבלים.
תבניות של שאילתות
תבניות של שאילתות מאפשרות לבעלים של חדרים נקיים לנתונים ולבעלי תוכן דיגיטלי שמשתפים ב-BigQuery לשתף שאילתות מוגדרות מראש בלי לשתף את המשאבים הבסיסיים של הטבלאות והתצוגות.
שאילתות מוגדרות מראש משתמשות בפונקציות עם ערכי טבלה (TVF) ב-BigQuery, שמאפשרות להעביר טבלה שלמה או שדות ספציפיים כפרמטרים של קלט, ולהחזיר טבלה כפלט.
מגבלות
לחדרים נקיים לנתונים ב-BigQuery יש את המגבלות הבאות:
- אפשר להגדיר כללי ניתוח רק בתצוגות, ולא בטבלאות או בתצוגות מהותיות. בגלל המגבלה הזו, למנויים יש גישה לנתונים גולמיים אם ספק נתונים משתף טבלאות, תצוגות מהותיות או תצוגות בלי כללי ניתוח ישירות בחדר נקי לנתונים.
- כללי הניתוח מספקים אמצעי בקרה על הפרטיות, אבל הם לא בהכרח חוסמים כל שאילתה לא מורשית שנועדה לחלץ נתונים גולמיים. כדי להגן על המידע, אתם יכולים להשתמש בתבניות של שאילתות בחדרים נקיים לנתונים כדי לבדוק ולאשר שאילתות, וכך לחסום ניסיונות לא מורשים.
- חדרים נקיים לנתונים משתמשים בפלטפורמת BigQuery sharing, ולכן חלות עליהם כל המגבלות של BigQuery sharing.
- חדרים נקיים לנתונים זמינים רק באזורים של BigQuery sharing.
- מנויים של חדר נקי לנתונים לא יכולים לחפש משאבים משותפים ב-Knowledge Catalog.
- כמנויים בחדר נקי לנתונים, אתם לא יכולים לשלוח שאילתות לתצוגות של
INFORMATION_SCHEMAבקבוצות נתונים מקושרות. - כספקי נתונים, אתם לא יכולים לפרסם קבוצת נתונים שלמה ישירות בחדר נקי לנתונים.
- כספקי נתונים, אתם לא יכולים לפרסם מודלים או שגרות (מחוץ לתבניות של שאילתות) בחדר נקי לנתונים.
- אפשר להוסיף עד 100 משאבים משותפים לחדר נקי לנתונים. אם אתם צריכים להגדיל את המגבלה הזו, פנו לכתובת bq-dcr-feedback@google.com.
- בחדרים נקיים לנתונים אין תמיכה בכרטיסי מוצר לכמה אזורים.
לפני שמתחילים
מקצים תפקידי IAM כדי לוודא שיש לכם את ההרשאות הנדרשות להשלמת המשימות שבמסמך הזה, מפעילים את Analytics Hub API ומקצים את התפקיד "אדמין ב-Analytics Hub" לבעלים של החדר הנקי לנתונים.
ההרשאות הנדרשות
כדי לקבל את ההרשאות שדרושות לשימוש בחדרים נקיים לנתונים, בקשו מהאדמין להקצות לכם את תפקיד ה-IAM עריכת נתונים ב-BigQuery (roles/bigquery.dataEditor).
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות כדי להשתמש בחדרים נקיים לנתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להשתמש בחדרים נקיים לנתונים, נדרשות ההרשאות הבאות:
-
serviceUsage.services.get -
serviceUsage.services.list -
serviceUsage.services.enable
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
במאמר מבוא ל-IAM מוסבר בהרחבה על התפקידים וההרשאות ב-IAM ב-BigQuery.
הפעלת Analytics Hub API
כדי להפעיל את Analytics Hub API, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Analytics Hub API ומפעילים את ה-API בפרויקט ב- Google Cloud .
gcloud
מריצים את הפקודה gcloud services enable:
gcloud services enable analyticshub.googleapis.com
אחרי שמפעילים את Analytics Hub API, אפשר לגשת לדף Sharing (Analytics Hub).
הקצאת התפקיד "אדמין ב-Analytics Hub"
כדי ליצור חדר נקי לנתונים בתור בעלים, צריך להיות לכם תפקיד אדמין ב-Analytics Hub (roles/analyticshub.admin). מידע נוסף על הקצאת התפקיד הזה למשתמשים אחרים זמין במאמר יצירת אדמינים לשיתוף ב-BigQuery.
תהליכי עבודה של בעלי חדרים נקיים לנתונים
כבעלים של חדר נקי לנתונים, אתם יכולים:
- יוצרים חדר נקי לנתונים.
- עדכון המאפיינים של החדר הנקי לנתונים.
- למחוק חדר נקי לנתונים.
- לנהל את תורמי הנתונים.
- לנהל את המנויים לחדר הנקי לנתונים.
- לשתף חדר נקי לנתונים.
הרשאות נוספות של בעלי חדר נקי לנתונים
כדי לבצע את המשימות של בעלי החדר הנקי לנתונים, צריך להיות לכם תפקיד אדמין ב-Analytics Hub (roles/analyticshub.admin) בפרויקט. אפשר גם להקצות את התפקיד הזה ברמת התיקייה או הארגון, אם רלוונטי.
יצירת חדר נקי לנתונים
כדי ליצור חדר נקי לנתונים, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על יצירת חדר נקי.
בקטע Project, בוחרים את הפרויקט של החדר הנקי לנתונים. צריך להפעיל את Analytics Hub API בפרויקט.
מציינים את המיקום, השם, איש הקשר הראשי, הסמל (אופציונלי) והתיאור של החדר הנקי לנתונים. אפשר להציג בחדר הנקי לנתונים רק משאבים שנמצאים באותו אזור של החדר הנקי לנתונים.
אופציונלי: כדי לתעד ביומן את מזהי החשבונות של כל המשתמשים שמריצים משימות ושאילתות בקבוצות נתונים מקושרות, לוחצים על המתג רישום ביומן של כתובות האימייל של המנויים. הנתונים שנרשמו ביומן מופיעים בשדה
job_principal_subjectשל התצוגהINFORMATION_SCHEMA.SHARED_DATASET_USAGE.לוחצים על יצירת חדר נקי.
אופציונלי: בקטע Clean Room Permissions, מוסיפים בעלים אחרים של חדר נקי לנתונים, תורמי נתונים או מנויים של חדר נקי לנתונים.
API
משתמשים ב-method projects.locations.dataExchanges.create ומגדירים את סביבת השיתוף ל-dcrExchangeConfig.
בדוגמה הבאה אפשר לראות איך מפעילים את השיטה projects.locations.dataExchanges.create באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges?dataExchangeId=CLEAN_ROOM_ID -d \ '{ "displayName": "CLEAN_ROOM_NAME", "sharingEnvironmentConfig": {"dcrExchangeConfig": {}} }'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט LOCATION: המיקום של החדר הנקי לנתונים-
CLEAN_ROOM_ID: המזהה של החדר הנקי לנתונים -
CLEAN_ROOM_NAME: השם המוצג של החדר הנקי לנתונים
בגוף הבקשה, מספקים את פרטי החלפת הנתונים.
אם הבקשה תאושר, גוף התגובה יכלול את פרטי החדר הנקי לנתונים.
אם מפעילים רישום ביומן של כתובות האימייל של המנויים באמצעות השדה logLinkedDatasetQueryUserEmail, התגובה של חילופי הנתונים מכילה את הערך log_linked_dataset_query_user_email: true. הנתונים שנרשמו ביומן מופיעים בשדה job_principal_subject של התצוגה INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
עדכון של חדר נקי לנתונים
כדי לעדכן את המאפיינים של חדר נקי לנתונים, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על השם המוצג של החדר הנקי לנתונים שרוצים לעדכן.
בכרטיסייה פרטים, לוחצים על עריכת הפרטים של חדר ה-Clean Room.
מעדכנים את השם של החדר הנקי לנתונים, את איש הקשר הראשי, את הסמל, את התיאור או את הגדרת רישום כתובות האימייל של המנויים, לפי הצורך.
לוחצים על Save.
API
משתמשים ב-method projects.locations.dataExchanges.patch ומגדירים את סביבת השיתוף ל-dcrExchangeConfig.
בדוגמה הבאה מוסבר איך להפעיל את השיטה projects.locations.dataExchanges.patch באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID?updateMask=UPDATEMASK -d \ '{ "displayName": "CLEAN_ROOM_NAME", "sharingEnvironmentConfig": {"dcrExchangeConfig": {}} }'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט LOCATION: המיקום של החדר הנקי לנתונים-
CLEAN_ROOM_ID: המזהה של החדר הנקי לנתונים -
UPDATEMASK: רשימה מופרדת בפסיקים של השדות שרוצים לעדכן, לדוגמהdisplayName,primaryContact -
CLEAN_ROOM_NAME: השם המוצג של החדר הנקי לנתונים
בגוף הבקשה, מציינים את הערכים המעודכנים בשדות הבאים:
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
מידע נוסף על השדות האלה זמין במאמר משאב: DataExchange.
מחיקת חדר נקי לנתונים
כדי למחוק חדר נקי לנתונים, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
בשורה של החדר הנקי לנתונים שרוצים למחוק, לוחצים על פעולות נוספות > מחיקה.
כדי לאשר, מזינים
deleteולוחצים על מחיקה. אי אפשר לבטל את הפעולה הזו.
API
משתמשים בשיטה projects.locations.dataExchanges.delete.
בדוגמה הבאה מוסבר איך להפעיל את השיטה projects.locations.dataExchanges.delete באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט LOCATION: המיקום של החדר הנקי לנתונים-
CLEAN_ROOM_ID: המזהה של החדר הנקי לנתונים
כשמוחקים חדר נקי לנתונים, כל כרטיסי המוצר שבו נמחקים. המשאבים המשותפים ומערכי הנתונים המקושרים לא נמחקים. הקישור בין מערכי הנתונים המקושרים לבין מערכי הנתונים של המקור מבוטל, ולכן המנויים של החדר הנקי לנתונים לא יכולים לשלוח שאילתות למשאבים בחדר הנקי לנתונים.
ניהול תורמי הנתונים
הבעלים של חדר נקי לנתונים יכולים לנהל את רשימת המשתמשים שיכולים להוסיף נתונים לחדרים הנקיים לנתונים (ספקי הנתונים). כדי לאפשר לספק נתונים להוסיף נתונים לחדר נקי לנתונים, צריך לתת לו את התפקיד "בעל תוכן דיגיטלי ב-Analytics Hub" (roles/analyticshub.publisher) בחדר הנקי לנתונים:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על השם המוצג של החדר הנקי לנתונים שרוצים לתת לו הרשאות.
בכרטיסייה פרטים, לוחצים על הגדרת הרשאות.
לוחצים על Add principal.
בשדה New principals, מזינים את שמות המשתמשים או כתובות האימייל של המשתמשים שרוצים להוסיף.
בשדה Select a role, בוחרים באפשרות Analytics Hub > Analytics Hub Publisher.
לוחצים על Save.
אתם יכולים למחוק ולעדכן את ספקי הנתונים בכל שלב. פשוט לוחצים על הגדרת הרשאות.
API
משתמשים בשיטה projects.locations.dataExchanges.setIamPolicy.
בדוגמה הבאה אפשר לראות איך מפעילים את השיטה projects.locations.dataExchanges.setIamPolicy באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:setIamPolicy -d \ '{ "policy": { "bindings": [ { "members": [ "my-service-account@my-project.iam.gserviceaccount.com" ], "role": "roles/analyticshub.publisher" } ] } }'
המדיניות בגוף הבקשה צריכה להתאים למבנה של Policy.
אפשר להקצות את התפקיד "בעל תוכן דיגיטלי ב-Analytics Hub" (roles/analyticshub.publisher) לפרויקט שלם בדף IAM.
התפקיד הזה נותן הרשאה להוסיף נתונים לכל חדר נקי לנתונים בפרויקט.
לא מומלץ להקצות את התפקיד הזה ברמת הפרויקט, כי זה עלול לגרום לגישה מתירנית מדי.
ניהול המנויים בחדר הנקי לנתונים
כבעלים של חדר נקי לנתונים, אתם יכולים לקבוע מי יכול להירשם לחדרים הנקיים לנתונים שלכם (המנויים שלכם). כדי לאפשר למנוי להירשם לחדר נקי לנתונים, צריך להקצות לו את התפקיד "מנוי ב-Analytics Hub" (roles/analyticshub.subscriber) ואת התפקיד "בעלים של מינוי ב-Analytics Hub" (roles/analyticshub.subscriptionOwner) בחדר הנקי לנתונים:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על השם המוצג של החדר הנקי לנתונים שרוצים לתת לו הרשאות.
בכרטיסייה פרטים, לוחצים על הגדרת הרשאות.
לוחצים על Add principal.
בשדה New principals, מזינים את שמות המשתמשים או כתובות האימייל של המנויים שאתם מוסיפים לחדר הנקי לנתונים.
בשדה Select a role, בוחרים באפשרות Analytics Hub > Analytics Hub Subscriber.
לוחצים על Add another role.
בשדה Select a role, בוחרים באפשרות Analytics Hub > Analytics Hub Subscription Owner.
לוחצים על Save.
אתם יכולים למחוק ולעדכן את המנויים של החדר הנקי לנתונים בכל שלב. פשוט לוחצים על הגדרת הרשאות.
API
משתמשים בשיטה projects.locations.dataExchanges.setIamPolicy.
בדוגמה הבאה אפשר לראות איך מפעילים את השיטה projects.locations.dataExchanges.setIamPolicy באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:setIamPolicy -d \ '{ "policy": { "bindings": [ { "members": [ "user:mike@example.com" ], "role": "roles/analyticshub.subscriptionOwner" }, { "members": [ "user:mike@example.com" ], "role": "roles/analyticshub.subscriber" } ] } }'
המדיניות בגוף הבקשה צריכה להתאים למבנה של Policy.
אפשר להקצות את התפקיד "מנוי ב-Analytics Hub" (roles/analyticshub.subscriber) ואת התפקיד "בעלי מינוי ב-Analytics Hub" (roles/analyticshub.subscriptionOwner) לפרויקט שלם בדף IAM.
התפקידים האלה נותנים הרשאה להירשם לכל חדר נקי לנתונים בפרויקט הזה. כדי לא לתת יותר מדי הרשאות, אל תקצו את התפקידים האלה ברמת הפרויקט.
שיתוף חדר נקי לנתונים
אתם יכולים לשתף חדר נקי לנתונים ישירות עם המנויים שלו:
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
בשורה של החדר הנקי לנתונים שרוצים לשתף, לוחצים על More actions > Copy share link.
כדי לאפשר למנויים לצפות בחדר הנקי לנתונים ולהירשם אליו, משתפים איתם את הקישור שהועתק.
תהליכי עבודה של תורמי נתונים
כשותפי נתונים, אתם יכולים:
- כדי להוסיף נתונים לחדר נקי לנתונים, צריך ליצור כרטיס מוצר.
- עדכון דף האפליקציה בחנות.
- למחוק דף אפליקציה.
- לשתף חדר נקי לנתונים.
- מעקב אחרי דפי מידע מקומיים.
הרשאות נוספות לשותפי נתונים
כדי לבצע משימות של ספק נתונים, צריך להיות לכם תפקיד בעל תוכן דיגיטלי ב-Analytics Hub (roles/analyticshub.publisher) בחדר נקי לנתונים.
בנוסף, צריך את ההרשאות bigquery.datasets.get, bigquery.datasets.update ו-bigquery.tables.get במערך הנתונים ובטבלה של המקור. ההרשאות האלה זמינות בתפקיד הבעלים של נתוני BigQuery (roles/bigquery.dataOwner).
כדי לראות את החדרים הנקיים לנתונים בארגון שלא נמצאים בפרויקט הנוכחי, צריך את ההרשאה resourcemanager.organizations.get.
כדי להשתמש בתהליך היצירה של חדר נקי לנתונים כדי ליצור תצוגה ב-BigQuery עם כללי ניתוח, אתם צריכים את ההרשאות bigquery.tables.setPrivacyPolicy ו-bigquery.tables.create. אם מפנים לתצוגה באופן ישיר, ההרשאה הזו לא נדרשת.
יצירת דף מידע (הוספת נתונים)
כדי להכין נתונים באמצעות כללי ניתוח ולפרסם אותם בחדר נקי לנתונים כרשומה:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על השם המוצג של החדר הנקי לנתונים שבו רוצים ליצור את כרטיס המוצר.
אם אתם לא שייכים לארגון של הבעלים של החדר הנקי לנתונים, והחדר הנקי לנתונים לא גלוי לכם, בקשו מהבעלים של החדר הנקי לנתונים קישור ישיר.
לוחצים על הוספת נתונים.
בשדות Select dataset ו-Table/view name, מזינים את הטבלה או התצוגה שרוצים להציג בחדר הנקי לנתונים ואת מערך הנתונים התואם. בשלבים הבאים תוסיפו כללי ניתוח כדי למנוע גישה לנתונים הגולמיים האלה.
בוחרים את העמודות של המשאב שרוצים לפרסם.
מגדירים את שם התצוגה, איש הקשר הראשי והתיאור (אופציונלי) של האפליקציה.
לוחצים על הבא.
בוחרים כלל ניתוח לכרטיס המוצר ומגדירים את הפרטים.
להגדיר אמצעי בקרה על יציאת נתונים למוצר.
לוחצים על הבא.
בודקים את הנתונים ואת כלל הניתוח שמוסיפים לחדר הנקי לנתונים.
לוחצים על הוספת נתונים. נוצרת תצוגה של הנתונים והיא מתווספת כרשומה לחדר הנקי לנתונים. טבלת המקור או התצוגה עצמה לא נוספות.
API
משתמשים בשיטה projects.locations.dataExchanges.listings.create.
בדוגמה הבאה אפשר לראות איך מפעילים את השיטה projects.locations.dataExchanges.listings.create באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings?listingId=LISTING_ID -d \ '{"bigqueryDataset":{"dataset":"projects/PROJECT_ID/datasets/DATASET_ID","selectedResources":[{"table":"projects/PROJECT_ID/datasets/DATASET_ID/tables/VIEW_ID"}]},"displayName":"LISTING_NAME"}'
מחליפים את מה שכתוב בשדות הבאים:
-
DCR_PROJECT_ID: מזהה הפרויקט שבו נוצר החדר הנקי לנתונים. -
PROJECT_ID: מזהה הפרויקט שבו נמצא מערך הנתונים של המקור. -
DATASET_ID: מזהה מערך הנתונים של המקור. -
LOCATION: המיקום של החדר הנקי לנתונים. -
CLEAN_ROOM_ID: המזהה של החדר הנקי לנתונים. -
LISTING_ID: מזהה דף האפליקציה. -
LISTING_NAME: שם דף האפליקציה בחנות. -
VIEW_ID: מזהה התצוגה המפורטת. התצוגה שמוסיפים לחדר נקי לנתונים חייבת להיות תצוגה מורשית שמוגדרים בה כללי ניתוח.
כשאתם מוסיפים משאב לחדר נקי לנתונים, אתם נותנים לכל המנויים הנוכחיים והעתידיים של החדר הנקי לנתונים גישה לנתונים במשאב המשותף.
אם יוצרים דף מוצר עם משאב משותף שאין לו כלל ניתוח, תופיע אזהרה שמציינת שמנויים יכולים לגשת לנתונים גולמיים של המשאב הזה. אם תאשרו את האזהרה, עדיין תוכלו ליצור את דף האפליקציה.
אם מופיעה השגיאה Failed to save listing, ודאו שיש לכם את ההרשאות הנדרשות להשלמת משימות של ספק נתונים.
עדכון של דף פרטי העסק
כדי לעדכן דף אפליקציה, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על השם המוצג של החדר הנקי לנתונים שמכיל את כרטיס המוצר.
בשורה של דף האפליקציה שרוצים לעדכן, לוחצים על פעולות נוספות > עריכת דף האפליקציה.
מעדכנים את איש הקשר הראשי או את התיאור לפי הצורך.
לוחצים על הבא.
מעדכנים את כלל הניתוח לפי הצורך. אפשר לעדכן רק את הפרמטרים של הכלל שנבחר. אי אפשר לעבור לכלל אחר.
לוחצים על הבא.
בודקים את דף האפליקציה ולוחצים על שמירה.
API
משתמשים בשיטה projects.locations.dataExchanges.listings.patch.
בדוגמה הבאה אפשר לראות איך מפעילים את השיטה projects.locations.dataExchanges.listings.patch באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X PATCH https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings/LISTING_ID?updateMask=displayName -d \ '{"displayName":"LISTING_NAME"}'
מחליפים את מה שכתוב בשדות הבאים:
-
DCR_PROJECT_ID: מזהה הפרויקט שבו נוצר החדר הנקי לנתונים. -
LOCATION: המיקום של החדר הנקי לנתונים. -
CLEAN_ROOM_ID: המזהה של החדר הנקי לנתונים. -
LISTING_ID: מזהה דף האפליקציה. -
LISTING_NAME: שם דף האפליקציה בחנות.
אחרי שיוצרים את דף האפליקציה, אי אפשר לשנות את משאב המקור או את אמצעי הבקרה על ייצוא הנתונים.
מחיקת דף אפליקציה
כדי למחוק דף אפליקציה, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על השם המוצג של החדר הנקי לנתונים שמכיל את כרטיס המוצר.
בשורה של דף האפליקציה שרוצים למחוק, לוחצים על פעולות נוספות > מחיקת דף האפליקציה.
כדי לאשר, מזינים
deleteולוחצים על מחיקה. אי אפשר לבטל את הפעולה הזו.
API
משתמשים בשיטה projects.locations.dataExchanges.listings.delete.
בדוגמה הבאה אפשר לראות איך מפעילים את השיטה projects.locations.dataExchanges.listings.delete באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X DELETE https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings/LISTING_ID
מחליפים את מה שכתוב בשדות הבאים:
-
DCR_PROJECT_ID: מזהה הפרויקט שבו נוצר החדר הנקי לנתונים. -
LOCATION: המיקום של החדר הנקי לנתונים. -
CLEAN_ROOM_ID: המזהה של החדר הנקי לנתונים. -
LISTING_ID: מזהה דף האפליקציה.
כשמוחקים כרטיס מוצר, המשאבים המשותפים ומערכי הנתונים המקושרים לא נמחקים. קבוצות הנתונים המקושרות מנותקות מקבוצות הנתונים המקוריות, ולכן המנויים של החדר הנקי לנתונים לא יכולים לשלוח שאילתות למשאבים באותו מאגר נתונים.
שיתוף חדר נקי לנתונים
אתם יכולים לשתף חדר נקי לנתונים ישירות עם המנויים שלו:
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
בשורה של החדר הנקי לנתונים שרוצים לשתף, לוחצים על More actions > Copy share link.
כדי לאפשר למנויים לצפות בחדר הנקי לנתונים ולהירשם אליו, משתפים איתם את הקישור שהועתק.
מעקב אחרי כרטיסי מוצר
כדי לראות את מדדי השימוש בקבוצות הנתונים של המקורות של המשאבים שאתם משתפים בחדר נקי לנתונים, אתם יכולים לשלוח שאילתה לתצוגה INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
כדי לראות את המנויים של החדר הנקי לנתונים של דף האפליקציה:
במסוף Google Cloud , נכנסים לדף שיתוף (מאגר הניתוחים ב-Analysis).
לוחצים על השם המוצג של החדר הנקי לנתונים.
בשורה של הפריט שרוצים לראות, לוחצים על פעולות נוספות > הצגת המינויים.
תהליכי עבודה של מנויים בחדר נקי לנתונים
כמנויים בחדר נקי לנתונים, אתם יכולים:
- להירשם לחדר נקי לנתונים.
- שליחת שאילתות לגבי נתונים בקבוצת נתונים מקושרת.
כשנרשמים לחדר נקי לנתונים, נוצר מערך נתונים מקושר אחד בפרויקט. לכל מערך נתונים מקושר יש שם זהה לזה של החדר הנקי לנתונים.
אי אפשר להירשם למינוי לפרסום ספציפי בחדר נקי לנתונים. אפשר להירשם רק לחדר הנקי לנתונים עצמו.
הרשאות נוספות למנויים בחדר נקי לנתונים
כדי לבצע משימות של מנויים בחדר נקי לנתונים, צריך להיות לכם תפקיד מנוי ב-Analytics Hub (roles/analyticshub.subscriber) בחדר הנקי לנתונים ותפקיד בעלים של מינוי ב-Analytics Hub (roles/analyticshub.subscriptionOwner) בפרויקט המינוי.
כשנרשמים לחדר נקי לנתונים, צריך גם את ההרשאה bigquery.datasets.create בפרויקט כדי ליצור את מערך הנתונים המקושר.
הרשמה לחדר נקי לנתונים
כשנרשמים לחדר נקי לנתונים, נוצרת קבוצת נתונים מקושרת בפרויקט שלכם, שמאפשרת לכם לשלוח שאילתות לנתונים שברשימות. כדי להירשם לחדר נקי לנתונים:
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית Explorer, לוחצים על Add data.
בוחרים באפשרות שיתוף (Analytics Hub). נפתח דף Discovery.
כדי להציג את החדרים הנקיים לנתונים שיש לכם גישה אליהם, ברשימת המסננים בוחרים באפשרות חדרים נקיים.
לוחצים על החדר הנקי לנתונים שאליו רוצים להירשם. נפתח דף תיאור של החדר הנקי לנתונים. בדף הזה אפשר גם לראות אם הספק הפעיל רישום ביומן של כתובות האימייל של המנויים.
לוחצים על הרשמה.
בוחרים את פרויקט היעד של המינוי ולוחצים על Subscribe.
API
משתמשים בשיטה projects.locations.dataExchanges.subscribe.
בדוגמה הבאה אפשר לראות איך מפעילים את השיטה projects.locations.dataExchanges.subscribe באמצעות הפקודה curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:subscribe --data '{"destination":"projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION","subscription":"SUBSCRIPTION"}'
מחליפים את מה שכתוב בשדות הבאים:
-
DCR_PROJECT_ID: מזהה הפרויקט שבו נוצר החדר הנקי לנתונים. -
LOCATION: המיקום של החדר הנקי לנתונים. -
CLEAN_ROOM_ID: המזהה של החדר הנקי לנתונים. -
SUBSCRIBER_PROJECT_ID: מזהה הפרויקט של הפרויקט המנוי. -
SUBSCRIPTION: שם המינוי. -
LINKED_DATASET_ID: המזהה שרוצים לתת למערך הנתונים המקושר. -
PRIMARY_REGION: האזור הגיאוגרפי הראשי שבו רוצים ליצור את מערך הנתונים המקושר.
בגוף הבקשה, מציינים את מיקום היעד, את שם המינוי ואת מערך הנתונים שבו רוצים ליצור את מערך הנתונים המקושר:
{
"destination": "projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION",
"subscription": "SUBSCRIPTION",
"destinationDataset": {
"datasetReference": {
"projectId": "SUBSCRIBER_PROJECT_ID",
"datasetId": "LINKED_DATASET_ID"
},
"location": "PRIMARY_REGION"
}
}
אם הבקשה מצליחה, גוף התגובה מכיל אובייקט Operation.
אם מפעילים רישום ביומן של כתובות האימייל של המנויים בחדר הנקי לנתונים באמצעות השדה logLinkedDatasetQueryUserEmail, התגובה למינוי מכילה את הערך log_linked_dataset_query_user_email: true. הנתונים שנרשמו ביומן מופיעים בשדה job_principal_subject של התצוגה INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
מערך נתונים מקושר נוסף לפרויקט שציינתם, ואפשר לשלוח אליו שאילתות.
כמנויים בחדר נקי לנתונים, הגישה שלכם למערכי נתונים מקושרים כפופה לתנאים הבאים:
- מטא-נתונים והרשאות: אתם יכולים לערוך חלק מהמטא-נתונים של מערכי הנתונים המקושרים, כמו תיאורים ותוויות, ולהגדיר הרשאות במערכי הנתונים המקושרים. שינויים בקבוצות נתונים מקושרות לא משפיעים על קבוצות הנתונים המקוריות. אי אפשר לראות את הגדרות התצוגה.
- משאבים לקריאה בלבד: המשאבים שכלולים במערכי נתונים מקושרים הם לקריאה בלבד. כמנויים, אתם לא יכולים לערוך נתונים או מטא-נתונים של משאבים במערכי נתונים מקושרים, או לציין הרשאות למשאבים ספציפיים בתוך מערך הנתונים המקושר.
- ביטול המינוי: כדי לבטל את המינוי לחדר הנקי לנתונים, צריך למחוק את מערך הנתונים המקושר.
שליחת שאילתות לגבי נתונים בקבוצת נתונים מקושרת
כדי לשלוח שאילתות על נתונים במערך נתונים מקושר, משתמשים בתחביר SELECT WITH AGGREGATION_THRESHOLD, שמאפשר להריץ שאילתות על תצוגות שמוגדרים בהן כללי ניתוח. דוגמה לתחביר הזה מופיעה במאמר שליחת שאילתה לתצוגה שמוגדר בה כלל ניתוח עם סף צבירת נתונים.
תרחיש לדוגמה: ניתוח שיוך (Attribution) של מפרסם ובעל תוכן דיגיטלי
מפרסם רוצה לעקוב אחרי היעילות של הקמפיינים השיווקיים שלו. למפרסם יש נתונים מאינטראקציה ישירה (First-Party) על הלקוחות שלו, כולל היסטוריית הרכישות, המידע הדמוגרפי ותחומי העניין שלהם. לבעל האתר יש נתונים מהאתר שלו, כולל אילו מודעות הוצגו למבקרים וההמרות שלהם.
המפרסם ובעל האפליקציה מסכימים להשתמש בחדר נקי לנתונים כדי לשלב נתונים ולמדוד את תוצאות הקמפיינים שלהם. במקרה הזה, בעל התוכן הדיגיטלי יוצר את החדר הנקי לנתונים ומאפשר למפרסם לנתח את הנתונים. דוח השיוך שנוצר מראה למפרסם אילו מודעות היו הכי יעילות בהגדלת המכירות. המפרסם משתמש במידע הזה כדי לבצע אופטימיזציה של קמפיינים שיווקיים עתידיים.
המפרסם ובעל האפליקציה מתזמרים את החדר הנקי לנתונים ב-BigQuery באמצעות התהליך שמתואר בקטעים הבאים.
יצירת חדר נקי לנתונים (בעל התוכן הדיגיטלי)
- הבעלים של החדר הנקי לנתונים בארגון של בעל האפליקציה מפעיל את Analytics Hub API בפרויקט שלו ב-BigQuery ומקצה למשתמש א' את התפקיד של בעלי החדר הנקי לנתונים (אדמין ב-Analytics Hub (
roles/analyticshub.admin)). - משתמש א' יוצר חדר נקי לנתונים בשם
Campaign Analysisומקצה את ההרשאות הבאות:- ספק נתונים (בעל תוכן דיגיטלי ב-Analytics Hub (
roles/analyticshub.publisher)): משתמש ב', מהנדס נתונים בארגון של בעל התוכן הדיגיטלי. - מנוי לחדר נקי לנתונים (מנוי ל-Analytics Hub (
roles/analyticshub.subscriber) ובעל המינוי (roles/analyticshub.subscriptionOwner)): משתמש ג', אנליסט שיווק בארגון של המפרסם.
- ספק נתונים (בעל תוכן דיגיטלי ב-Analytics Hub (
הוספת נתונים לחדר הנקי לנתונים (בעל תוכן דיגיטלי)
משתמש ב' יוצר דף אפליקציה חדש בחדר הנקי לנתונים בשם Publisher Conversion Data. כחלק מיצירת כרטיס המוצר, נוצרת תצוגה חדשה עם כללי ניתוח.
הרשמה לחדר הנקי לנתונים (מפרסם)
- משתמש ג' נרשם לחדר הנקי לנתונים, שיוצר קבוצת נתונים מקושרת לכל פריטי המידע בחדר הנקי לנתונים, כולל פריט המידע
Publisher Conversion Data. - עכשיו משתמש ג' יכול להריץ שאילתות צבירה כדי לשלב את הנתונים מקבוצת הנתונים המקושרת הזו עם הנתונים מאינטראקציה ישירה (First-Party) שלו, ולמדוד את יעילות הקמפיין.
זיהוי ישויות
תרחישים לדוגמה של חדר נקי לנתונים דורשים לעיתים קרובות קישור של ישויות בין קבוצות נתונים של תורמי נתונים ושל מנויים של חדר נקי לנתונים, שלא כוללות מזהה משותף. מנויים וספקי נתונים יכולים לייצג את אותן רשומות באופן שונה בכמה מערכי נתונים, כי מערכי הנתונים מגיעים ממקורות נתונים שונים או כי מערכי הנתונים משתמשים במזהים ממרחבי שמות שונים.
כחלק מהכנת הנתונים, פתרון הישויות ב-BigQuery מבצע את הפעולות הבאות:
- לספקי נתונים, הוא מבטל כפילויות ופותר רשומות במשאבים המשותפים שלהם באמצעות מזהים מספק משותף לבחירתם. התהליך הזה מאפשר הצטרפות של כמה שותפי עריכה.
- למנויים של חדר נקי לנתונים, הוא מסיר כפילויות ופותר רשומות בקבוצות הנתונים מאינטראקציה ישירה (First-Party) ומקשר לישויות בקבוצות הנתונים של ספקי הנתונים. התהליך הזה מאפשר לבצע איחודים בין נתונים של מנויים לבין נתונים של ספקי נתונים.
מידע נוסף על הגדרת פתרון ישויות זמין במאמר הגדרה ושימוש בפתרון ישויות ב-BigQuery.
חיפוש נכסים בחדר נקי לנתונים
כדי למצוא את כל החדרים הנקיים לנתונים שיש לכם גישה אליהם:
בעלי חדרים נקיים לנתונים וספקי נתונים צריכים להיכנס לדף שיתוף (מאגר הניתוחים ב-Analysis) במסוףGoogle Cloud .
מעבר אל Sharing (Analytics Hub)
מוצגת רשימה של כל החדרים הנקיים לנתונים שיש לכם גישה אליהם.
אם אתם מנויים לחדר נקי לנתונים, בצעו את הפעולות הבאות:
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית Explorer, לוחצים על Add data.
בוחרים באפשרות שיתוף (Analytics Hub). נפתח דף Discovery.
כדי להציג את החדרים הנקיים לנתונים שיש לכם גישה אליהם, ברשימת המסננים בוחרים באפשרות חדרים נקיים.
כדי למצוא את כל מערכי הנתונים המקושרים שנוצרו על ידי חדרים נקיים לנתונים בפרויקט, מריצים את הפקודה הבאה בסביבה של שורת הפקודה:
PROJECT=PROJECT_ID; \ for dataset in $(bq ls --project_id $PROJECT | tail +3); \ do [ "$(bq show -d --project_id $PROJECT $dataset | grep -E LINKED)" ] \ && echo $dataset; done
מחליפים את PROJECT_ID בפרויקט שמכיל את מערכי הנתונים המקושרים.
תמחור
בטבלה הבאה מפורטים המחירים של חדרים נקיים לנתונים ב-BigQuery:
| תפקיד | פרטי התמחור |
|---|---|
| תורם נתונים | החיוב הוא רק על אחסון הנתונים. |
| מנוי לחדר נקי לנתונים | החיוב הוא רק על העיבוד (ניתוח) בזמן הרצת השאילתות. |
המאמרים הבאים
- איך משתמשים בתבניות של שאילתות
- איך מגבילים את הגישה לנתונים באמצעות כללי ניתוח
- איך משתמשים ב-VPC Service Controls