כיצד זה עובד

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

המסמך הזה עוסק בנושאים הבאים:

למי המסמך הזה מיועד?

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

במסמך הזה אנו מתייחסים ל-Private Aggregation API, ל-Attribution Reporting API, ל-Protected Audience API, ל-Shared Storage ול-Trusted Execution Environments כאילו שהם מוכרים לכם.

מונחים ומושגים מרכזיים

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

מילון מונחים

טכנולוגיות פרסום

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

דוחות שניתן לצבור

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

מידע נוסף על דוחות שאפשר לצבור

דיווח על דוחות עם נתונים מצטברים

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

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

תקציב חשבונאי של דוח שניתן לצבור

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

Aggregation Service

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

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

הצהרה

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

מידע נוסף על אימות

קישור תרומות
רכז/ת

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

רעש ושינוי גודל

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

מידע נוסף על מנגנון רעשי תוספת, שמבוסס על התפלגות Laplace

מקור הדיווח

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

מזהה משותף

ערך מחושב שמורכב מ-shared_info,‏ reporting_origin,‏ destination_site (ל-Attribution Reporting API בלבד),‏ source_registration-time (ל-Attribution Reporting API בלבד),‏ scheduled_report_time וגרסת ה-API.

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

מידע נוסף על Trusted Servers

דוח סיכום

סוג דוח של Attribution Reporting API ו-Private Aggregation API. דוח סיכום כולל נתוני משתמשים מצטברים, ויכול להכיל נתוני המרות מפורטים עם רעש נוסף. דוחות הסיכום מורכבים מדוחות צבירה. הם מאפשרים גמישות רבה יותר ומספקים מודל נתונים עשיר יותר מאשר דיווח ברמת האירוע, במיוחד בתרחישי שימוש מסוימים כמו ערכי המרות.

סביבת מחשוב אמינה (TEE)

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

למידע נוסף על סביבות TEE שמשמשות להצעות של 'ארגז החול לפרטיות', אפשר לקרוא את הסבר על שירותי Protected Audience API ואת הסבר על שירות האגרגציה.

תהליך העבודה של Aggregation Service

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

  1. הדפדפן מאחזר מפתח ציבורי כדי ליצור דוחות מוצפנים.
  2. דוחות מוצפנים עם נתונים שאפשר לצבור נשלחים לשרתים של טכנולוגיית הפרסום.
  3. שרת טכנולוגיית הפרסום מקבץ דוחות (בפורמט avro) ושולח אותם ל-Aggregation Service.
  4. Aggregation Worker מאחזר את הדוחות המצטברים כדי לפענח אותם.
  5. Aggregation Worker מאחזר מפתחות פענוח מ-Coordinator.
  6. Aggregation Worker מפענח את הדוחות לצורך צבירה והוספת רעש.
  7. שירות ניהול החשבון של דוחות עם נתונים נצברים בודק אם יש מספיק תקציב פרטיות כדי ליצור דוח סיכום של הדוחות הנתונים עם נתונים נצברים.
  8. Aggregation Service שולח דוח סיכום סופי.

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

תהליך מקצה לקצה של Aggregation Service.
תהליך מקצה לקצה של Aggregation Service

לסיכום, Attribution Reporting API או Private Aggregation API יוצרים דוחות מכמה מכונות דפדפן. Chrome מקבל מפתח ציבורי, שמתבצעת לו רוטציה כל שבע ימים, משירות אירוח המפתחות במרכז התיאום, כדי להצפין את הדוחות לפני השליחה שלהם למקור הדיווח של חברת טכנולוגיית הפרסום. המקור לדיווח של טכנולוגיית הפרסום אוסף את הדוחות הנכנסים, ממיר אותם לפורמט avro ושולח אותם ל-Aggregation Service. כשבקשת אצווה נשלחת ל-Aggregation Service, הוא מאחזר מפתחות פענוח מ-Key Hosting Service, מפענח את הדוחות ומצטבר אותם עם רעש כדי ליצור דוח סיכום, כל עוד יש מספיק תקציב פרטיות ליצירתם.

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

קיבוץ דוחות שניתן לצבור

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

רכיבי Cloud

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

רכיבי הענן של Aggregation Service.
רכיבי ענן של Aggregation Service

שירות קצה קדמי

שירות מנוהל בענן: Cloud Function‏ (Google Cloud) או API Gateway‏ (Amazon Web Services)

Frontend Service הוא שער ללא שרת (serverless) שמהווה את נקודת הכניסה הראשית לקריאות ל-Aggregation API ליצירת משימות ולאחזור סטטוס של משימות. הוא אחראי לקבלת בקשות ממשתמשי Aggregation Service, לאימות הפרמטרים של הקלט ולהפעלת תהליך תזמון המשימות של הצבירה.

לשירות הקצה יש שני ממשקי API זמינים:

נקודת קצה תיאור
createJob ה-API הזה מפעיל משימה ב-Aggregation Service. כדי להפעיל את המשימה, נדרשים פרטים כמו מזהה המשימה, פרטי האחסון של הקלט, פרטי האחסון של הפלט ומקור הדיווח.
getJob ה-API הזה מחזיר את הסטטוס של המשימה עם מזהה המשימה שצוין. הוא מספק מידע על סטטוס המשימה, כמו 'נשלחה', 'בטיפול' או 'הושלמה'. אם המשימה הסתיימה, היא גם מחזירה את תוצאת המשימה, כולל הודעות שגיאה שנתקלו בהן במהלך ביצוע המשימה.

מאמרי העזרה של Aggregation Service API

תור משימות

שירות מנוהל בענן: Pub/Sub‏ (Google Cloud) או Amazon SQS‏ (Amazon Web Services)

Job Queue הוא תור הודעות שמכיל בקשות עבודה ל-Aggregation Service. השירות לקצה העורפי מכניס בקשות עבודה לתור, ולאחר מכן הן נצרכות על ידי Aggregation Workers שמעבדים אותן.

אחסון בענן

שירות מנוהל בענן: Google Cloud Storage‏ (Google Cloud) או Amazon S3‏ (Amazon Web Services)

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

מסד נתונים של מטא-נתונים של משימות

שירות מנוהל בענן: Spanner‏ (Google Cloud) או DynamoDB‏ (Amazon Web Services)

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

Aggregation Worker

שירות מנוהל בענן: Compute Engine עם Confidential space‏ (Google Cloud) או Amazon Web Services EC2 עם Nitro Enclave‏ (Amazon Web Services).

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

Aggregation Workers פועלים בתוך מכונה של סביבת מחשוב אמינה (TEE). כל עובד מטפל רק במשימה אחת בכל פעם. אפשר להגדיר כמה עובדים לעיבוד משימות במקביל על ידי הגדרת ההגדרה של התאמה אוטומטית לעומס. אם משתמשים בהתאמה אוטומטית, מספר העובדים משתנה באופן דינמי בהתאם למספר ההודעות בתור המשימות. אפשר להגדיר את המספר המינימלי והמקסימלי של עובדים להתאמה אוטומטית באמצעות קובץ הסביבה של Terraform. מידע נוסף על התאמה אוטומטית של קיבולת זמין בסקריפטים הבאים של Terraform: Amazon Web Services או Google Cloud.

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

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

במאמר הזה מוסבר בפירוט על שירות Aggregation.

השלבים הבאים

עכשיו, אחרי שהבנתם איך פועל Aggregation Service, תוכלו לפעול לפי מדריך למתחילים כדי לפרוס מכונה משלכם דרך Google Cloud או Amazon Web Services.