שיתוף מידע אישי רגיש עם חדרים נקיים לנתונים

חדרים נקיים לנתונים מספקים סביבה מאובטחת שבה כמה צדדים יכולים לשתף, לשלב ולנתח את נכסי הנתונים שלהם בלי להעביר או לחשוף את הנתונים הבסיסיים.

חדרים נקיים לנתונים ב-BigQuery משתמשים בפלטפורמת BigQuery sharing (לשעבר Analytics Hub). בעוד שBigQuery sharing data exchanges הסטנדרטיים מאפשרים לכם לשתף נתונים בין גבולות ארגוניים בהיקף נרחב, חדרי נתונים נקיים מטפלים בתרחישי שימוש לשיתוף נתונים רגישים ומוגנים. חדרי נתונים נקיים מספקים אמצעי בקרה נוספים לאבטחה כדי להגן על הנתונים הבסיסיים ולאכוף כללי ניתוח שהוגדרו על ידי בעלי הנתונים.

תרחישי שימוש עיקריים:

  • תכנון קמפיינים ותובנות לגבי קהלים. לאפשר לשני צדדים (לדוגמה, מוכרים וקונים) לשלב נתונים מאינטראקציה ישירה ולשפר את העשרת הנתונים באופן ששומר על הפרטיות.
  • מדידה ושיוך (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 שמוגדר לקריאה בלבד ומשמש כקישור סימבולי לכל הנתונים בחדר נקי לנתונים. כשמנויים בחדר נקי לנתונים מריצים שאילתות על משאבים במערך נתונים מקושר, מוחזרים נתונים מהמשאבים המשותפים, בהתאם לכללי הניתוח שהוגדרו על ידי תורם הנתונים. בתור מנויים, כשאתם נרשמים לחדר נקי לנתונים, נוצר מערך נתונים מקושר בתוך הפרויקט שלכם. לא נוצרת העתקה של הנתונים, והמנויים לא יכולים לראות מטא-נתונים מסוימים, כמו הגדרות תצוגה.

כללי ניתוח

בתור משתתפים שמשתפים נתונים, אתם מגדירים כללי ניתוח במשאבים שאתם משתפים בחדר נקי לנתונים. כללי ניתוח מונעים גישה גולמית לנתונים הבסיסיים ואוכפים הגבלות על שאילתות. לדוגמה, חדרים נקיים לנתונים תומכים בכלל הניתוח של הסף לצבירת נתונים, שמאפשר למנויים של חדרים נקיים לנתונים לנתח נתונים רק באמצעות שאילתות צבירה.

אמצעי בקרה על תעבורת נתונים יוצאת

אמצעי הבקרה של יציאת נתונים מונעים באופן אוטומטי ממנויים של חדר נקי לנתונים להעתיק ולייצא נתונים גולמיים מחדר נקי לנתונים. משתמשים שמוסיפים נתונים יכולים להגדיר אמצעי בקרה נוספים כדי למנוע העתקה וייצוא של תוצאות שאילתות שהמנויים מקבלים.

תבניות של שאילתות

תבניות של שאילתות (בגרסת Preview) מאפשרות לבעלי חדרים נקיים לנתונים ולמפרסמים של BigQuery sharing לשתף שאילתות מוגדרות מראש בלי לשתף את משאבי הבסיס של טבלאות ותצוגות.

שאילתות מוגדרות מראש משתמשות בפונקציות שמחזירות טבלה (TVFs) ב-BigQuery, שמאפשרות להעביר טבלה שלמה או שדות ספציפיים כפרמטרים של קלט ולהחזיר טבלה כפלט.

מגבלות

יש מגבלות על שימוש בחדרים נקיים לנתונים ב-BigQuery:

  • אפשר להגדיר כללי ניתוח רק בתצוגות, ולא בטבלאות או בתצוגות חומריות. בגלל המגבלה הזו, אם תורם נתונים משתף ישירות טבלאות או תצוגות מהותיות, או תצוגות ללא כללי ניתוח, אל חדר נקי לנתונים, למנויים של החדר הנקי לנתונים יש גישה גולמית לנתונים במשאבים האלה.
  • השימוש בחדרי נתונים נקיים מתבסס על פלטפורמת השיתוף של BigQuery, ולכן חלות עליו כל המגבלות של שיתוף ב-BigQuery.
  • חדרי נתונים זמינים רק באזורים שבהם אפשר לשתף ב-BigQuery.
  • בתור מנויים של חדר נקי לנתונים, אתם לא יכולים לחפש משאבים משותפים ב-Dataplex Universal Catalog או ב-Data Catalog.
  • בתור מנויים בחדר נקי לנתונים, אתם לא יכולים להריץ שאילתות על תצוגות INFORMATION_SCHEMA בקבוצות נתונים מקושרות.
  • אם יש לכם הרשאת גישה כמשתתפים בתהליך העברת נתונים, אתם לא יכולים לפרסם מערך נתונים שלם ישירות בחדר נקי.
  • בתור תורמי נתונים, אתם לא יכולים לפרסם מודלים או שגרות (מחוץ לתבניות של שאילתות) בחדר נקי לנתונים.
  • אפשר להוסיף עד 100 משאבים משותפים לחדר נקי לנתונים. אם אתם צריכים להגדיל את המגבלה הזו, אתם יכולים לפנות אל bq-dcr-feedback@google.com.
  • אי אפשר להשתמש בחדרי נתונים נקיים כדי לנהל כרטיסי מוצר בכמה אזורים (גרסת Preview).

לפני שמתחילים

צריך להקצות תפקידים בניהול הזהויות והרשאות הגישה (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 .

הפעלת Analytics Hub API

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) בפרויקט. אפשר גם להקצות את התפקיד הזה ברמת התיקייה או הארגון, אם רלוונטי.

יצירת חדר נקי לנתונים

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על יצירת חדר נתונים נקי.

  3. בקטע Project (פרויקט), בוחרים את הפרויקט של חדר נקי לנתונים. צריך להפעיל את Analytics Hub API בפרויקט.

  4. מציינים את המיקום, השם, איש הקשר הראשי, הסמל (אופציונלי) והתיאור של חדר נקי לנתונים. אפשר לראות ברשימה רק משאבים שנמצאים באותו אזור של החדר הנקי לנתונים.

  5. אופציונלי: כדי לרשום ביומן את מזהי העיקרון של כל המשתמשים שמריצים משימות ושאילתות במערכי נתונים מקושרים, לוחצים על המתג Subscriber Email Logging (רישום ביומן של כתובות אימייל של מנויים). הנתונים שנרשמו ביומן מופיעים בשדה job_principal_subject בתצוגה INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

  6. לוחצים על יצירת חדר נתונים נקי.

  7. אופציונלי: בקטע הרשאות לחדר נקי לנתונים, מוסיפים בעלים אחרים של חדרים נקיים לנתונים, תורמי נתונים או מנויים לחדרים נקיים לנתונים.

    יצירת חלונית של חדר נקי לנתונים.

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.

עדכון של חדר נקי לנתונים

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על השם המוצג של חדר נקי לנתונים שרוצים לעדכן.

  3. בכרטיסייה פרטים, לוחצים על עריכת פרטי חדר נקי.

  4. לעדכן את השם של חדר נקי לנתונים, איש הקשר הראשי, הסמל, התיאור או ההגדרה של רישום ביומן של כתובות אימייל של מנויים לפי הצורך.

  5. לוחצים על 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.

בגוף הבקשה, מציינים ערכים מעודכנים לשדות הבאים:

  • displayName
  • description
  • primaryContact
  • documentation
  • icon
  • discoveryType
  • logLinkedDatasetQueryUserEmail

פרטים על השדות האלה זמינים במאמר בנושא משאב: DataExchange.

מחיקת חדר נקי לנתונים

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. בשורה של חדר נקי לנתונים שרוצים למחוק, לוחצים על סמל האפשרויות הנוספות > מחיקה.

  3. כדי לאשר, מזינים 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) בחדר נקי ספציפי לנתונים:

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על השם לתצוגה של חדר נקי לנתונים שרוצים להעניק לו הרשאות.

  3. בכרטיסייה פרטים, לוחצים על הגדרת הרשאות.

  4. לוחצים על Add principal.

  5. בשדה New principals (חשבונות משתמשים חדשים), מזינים את שמות המשתמשים או כתובות האימייל של המשתמשים שרוצים להוסיף.

  6. בשדה Select a role (בחירת תפקיד), בוחרים באפשרות Analytics Hub > Analytics Hub Publisher (מרכז Analytics > מרכז Analytics – בעל תוכן דיגיטלי).

  7. לוחצים על 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"
      }
    ]
  }
}'

המדיניות בגוף הבקשה צריכה להיות במבנה של מדיניות.

אפשר להעניק את התפקיד 'מפרסם' ב-Analytics Hub ‏ (roles/analyticshub.publisher) לכל הפרויקט מדף IAM, וכך לתת למשתמש הרשאה להוסיף נתונים לכל חדר נקי לנתונים בפרויקט. עם זאת, אנחנו לא ממליצים לבצע את הפעולה הזו, כי היא עלולה להוביל למצב שבו למשתמשים תהיה גישה רחבה מדי.

ניהול המנויים בחדר הנקי לנתונים

כבעלים של חדר נקי לנתונים, אתם קובעים אילו משתמשים יכולים להירשם לחדרים הנקיים לנתונים שלכם (הנרשמים שלכם). כדי לאפשר למשתמש להירשם לחדר נקי לנתונים, צריך להעניק לו את התפקיד 'מנוי ב-Analytics Hub' (roles/analyticshub.subscriber) ואת התפקיד 'בעלים של מינוי ב-Analytics Hub' (roles/analyticshub.subscriptionOwner) בחדר נקי לנתונים ספציפי:

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על השם לתצוגה של חדר נקי לנתונים שרוצים להעניק לו הרשאות.

  3. בכרטיסייה פרטים, לוחצים על הגדרת הרשאות.

  4. לוחצים על Add principal.

  5. בשדה New principals, מזינים את שמות המשתמשים או כתובות האימייל של המנויים בחדר נתונים שרוצים להוסיף.

  6. בשדה Select a role (בחירת תפקיד), בוחרים באפשרות Analytics Hub > Analytics Hub Subscriber (מרכז Analytics > מנוי למרכז Analytics).

  7. לוחצים על הוספת תפקיד נוסף.

  8. בשדה Select a role (בחירת תפקיד), בוחרים באפשרות Analytics Hub > Analytics Hub Subscription Owner (מרכז Analytics > בעלים של מינוי למרכז Analytics).

  9. לוחצים על 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, וכך לתת למשתמש הרשאה להירשם לכל חדר נקי לנתונים בפרויקט. עם זאת, אנחנו לא ממליצים לבצע את הפעולה הזו, כי היא עלולה לגרום לכך שלמשתמשים תהיה גישה רחבה מדי.

שיתוף חדר נקי לנתונים

אתם יכולים לשתף ישירות חדר נקי לנתונים עם מנויים:

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. בשורה של חדר נקי לנתונים שרוצים לשתף, לוחצים על סמל האפשרויות הנוספות > העתקת קישור לשיתוף.

  3. משתפים את הקישור שהועתק עם מנויים בחדר הנקי לנתונים כדי לאפשר להם לצפות בחדר הנקי לנתונים ולהירשם אליו.

תהליכי עבודה של שותפים ביצירת נתונים

בתור תורמי נתונים, אתם יכולים:

  • כדי להוסיף נתונים לחדר נקי לנתונים, צריך ליצור כרטיס מוצר.
  • עדכון של כרטיס מוצר.
  • מחיקת כרטיס מוצר.
  • שיתוף של חדר נקי לנתונים.
  • מעקב אחרי כרטיסי מוצר.

הרשאות נוספות של תורמי נתונים

כדי לבצע משימות של תורמי נתונים, צריך להיות לכם תפקיד בעל תוכן דיגיטלי ב-Analytics Hub (roles/analyticshub.publisher) בחדר נקי לנתונים.

צריך גם את ההרשאה resourcemanager.organization.get אם רוצים להציג נתונים ממרחבים מוגנים בארגון שלא נמצאים בפרויקט הנוכחי.

יצירת כרטיס מוצר (הוספת נתונים)

כדי להכין נתונים באמצעות כללי ניתוח ולפרסם אותם בחדר נקי לנתונים ככרטיס מוצר, פועלים לפי השלבים הבאים:

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על השם המוצג של חדר נקי לנתונים שבו רוצים ליצור כרטיס מוצר.

    אם אתם בארגון אחר מזה של הבעלים של החדר הנקי לנתונים, והחדר הנקי לנתונים לא מוצג לכם, אתם צריכים לבקש מהבעלים של החדר הנקי לנתונים קישור ישיר.

  3. לוחצים על הוספת נתונים.

  4. בשדות Select dataset ו-Table/view name, מזינים את הטבלה או התצוגה שרוצים להציג בחדר נקי לנתונים ואת מערך הנתונים התואם. בכמה שלבים תוכלו להוסיף כללי ניתוח כדי למנוע גישה גולמית לנתונים הבסיסיים האלה.

  5. בוחרים את העמודות במשאב שרוצים לפרסם.

  6. מגדירים את שם התצוגה, איש הקשר הראשי והתיאור (אופציונלי) של כרטיס המוצר.

  7. לוחצים על הבא.

  8. בוחרים כלל ניתוח לכרטיס המוצר ומגדירים את הפרטים.

  9. הגדרת אמצעי בקרה לתעבורת נתונים יוצאת (egress) לכרטיס המוצר.

  10. לוחצים על הבא.

  11. בודקים את הנתונים ואת כלל הניתוח שמוסיפים לחדר הנקי.

  12. לוחצים על הוספת נתונים. תצוגה מפורטת נוצרת עבור הנתונים שלכם ונוספת כרשימה לחדר הנקי לנתונים. הטבלה או התצוגה של המקור עצמו לא נוספות.

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, צריך לוודא שיש לכם את ההרשאות הנדרשות לביצוע משימות של תורמי נתונים.

עדכון כרטיס מוצר

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על השם המוצג של חדר נקי לנתונים שמכיל את כרטיס המוצר.

  3. בשורה של כרטיס המוצר שרוצים לעדכן, לוחצים על אפשרויות נוספות > עריכת כרטיס המוצר.

  4. מעדכנים את איש הקשר הראשי או את התיאור לפי הצורך.

  5. לוחצים על הבא.

  6. מעדכנים את כלל הניתוח לפי הצורך. אפשר לעדכן רק את הפרמטרים של הכלל שנבחר. אי אפשר לעבור לכלל אחר.

  7. לוחצים על הבא.

  8. בודקים את הנתונים ולוחצים על הוספת נתונים.

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: שם הכרטיס שלכם.

אחרי שיוצרים כרטיס מוצר, אי אפשר לשנות את משאב המקור או את אמצעי הבקרה על תעבורת הנתונים היוצאת עבור כרטיס מוצר.

מחיקת דף מוצר

המסוף

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על השם המוצג של חדר נקי לנתונים שמכיל את כרטיס המוצר.

  3. בשורה של כרטיס המוצר שרוצים למחוק, לוחצים על אפשרויות נוספות > מחיקת כרטיסי מוצר.

  4. כדי לאשר, מזינים 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: מזהה כרטיס המוצר.

כשמוחקים כרטיס מוצר, המשאבים המשותפים ומערכי הנתונים המקושרים לא נמחקים. קבוצות הנתונים המקושרות מבוטלות הקישור מקבוצות הנתונים של המקור, ולכן שאילתות של נתונים ברשימה הזו מתחילות להיכשל עבור מנויים של חדר נקי לנתונים.

שיתוף חדר נקי לנתונים

אתם יכולים לשתף ישירות חדר נקי לנתונים עם מנויים לחדר נקי לנתונים:

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. בשורה של חדר נקי לנתונים שרוצים לשתף, לוחצים על סמל האפשרויות הנוספות > העתקת קישור לשיתוף.

  3. משתפים את הקישור שהועתק עם המנויים כדי לאפשר להם לצפות בחדר הנקי לנתונים ולהירשם אליו.

מעקב אחר כרטיסי מוצר

אפשר לראות את מדדי השימוש במערכי נתוני המקור של המשאבים שמשותפים בחדר נקי לנתונים, על ידי שליחת שאילתה לתצוגה INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

כדי לראות את המנויים שלכם בחדר נקי לנתונים של כרטיסי המוצר:

  1. נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

  2. לוחצים על השם לתצוגה של חדר ניקוי הנתונים.

  3. בשורה של כרטיס המוצר שרוצים לראות, לוחצים על סמל האפשרויות הנוספות > הצגת המינויים.

תהליכי עבודה של מנויים בחדר נקי לנתונים

מנוי יכול לצפות בחדר נקי לנתונים ולהירשם אליו. כשנרשמים לחדר נתונים, נוצר מערך נתונים מקושר אחד בפרויקט של הנרשם. לכל מערך נתונים מקושר יש שם זהה לזה של חדר נקי לנתונים.

אי אפשר להירשם למינוי של כרטיס מוצר ספציפי בחדר נקי לנתונים. אפשר להירשם רק לחדר הנקי לנתונים עצמו.

הרשאות נוספות למנויים

כדי לבצע משימות של מנויים, צריכות להיות לכם ההרשאות מנוי ב-Analytics Hub (roles/analyticshub.subscriber) בחדר נקי לנתונים וההרשאות בעלים של מינוי ב-Analytics Hub (roles/analyticshub.subscriptionOwner) בפרויקט המינוי.

בנוסף, נדרשת ההרשאה bigquery.datasets.create בפרויקט כדי ליצור מערך נתונים מקושר כשנרשמים לחדר נתונים.

הרשמה לחדר נקי לנתונים

כשנרשמים לחדר נקי לנתונים, מקבלים גישה להרצת שאילתות על הנתונים שבכרטיסי המוצר על ידי יצירת מערך נתונים מקושר בפרויקט. כדי להירשם לחדר נקי לנתונים:

המסוף

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בחלונית Explorer, לוחצים על Add data.

  3. בוחרים באפשרות שיתוף (Analytics Hub). ייפתח דף Discovery.

  4. כדי להציג את החדרים הנקיים לנתונים שיש לכם גישה אליהם, בוחרים באפשרות חדרים נקיים ברשימת המסננים.

  5. לוחצים על חדר נקי לנתונים שרוצים להירשם אליו. ייפתח דף תיאור של החדר הנקי לנתונים. בדף הזה אפשר גם לראות אם הספק הפעיל רישום ביומן של כתובות האימייל של המנויים.

  6. לוחצים על הרשמה.

  7. בוחרים את פרויקט היעד למינוי ולוחצים על הרשמה.

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: מזהה הפרויקט שבו נוצר החדר הנקי.
  • SUBSCRIBER_PROJECT_ID: מזהה הפרויקט של הפרויקט של המנוי.
  • LOCATION: המיקום של החדר הנקי לנתונים.
  • CLEAN_ROOM_ID: מזהה חדר נקי לנתונים.
  • SUBSCRIPTION: שם המינוי.

בגוף הבקשה, מציינים את מערך הנתונים שבו רוצים ליצור את מערך הנתונים המקושר. אם הבקשה מצליחה, גוף התגובה מכיל את אובייקט המינוי.

אם מפעילים את הרישום של כתובות האימייל של המנויים בחדר הנקי לנתונים באמצעות השדה logLinkedDatasetQueryUserEmail, התגובה להרשמה תכיל את log_linked_dataset_query_user_email: true. הנתונים שנרשמו ביומן זמינים בשדה job_principal_subject של התצוגה INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

מערך נתונים מקושר נוסף עכשיו לפרויקט שציינתם, וזמין להרצת שאילתות.

בתור מנויים של חדר נקי לנתונים, אתם יכולים לערוך חלק מהמטא-נתונים של מערכי הנתונים המקושרים, כמו התיאור והתוויות. אפשר גם להגדיר הרשאות במערכי הנתונים המקושרים. עם זאת, שינויים במערכי נתונים מקושרים לא משפיעים על מערכי הנתונים המקוריים. בנוסף, אי אפשר לראות הגדרות של תצוגות.

משאבים שנכללים במערכי נתונים מקושרים הם לקריאה בלבד. בתור מנויים, אתם לא יכולים לערוך נתונים או מטא-נתונים של משאבים במערכי נתונים מקושרים. בנוסף, אי אפשר לציין הרשאות למשאבים ספציפיים בתוך מערך הנתונים המקושר.

כדי לבטל את ההרשמה לחדר נקי לנתונים, מוחקים את קבוצת הנתונים המקושרת.

הרצת שאילתות על נתונים בקבוצת נתונים מקושרת

כדי לשלוח שאילתה לנתונים במערך נתונים מקושר, משתמשים בתחביר SELECT WITH AGGREGATION_THRESHOLD, שמאפשר להריץ שאילתות בתצוגות שמופעלים בהן כללי ניתוח. דוגמה לתחביר הזה מופיעה במאמר שאילתת כלל ניתוח של הסף לצבירת נתונים – תצוגה שנאכפת.

תרחיש לדוגמה: ניתוח שיוך של מפרסם ובעל תוכן דיגיטלי

מפרסם רוצה לעקוב אחרי היעילות של הקמפיינים השיווקיים שלו. למפרסם יש נתונים מאינטראקציה ישירה (First-Party) על הלקוחות שלו, כולל היסטוריית הרכישות, נתונים דמוגרפיים ותחומי עניין. לבעל האתר יש נתונים מהאתר שלו, כולל המידע על המודעות שהוצגו למבקרים ועל ההמרות שלהם.

המפרסם ובעל התוכן הדיגיטלי מסכימים להשתמש בחדר נקי לנתונים כדי לשלב נתונים ולמדוד את התוצאות של הקמפיינים שלהם. במקרה הזה, בעל האתר יוצר את חדר נקי לנתונים ומאפשר למפרסם לגשת לנתונים כדי לבצע את הניתוח. התוצאה היא דוח שיוך שמראה למפרסם אילו מודעות היו הכי יעילות בהגדלת נפח המכירות. לאחר מכן המפרסם יכול להשתמש במידע הזה כדי לשפר את הקמפיינים השיווקיים העתידיים שלו.

המפרסם והבעלים של האתר או האפליקציה מתאמים את השימוש בחדר הנקי של BigQuery באמצעות התהליך שמתואר בקטעים הבאים.

יצירת חדר נקי לנתונים (בעל אפליקציה)

  1. הבעלים של חדר נקי לנתונים בארגון של בעל התוכן הדיגיטלי מפעיל את Analytics Hub API בפרויקט BigQuery שלו ומקצה את משתמש א' כבעלים של החדר הנקי לנתונים (אדמין של Analytics Hub‏ (roles/analyticshub.admin)).
  2. משתמש א' יוצר חדר נקי לנתונים בשם Campaign Analysis ומקצה את ההרשאות הבאות:
    • תורם נתונים (בעל תוכן דיגיטלי ב-Analytics Hub‏ (roles/analyticshub.publisher)): משתמש ב', מהנדס מערכות מידע בארגון של בעל התוכן הדיגיטלי.
    • מנוי לחדר נקי לנתונים (מנוי ל-Analytics Hub‏ (roles/analyticshub.subscriber) ובעל המינוי (roles/analyticshub.subscriptionOwner)): משתמש ג', אנליסט שיווק בארגון המפרסם.

הוספת נתונים לחדר הנקי לנתונים (בעלי תוכן דיגיטלי)

  1. משתמש ב' יוצר כרטיס מוצר חדש בחדר נקי לנתונים בשם Publisher Conversion Data. במסגרת יצירת הפרופיל, נוצרת תצוגה חדשה עם כללי ניתוח.

הרשמה לחדר הנקי לנתונים (מפרסמים)

  1. משתמש ג' נרשם לחדר הנקי לנתונים, וכך נוצר מערך נתונים מקושר לכל כרטיסי המוצר בחדר הנקי לנתונים, כולל כרטיס המוצר Publisher Conversion Data.
  2. משתמש ג' יכול עכשיו להריץ שאילתות צבירה כדי לשלב את הנתונים ממערך הנתונים המקושר הזה עם הנתונים מאינטראקציה ישירה (First-Party) שלו, ולמדוד את יעילות הקמפיין.

רזולוציה של ישויות

תרחישי שימוש בחדר נקי לנתונים דורשים לעיתים קרובות קישור בין ישויות במערכי נתונים של תורמי נתונים ובמערכי נתונים של מנויים לחדר הנקי לנתונים, שלא כוללים מזהה משותף. יכול להיות שרשומות של מנויים ותורמי נתונים ייוצגו באופן שונה בכמה מערכי נתונים, כי מערכי הנתונים מגיעים ממקורות נתונים שונים או כי הם משתמשים במזהים ממרחבי שמות שונים.

כחלק מהכנת הנתונים, תהליך זיהוי הישויות ב-BigQuery כולל את הפעולות הבאות:

  • משתתפי שיתוף הנתונים יכולים להשתמש במזהים מספק משותף לבחירתם כדי לבטל כפילויות ברשומות ולפתור בעיות במשאבים המשותפים שלהם. התהליך הזה מאפשר הצטרפות של משתמשים שונים.
  • למנויים של חדר נקי לנתונים, המערכת מבצעת דה-דופליקציה ופתרון של רשומות במערכי הנתונים מאינטראקציה ישירה (First-Party) שלהם, ומקשרת לישויות במערכי הנתונים של תורמי הנתונים. התהליך הזה מאפשר לבצע הצטרפות בין נתוני המנויים לבין נתוני התורמים.

כדי להגדיר את פתרון הישויות באמצעות ספק הזהויות שתבחרו, אפשר לעיין במאמר הגדרה ושימוש בפתרון ישויות ב-BigQuery.

גילוי נכסים בחדר נקי לנתונים

כדי לראות את כל מרכזי הנתונים הנקיים שיש לכם גישה אליהם:

  • בעלי חדר נקי לנתונים ותורמי נתונים יכולים לעבור אל הדף שיתוף (מרכז Analytics) במסוףGoogle Cloud .

    מעבר אל 'שיתוף' (Analytics Hub)

    כל החדרים הנקיים לנתונים שאליהם יש לכם גישה מופיעים ברשימה.

  • אם אתם מנויים לחדר נקי לנתונים:

    1. במסוף Google Cloud , עוברים לדף BigQuery.

      כניסה ל-BigQuery

    2. בחלונית Explorer, לוחצים על Add data.

    3. בוחרים באפשרות שיתוף (Analytics Hub). ייפתח דף Discovery.

    4. כדי להציג את החדרים הנקיים לנתונים שיש לכם גישה אליהם, בוחרים באפשרות חדרים נקיים ברשימת המסננים.

כדי למצוא את כל מערכי הנתונים המקושרים שנוצרו על ידי מרכזי נתונים משולבים בפרויקט, מריצים את הפקודה הבאה בסביבת שורת פקודה:

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 בפרויקט שמכיל את מערכי הנתונים המקושרים.

תמחור

התשלום למשתתפים בשיתוף הנתונים הוא רק על אחסון הנתונים. מנויים של חדר נקי לנתונים מחויבים רק על חישוב (ניתוח) כשהם מריצים שאילתות.

המאמרים הבאים