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

חדר נקי לנתונים
חדר נקי לנתונים הוא סביבה לשיתוף מידע אישי רגיש שעוזרת למנוע גישה לנתונים גולמיים ומאפשרת לאכוף הגבלות על שאילתות. רק משתמשים או קבוצות שנוספו כמנויים לחדר נקי לנתונים יכולים להירשם למינוי לנתונים המשותפים. בעלי נתונים ב-BigQuery יכולים ליצור כמה חדרי נתונים שהם רוצים ב-BigQuery Sharing.
משאבים משותפים
משאב משותף הוא יחידת שיתוף הנתונים בחדר נקי לנתונים. המשאב צריך להיות טבלה, תצוגה או שגרה ב-BigQuery (פונקציה שמחזירה טבלה). בתור תורמי נתונים, אתם יוצרים משאב BigQuery בפרויקט שלכם או משתמשים במשאב קיים כדי לשתף אותו עם המנויים שלכם בחדר נקי לנתונים.
כרטיסי מוצר
משתמש שמוסיף נתונים יוצר כרטיס מוצר כשהוא מוסיף נתונים לחדר נקי לנתונים. הוא מכיל הפניה למשאב המשותף של תורם הנתונים, וגם מידע תיאורי שעוזר למנויים להשתמש בנתונים. בתור תורמי נתונים, אתם יכולים ליצור כרטיס מוצר ולכלול בו מידע כמו תיאור, שאילתות לדוגמה וקישורים לתיעוד עבור המנויים שלכם.
מערכי נתונים מקושרים
מערך נתונים מקושר הוא מערך נתונים ב-BigQuery שמוגדר לקריאה בלבד ומשמש כקישור סמלי לכל הנתונים בחדר נקי לנתונים. כשמנויים של חדר נקי לנתונים מריצים שאילתות על משאבים במערך נתונים מקושר, מוחזרים נתונים מהמשאבים המשותפים, בהתאם לכללי הניתוח שהוגדרו על ידי תורם הנתונים. כשנרשמים לחדר נקי לנתונים, נוצר מערך נתונים מקושר בתוך הפרויקט שלכם. לא נוצרת עותק של הנתונים, והמנויים לא יכולים לראות מטא-נתונים מסוימים, כמו הגדרות תצוגה.
כללי ניתוח
בתור תורם נתונים, אתם מגדירים כללי ניתוח במשאבים שאתם משתפים בחדר נקי לנתונים. כללי ניתוח מונעים גישה לנתונים הבסיסיים ומאכפים הגבלות על שאילתות. לדוגמה, חדרים נקיים לנתונים תומכים בכלל הניתוח של הסף לצבירת נתונים, שמאפשר למנויים של חדרים נקיים לנתונים לנתח נתונים רק באמצעות שאילתות צבירה.
אמצעי בקרה על יציאת נתונים
אמצעי הבקרה של יציאת נתונים מונעים באופן אוטומטי ממנויים של חדר נקי לנתונים להעתיק ולייצא נתונים גולמיים מחדר נקי לנתונים. משתמשים שמוסיפים נתונים יכולים להגדיר אמצעי בקרה נוספים כדי למנוע העתקה וייצוא של תוצאות שאילתות שהמנויים מקבלים.
תבניות של שאילתות
תבניות של שאילתות (בגרסת Preview) מאפשרות לבעלים של חדרים נקיים לנתונים ולמפרסמים של BigQuery sharing לשתף שאילתות מוגדרות מראש בלי לשתף את משאבי הבסיס של טבלאות ותצוגות.
שאילתות מוגדרות מראש משתמשות בפונקציות שמחזירות טבלה (TVFs) ב-BigQuery, שמאפשרות להעביר טבלה שלמה או שדות ספציפיים כפרמטרים של קלט ולהחזיר טבלה כפלט.
מגבלות
יש מגבלות על שימוש בחדרים נקיים לנתונים ב-BigQuery:
- אפשר להגדיר כללי ניתוח רק בתצוגות, ולא בטבלאות או בתצוגות חומריות. בגלל המגבלה הזו, אם תורמי נתונים משתפים ישירות טבלאות או תצוגות חומריות, או תצוגות ללא כללי ניתוח, אל חדר נקי לנתונים, למנויים של החדר הנקי לנתונים יש גישה גולמית לנתונים במשאבים האלה.
- כי מרכזי נתונים משתמשים בפלטפורמת השיתוף של BigQuery, ולכן חלות עליהם כל המגבלות של שיתוף ב-BigQuery.
- חדרי נתונים זמינים רק באזורים שבהם אפשר לשתף נתונים ב-BigQuery.
- אם אתם מנויים לחדר נקי לנתונים, אתם לא יכולים לחפש משאבים משותפים ב-Knowledge Catalog או ב-Data Catalog.
- בתור מנויים בחדר נקי לנתונים, אתם לא יכולים להריץ שאילתות על תצוגות
INFORMATION_SCHEMAבקבוצות נתונים מקושרות. - אם אתם תורמים נתונים, אתם לא יכולים לפרסם מערך נתונים שלם ישירות בחדר נקי לנתונים.
- בתור תורם נתונים, אי אפשר לפרסם מודלים או שגרות (שלא במסגרת תבניות של שאילתות) בחדר נקי לנתונים.
- אפשר להוסיף עד 100 משאבים משותפים לחדר נקי לנתונים. אם אתם צריכים להגדיל את המגבלה הזו, אתם יכולים לפנות אלינו בכתובת bq-dcr-feedback@google.com.
- אין תמיכה בכרטיסי מוצר בכמה אזורים בחדרים נקיים.
לפני שמתחילים
צריך להקצות תפקידים בניהול הזהויות והרשאות הגישה (IAM) כדי לתת למשתמשים את ההרשאות הנדרשות לביצוע כל משימה שמופיעה במסמך הזה, להפעיל את Analytics Hub API ולהקצות את תפקיד האדמין ב-Analytics Hub לבעלים של חדר נקי לנתונים.
ההרשאות הנדרשות
כדי לקבל את ההרשאות שנדרשות לשימוש בחדרים נקיים לנתונים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Data Editor (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 .
BQ
מריצים את הפקודה gcloud services enable:
gcloud services enable analyticshub.googleapis.com
אחרי שמפעילים את Analytics Hub API, אפשר לגשת אל הדף 'שיתוף' (Analytics Hub).
הקצאת תפקיד האדמין ב-Analytics Hub
לבעלים של מרחב נקי לנתונים, המשתמש שיצר את המרחב, צריך להיות תפקיד אדמין ב-Analytics Hub (roles/analyticshub.admin). כדי ללמוד איך להעניק את התפקיד הזה למשתמשים אחרים, אפשר לעיין במאמר בנושא יצירת אדמינים לשיתוף ב-BigQuery.
תהליכי עבודה של בעלי חדרים נקיים לנתונים
כבעלים של חדר נקי לנתונים, אתם יכולים:
- יוצרים חדר נקי לנתונים.
- עדכון המאפיינים של החדר הנקי לנתונים.
- מחיקת חדר נקי לנתונים.
- ניהול של תורמי נתונים.
- ניהול המנויים לחדר נקי לנתונים.
- שיתוף של חדר נקי לנתונים.
הרשאות נוספות של בעלים בחדר נקי לנתונים
כדי לבצע משימות של בעלי חדר נקי לנתונים, צריך להיות לכם תפקיד אדמין ב-Analytics Hub (roles/analyticshub.admin) בפרויקט. אפשר גם להקצות את התפקיד הזה ברמת התיקייה או הארגון, אם רלוונטי.
יצירת חדר נקי לנתונים
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על יצירת חדר נתונים נקי.
בקטע Project (פרויקט), בוחרים את הפרויקט של חדר נקי לנתונים. צריך להפעיל את Analytics Hub API בפרויקט.
מציינים את המיקום, השם, איש הקשר הראשי, הסמל (אופציונלי) והתיאור של חדר נקי לנתונים. אפשר לראות בחדר הנקי לנתונים רק משאבים שנמצאים באותו אזור כמו החדר הנקי לנתונים.
אופציונלי: כדי לרשום ביומן את מזהי העיקרון של כל המשתמשים שמריצים משימות ושאילתות במערכי נתונים מקושרים, לוחצים על המתג Subscriber Email Logging (רישום ביומן של כתובות אימייל של מנויים). הנתונים שמתועדים מופיעים בשדה
job_principal_subjectבתצוגהINFORMATION_SCHEMA.SHARED_DATASET_USAGE.לוחצים על יצירת חדר נתונים נקי.
אופציונלי: בקטע הרשאות לחדר נקי לנתונים, מוסיפים בעלים אחרים של חדרים נקיים לנתונים, תורמי נתונים או מנויים לחדרים נקיים לנתונים.
API
משתמשים ב-projects.locations.dataExchanges.create method ומגדירים את sharing environment ל-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?data_exchange_id=CLEAN_ROOM_ID -d '{ display_name: "CLEAN_ROOM_NAME", sharing_environment_config: {dcr_exchange_config: {}} }'
מחליפים את מה שכתוב בשדות הבאים:
-
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.
עדכון חדר נקי לנתונים
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם המוצג של חדר נקי לנתונים שרוצים לעדכן.
בכרטיסייה פרטים, לוחצים על עריכת פרטי חדר נקי.
לעדכן את השם של חדר נקי לנתונים, איש הקשר הראשי, הסמל, התיאור או ההגדרה של רישום ביומן של כתובות אימייל של מנויים לפי הצורך.
לוחצים על Save.
API
משתמשים ב-projects.locations.dataExchanges.patch method ומגדירים את sharing environment ל-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 '{ display_name: "CLEAN_ROOM_NAME", sharing_environment_config: {dcr_exchange_config: {}} }'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט LOCATION: המיקום של החדר הנקי לנתונים-
CLEAN_ROOM_ID: מזהה חדר נקי לנתונים -
CLEAN_ROOM_NAME: השם המוצג של חדר נקי לנתונים
מחליפים את UPDATEMASK ברשימת השדות שרוצים לעדכן. כדי לעדכן כמה ערכים, צריך להשתמש ברשימה מופרדת בפסיקים. לדוגמה, כדי לעדכן את השם המוצג ואת איש הקשר הראשי של אוסף נתונים לשיתוף, מזינים displayName,primaryContact.
בגוף הבקשה, מציינים ערכים מעודכנים לשדות הבאים:
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
פרטים על השדות האלה זמינים במאמר בנושא משאב: DataExchange.
מחיקת חדר נקי לנתונים
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
בשורה של חדר נקי לנתונים שרוצים למחוק, לוחצים על סמל האפשרויות הנוספות > מחיקה.
כדי לאשר, מזינים
deleteולוחצים על מחיקה. אי אפשר לבטל את הפעולה הזו.
API
משתמשים ב-projects.locations.dataExchanges.delete method ומגדירים את sharing environment ל-dcrExchangeConfig.
בדוגמה הבאה מוצג איך להפעיל את השיטה 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?data_exchange_id=CLEAN_ROOM_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט LOCATION: המיקום של החדר הנקי לנתונים-
CLEAN_ROOM_ID: מזהה חדר נקי לנתונים -
CLEAN_ROOM_NAME: השם המוצג של חדר נקי לנתונים
כשמוחקים חדר נקי לנתונים, כל כרטיסי המוצר שבו נמחקים. עם זאת, המשאבים המשותפים וערכות הנתונים המקושרות לא נמחקים. הקישור של מערכי הנתונים המקושרים מבוטל ממערכי הנתונים של המקור, ולכן שאילתות של משאבים בחדר הנקי לנתונים מתחילות להיכשל עבור מנויים של החדר הנקי לנתונים.
ניהול של משתמשים שתרמו נתונים
כבעלים של חדר נקי לנתונים, אתם קובעים אילו משתמשים יכולים להוסיף נתונים לחדרים הנקיים לנתונים (המשתמשים שתורמים נתונים). כדי לאפשר למשתמש להוסיף נתונים לחדר נקי לנתונים, צריך להעניק לו את התפקיד 'בעל תוכן דיגיטלי' ב-Analytics Hub (roles/analyticshub.publisher) בחדר נקי ספציפי לנתונים:
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם המוצג של חדר נקי לנתונים שרוצים להעניק לו הרשאות.
בכרטיסייה פרטים, לוחצים על הגדרת הרשאות.
לוחצים על Add principal.
בשדה New principals (חשבונות משתמשים חדשים), מזינים את שמות המשתמשים או כתובות האימייל של המשתמשים שרוצים להוסיף.
בשדה Select a role (בחירת תפקיד), בוחרים באפשרות Analytics Hub > Analytics Hub Publisher (מרכז Analytics > מרכז Analytics – בעל תוכן דיגיטלי).
לוחצים על 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) בחדר נקי לנתונים ספציפי:
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם המוצג של חדר נקי לנתונים שרוצים להעניק לו הרשאות.
בכרטיסייה פרטים, לוחצים על הגדרת הרשאות.
לוחצים על Add principal.
בשדה New principals (גורמים חדשים), מזינים את שמות המשתמשים או כתובות האימייל של המנויים לחדר הנקי שרוצים להוסיף.
בשדה Select a role (בחירת תפקיד), בוחרים באפשרות Analytics Hub > Analytics Hub Subscriber (מרכז Analytics > מנוי למרכז Analytics).
לוחצים על הוספת תפקיד נוסף.
בשדה Select a role (בחירת תפקיד), בוחרים באפשרות Analytics Hub > Analytics Hub Subscription Owner (מרכז Analytics > מרכז Analytics בעלים של המינוי).
לוחצים על 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" } ] } }'
המדיניות בגוף הבקשה צריכה להיות בהתאם למבנה של מדיניות.
אפשר להעניק את התפקיד 'מנוי ב-Analytics Hub' (roles/analyticshub.subscriber) ואת התפקיד 'בעלים של מינוי ב-Analytics Hub' (roles/analyticshub.subscriptionOwner) לפרויקט שלם מדף IAM, וכך לתת למשתמש הרשאה להירשם לכל חדר נקי לנתונים בפרויקט. עם זאת, אנחנו לא ממליצים לבצע את הפעולה הזו, כי היא עלולה לגרום לכך שלמשתמשים תהיה גישה רחבה מדי.
שיתוף חדר נקי לנתונים
אתם יכולים לשתף ישירות חדר נקי לנתונים עם מנויים:
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
בשורה של חדר נקי לנתונים שרוצים לשתף, לוחצים על סמל האפשרויות הנוספות > העתקת קישור לשיתוף.
משתפים את הקישור שהועתק עם מנויים של חדר נקי לנתונים כדי שהם יוכלו לראות את החדר הנקי לנתונים ולהירשם אליו.
תהליכי עבודה של שותפים ביצירת תוכן
בתור תורמי נתונים, אתם יכולים:
- כדי להוסיף נתונים לחדר נקי לנתונים, צריך ליצור כרטיס מוצר.
- עדכון של כרטיס מוצר.
- מחיקת דף עסקי.
- שיתוף של חדר נקי לנתונים.
- מעקב אחרי כרטיסי מוצר.
הרשאות נוספות של תורמי נתונים
כדי לבצע משימות של תורמי נתונים, צריך להיות לכם תפקיד מפרסם ב-Analytics Hub (roles/analyticshub.publisher) בחדר נקי לנתונים.
כדי לבצע משימות של תורמי נתונים, צריך גם את ההרשאות bigquery.datasets.get, bigquery.datasets.update ו-bigquery.tables.get במערך הנתונים ובטבלה של המקור. ההרשאות האלה זמינות בתפקיד BigQuery Data Owner (roles/bigquery.dataOwner).
כדי לראות את מרחבי הנתונים הנקיים בארגון שלא נמצאים בפרויקט הנוכחי, צריך את ההרשאה resourcemanager.organization.get.
כדי להשתמש בתהליך ליצירת חדר נקי לנתונים כדי ליצור תצוגה ב-BigQuery עם כללי ניתוח, אתם צריכים את ההרשאות bigquery.tables.setPrivacyPolicy ו-bigquery.tables.create. אם מפנים ישירות לתצוגה המפורטת, לא נדרשת הרשאה כזו.
יצירת כרטיס מוצר (הוספת נתונים)
כדי להכין נתונים באמצעות כללי ניתוח ולפרסם אותם בחדר נקי לנתונים ככרטיס מוצר, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם המוצג של חדר נקי לנתונים שבו רוצים ליצור כרטיס מוצר.
אם אתם בארגון אחר מבעלי החדר הנקי לנתונים והחדר הנקי לא מוצג לכם, אתם צריכים לבקש מבעלי החדר הנקי קישור ישיר.
לוחצים על הוספת נתונים.
בשדות 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, צריך לוודא שיש לכם את ההרשאות הנדרשות לביצוע משימות של תורמי נתונים.
עדכון כרטיס מוצר
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם המוצג של חדר נקי לנתונים שמכיל את כרטיס המוצר.
בשורה של כרטיס המוצר שרוצים לעדכן, לוחצים על אפשרויות נוספות > עריכת כרטיס המוצר.
מעדכנים את איש הקשר הראשי או את התיאור לפי הצורך.
לוחצים על הבא.
מעדכנים את כלל הניתוח לפי הצורך. אפשר לעדכן רק את הפרמטרים של הכלל שנבחר. אי אפשר לעבור לכלל אחר.
לוחצים על הבא.
בודקים את הרשימה ולוחצים על הוספת נתונים.
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/listingId=LISTING_ID?updateMask=displayName -d '{"displayName":LISTING_NAME"}'
מחליפים את מה שכתוב בשדות הבאים:
-
DCR_PROJECT_ID: מזהה הפרויקט שבו נוצר החדר הנקי. LOCATION: המיקום של החדר הנקי לנתונים.-
CLEAN_ROOM_ID: מזהה חדר נקי לנתונים. -
LISTING_ID: מזהה כרטיס המוצר. -
LISTING_NAME: שם הכרטיס שלכם.
אחרי שיוצרים כרטיס מוצר, אי אפשר לשנות את משאב המקור או את אמצעי הבקרה של העברת הנתונים.
מחיקת דף מוצר
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם המוצג של חדר נקי לנתונים שמכיל את כרטיס המוצר.
בשורה של כרטיס המוצר שרוצים למחוק, לוחצים על אפשרויות נוספות > מחיקת כרטיסי מוצר.
כדי לאשר, מזינים
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?listingId=LISTING_ID
מחליפים את מה שכתוב בשדות הבאים:
-
DCR_PROJECT_ID: מזהה הפרויקט שבו נוצר החדר הנקי. LOCATION: המיקום של החדר הנקי לנתונים.-
CLEAN_ROOM_ID: מזהה חדר נקי לנתונים. -
LISTING_ID: מזהה כרטיס המוצר.
כשמוחקים כרטיס מוצר, המשאבים המשותפים ומערכי הנתונים המקושרים לא נמחקים. קבוצות הנתונים המקושרות מנותקות מקבוצות הנתונים המקוריות, כך שמשתמשי חדר נקי לנתונים לא יכולים יותר להריץ שאילתות על הנתונים ברישום הזה.
שיתוף חדר נקי לנתונים
אתם יכולים לשתף ישירות חדר נקי לנתונים עם מנויים של חדר נקי לנתונים:
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
בשורה של חדר נקי לנתונים שרוצים לשתף, לוחצים על סמל האפשרויות הנוספות > העתקת קישור לשיתוף.
משתפים את הקישור שהועתק עם המנויים כדי לאפשר להם לצפות בחדר הנקי לנתונים ולהירשם אליו.
מעקב אחר כרטיסי מוצר
כדי לראות את מדדי השימוש במערכי הנתונים של המקורות ששיתפתם בחדר נקי לנתונים, אפשר להריץ שאילתה בתצוגה INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
כדי לראות את המנויים שלכם בחדר נקי לנתונים, מבצעים את הפעולות הבאות:
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם המוצג של חדר ניקוי הנתונים.
בשורה של כרטיס המוצר שרוצים לראות, לוחצים על סמל האפשרויות הנוספות > הצגת המינויים.
תהליכי עבודה של מנויים בחדר נקי לנתונים
מנוי יכול לצפות בחדר נקי לנתונים ולהירשם אליו. כשנרשמים לחדר נתונים, נוצר מערך נתונים מקושר אחד בפרויקט של הנרשם. לכל מערך נתונים מקושר יש שם זהה לזה של חדר נקי לנתונים.
אי אפשר להירשם למינוי של כרטיס מוצר ספציפי בחדר נקי לנתונים. אפשר להירשם רק לחדר הנקי לנתונים עצמו.
הרשאות נוספות למנויים
כדי לבצע משימות של מנויים, צריכות להיות לכם ההרשאות מנוי ב-Analytics Hub (roles/analyticshub.subscriber) בחדר נקי לנתונים וההרשאות בעלים של מינוי ל-Analytics Hub (roles/analyticshub.subscriptionOwner) בפרויקט המינוי.
בנוסף, נדרשת ההרשאה bigquery.datasets.create בפרויקט כדי ליצור מערך נתונים מקושר כשנרשמים לחדר נתונים.
הרשמה לחדר נקי לנתונים
כשנרשמים לחדר נקי לנתונים, מקבלים גישה להרצת שאילתות על הנתונים שבכרטיסי המוצר על ידי יצירת מערך נתונים מקושר בפרויקט. כדי להצטרף לחדר נקי לנתונים:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית Explorer, לוחצים על Add data.
בוחרים באפשרות שיתוף (Analytics Hub). ייפתח דף Discovery.
כדי להציג את החדרים הנקיים לנתונים שיש לכם גישה אליהם, בוחרים באפשרות חדרים נקיים ברשימת המסננים.
לוחצים על חדר נקי לנתונים שרוצים להירשם אליו. ייפתח דף התיאור של החדר הנקי לנתונים. בדף הזה אפשר גם לראות אם הספק הפעיל רישום ביומן של כתובות האימייל של המנויים.
לוחצים על הרשמה.
בוחרים את פרויקט היעד למינוי ולוחצים על הרשמה.
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"
}
}
אם הבקשה מצליחה, גוף התגובה מכיל את אובייקט המינוי.
אם מפעילים את רישום היומנים של כתובות האימייל של המנויים בחדר הנקי לנתונים באמצעות השדה logLinkedDatasetQueryUserEmail, התגובה להרשמה מכילה את log_linked_dataset_query_user_email: true. הנתונים שמתועדים זמינים בשדה job_principal_subject של INFORMATION_SCHEMA.SHARED_DATASET_USAGE התצוגה.
מערך נתונים מקושר נוסף עכשיו לפרויקט שציינתם, וזמין לשאילתות.
בתור מנויים של חדר נקי לנתונים, אתם יכולים לערוך חלק מהמטא-נתונים של מערכי הנתונים המקושרים, כמו התיאור והתוויות. אפשר גם להגדיר הרשאות במערכי הנתונים המקושרים. עם זאת, שינויים במערכי נתונים מקושרים לא משפיעים על מערכי הנתונים המקוריים. בנוסף, לא תוכלו לראות הגדרות של תצוגות.
משאבים שנכללים במערכי נתונים מקושרים הם לקריאה בלבד. בתור מנויים, אתם לא יכולים לערוך נתונים או מטא-נתונים של מקורות מידע במערכי נתונים מקושרים. בנוסף, אי אפשר לציין הרשאות למשאבים ספציפיים בתוך מערך הנתונים המקושר.
כדי לבטל את ההרשמה לחדר נקי לנתונים, מוחקים את קבוצת הנתונים המקושרת.
הרצת שאילתות על נתונים במערך נתונים מקושר
כדי לשלוח שאילתות לנתונים במערך נתונים מקושר, משתמשים בתחביר SELECT WITH AGGREGATION_THRESHOLD, שמאפשר להריץ שאילתות בתצוגות שמופעלים בהן כללי ניתוח. דוגמה לתחביר הזה מופיעה במאמר שליחת שאילתה על כלל ניתוח של הסף לצבירת נתונים – תצוגה שנאכפת.
תרחיש לדוגמה: ניתוח שיוך של מפרסם ובעל תוכן דיגיטלי
מפרסם רוצה לעקוב אחרי היעילות של הקמפיינים השיווקיים שלו. למפרסם יש נתונים מאינטראקציה ישירה (First-Party) על הלקוחות שלו, כולל היסטוריית הרכישות, נתונים דמוגרפיים ותחומי עניין. לבעל התוכן הדיגיטלי יש נתונים מהאתר שלו, כולל המידע על המודעות שהוצגו למבקרים ועל ההמרות שלהם.
המפרסם ובעל התוכן הדיגיטלי מסכימים להשתמש בחדר נקי לנתונים כדי לשלב נתונים ולמדוד את התוצאות של הקמפיינים שלהם. במקרה הזה, בעל האתר יוצר את חדר נקי לנתונים ומאפשר למפרסם לגשת לנתונים כדי לבצע את הניתוח. התוצאה היא דוח שיוך שמראה למפרסם אילו מודעות היו הכי יעילות בהגדלת נפח המכירות. לאחר מכן המפרסם יכול להשתמש במידע הזה כדי לשפר את הקמפיינים השיווקיים העתידיים שלו.
המפרסם והבעלים של האתר או האפליקציה מתאמים את השימוש ב-BigQuery data clean room באמצעות התהליך שמתואר בקטעים הבאים.
יצירת חדר נקי לנתונים (בעל אפליקציה)
- הבעלים של חדר נקי לנתונים בארגון בעל התוכן הדיגיטלי מפעיל את 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.
גילוי נכסים בחדר נקי לנתונים
כדי לראות את כל חדרי הנתונים שיש לכם גישה אליהם:
בעלי חדר נקי לנתונים ותורמי נתונים יכולים לעבור אל הדף שיתוף (מרכז Analytics) במסוףGoogle Cloud .
מעבר אל 'שיתוף' (Analytics Hub)
מוצגת רשימה של כל החדרים הנקיים לנתונים שאליהם יש לכם גישה.
אם אתם מנויים לחדר נקי לנתונים:
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית 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 | egrep LINKED)" ] \ && echo $dataset; done
מחליפים את PROJECT_ID בפרויקט שמכיל את מערכי הנתונים המקושרים.
תמחור
התשלום למשתתפים בשיתוף הנתונים הוא רק על אחסון הנתונים. מנויים של חדר נקי לנתונים מחויבים רק על חישוב (ניתוח) כשהם מריצים שאילתות.
המאמרים הבאים
- איך משתמשים בתבניות של שאילתות
- איך מגבילים את הגישה לנתונים באמצעות כללי ניתוח
- איך משתמשים ב-VPC Service Controls