שיתוף מידע אישי רגיש עם חדרים נקיים לנתונים
אתם יכולים להשתמש בחדרי נתונים נקיים כדי ליצור סביבה עם אבטחה משופרת. בסביבה הזו, כמה צדדים משתפים את נכסי הנתונים שלהם, מצטרפים אליהם ומנתחים אותם. שיתוף הפעולה הזה מתבצע בלי להעביר או לחשוף את הנתונים הבסיסיים.
חדרי נתונים נקיים ב-BigQuery משולבים עם פלטפורמת BigQuery sharing (לשעבר Analytics Hub). BigQuery sharing data exchanges תומכים בשיתוף נתונים בין גבולות ארגוניים בקנה מידה נרחב. עם זאת, אתם משתמשים בחדרים נקיים לנתונים במיוחד לנתונים רגישים ומוגנים. מרחבי נתונים נקיים מספקים אמצעי בקרה נוספים לאבטחה שמגנים על הנתונים הבסיסיים ומאפשרים לאכוף כללי ניתוח שהוגדרו על ידי בעלי הנתונים.
תרחישים לדוגמה
תרחישי שימוש עיקריים:
- תכנון קמפיינים ותובנות לגבי קהלים. לאפשר לשני צדדים (לדוגמה, מוכרים וקונים) לשלב נתונים מאינטראקציה ישירה (First-Party) ולשפר את העשרת הנתונים באופן ששומר על הפרטיות.
- מדידה ושיוך (Attribution). התאמה בין נתוני ביצועים של לקוחות ומדיה כדי להבין טוב יותר את האפקטיביות של השיווק ולקבל החלטות לגבי קמפיינים עתידיים.
- הפעלה. שילוב של נתוני לקוחות עם נתונים מצדדים אחרים כדי להעשיר את ההבנה של הלקוחות, וכך לשפר את יכולות הפילוח והפעלת המדיה.
בנוסף, חדרים נקיים לנתונים תומכים בכמה תרחישי שימוש מעבר לתעשיית השיווק:
- קמעונאות ומוצרי צריכה ארוזים (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 sharing.
משאבים משותפים
משאב משותף הוא יחידת שיתוף הנתונים בחדר נקי לנתונים. המקור צריך להיות טבלה, תצוגה או שגרה ב-BigQuery (פונקציה שמחזירה טבלה). בתור תורמי נתונים, אתם יוצרים משאב BigQuery בפרויקט שלכם או משתמשים במשאב קיים כדי לשתף אותו עם המנויים שלכם בחדר נקי לנתונים.
כרטיסי מוצר
כשמוסיפים נתונים לחדר נקי לנתונים בתור תורמי נתונים, יוצרים רישום. הרישום מכיל הפניה למשאב המשותף שלכם, וגם מידע תיאורי שעוזר למנויים להשתמש בנתונים. אתם יכולים לכלול מידע כמו תיאור, שאילתות לדוגמה וקישורים לתיעוד עבור המנויים שלכם.
קבוצות נתונים מקושרות
מערך נתונים מקושר הוא מערך נתונים ב-BigQuery שמוגדר לקריאה בלבד ומשמש כקישור סמלי לכל הנתונים בחדר נקי לנתונים. כשמנויים של חדר נקי לנתונים מריצים שאילתות על משאבים במערך נתונים מקושר, מוחזרים נתונים מהמשאבים המשותפים, בהתאם לכללי הניתוח שהוגדרו על ידי תורם הנתונים. כשנרשמים לחדר נקי לנתונים, BigQuery יוצר קבוצת נתונים מקושרת בפרויקט. לא נוצרת עותק של הנתונים, והמנויים לא יכולים לראות מטא-נתונים מסוימים, כמו הגדרות תצוגה.
כללי ניתוח
בתור תורם נתונים, אתם מגדירים כללי ניתוח במשאבים שאתם משתפים בחדר נקי לנתונים. כללי ניתוח עוזרים למנוע גישה גולמית לנתונים הבסיסיים ולאכוף הגבלות על שאילתות. לדוגמה, חדרים נקיים לנתונים תומכים בכלל הניתוח של הסף לצבירת נתונים, שמאפשר למנויים של חדרים נקיים לנתונים לנתח נתונים רק באמצעות שאילתות צבירה.
אמצעי בקרה על יציאת נתונים
אמצעי הבקרה של יציאת נתונים מונעים באופן אוטומטי ממנויי החדר הנקי לנתונים להעתיק ולייצא נתונים גולמיים מחדר נקי לנתונים. משתמשים שמוסיפים נתונים יכולים להגדיר אמצעי בקרה נוספים כדי למנוע העתקה וייצוא של תוצאות שאילתות שהמנויים מקבלים.
תבניות של שאילתות
תבניות של שאילתות מאפשרות לבעלי חדר נקי לנתונים ולמפרסמים של 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: מזהה חדר נקי לנתונים
כשמוחקים חדר נקי לנתונים, כל כרטיסי המוצר שבו נמחקים. המשאבים המשותפים וקבוצות הנתונים המקושרות לא נמחקים. הקישור של מערכי הנתונים המקושרים מבוטל ממערכי הנתונים של המקור, ולכן שאילתות של משאבים בחדר הנקי לנתונים מתחילות להיכשל למנויים של החדר הנקי לנתונים.
ניהול של משתמשים שתרמו נתונים
בתור בעלים של חדר נקי לנתונים, אתם קובעים מי יכול להוסיף נתונים לחדרים הנקיים לנתונים (תורמי הנתונים). כדי לאפשר לתורם נתונים להוסיף נתונים לחדר נקי לנתונים, צריך להעניק לו את תפקיד בעל התוכן הדיגיטלי ב-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." ], "role": "roles/analyticshub.publisher" } ] } }'
המדיניות בגוף הבקשה צריכה להיות במבנה של מדיניות.
אפשר להקצות את התפקיד 'מפרסם ב-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 Subscriber (מנוי ל-Analytics Hub) (roles/analyticshub.subscriber) ואת התפקיד Analytics Hub Subscription Owner (בעלים של מינוי ל-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 בפרויקט שמכיל את מערכי הנתונים המקושרים.
תמחור
בטבלה הבאה מפורט התמחור של מרכזי נתונים ב-BigQuery:
| תפקיד | פרטי התמחור |
|---|---|
| שותף ביצירת תוכן | החיוב הוא רק על אחסון נתונים. |
| מנוי לחדר נקי לנתונים | תחויבו רק על החישוב (הניתוח) כשמריצים שאילתות. |