匯總服務可提供廣告技術人員所需的成效洞察資料,協助他們提升客戶的廣告活動成效。
本文件涵蓋的內容:
這份文件的目標讀者是誰?
本頁面可協助廣告技術和開發人員瞭解我們的 API 如何提供有效的廣告評估功能,同時保護使用者隱私。
本文假設您熟悉Private Aggregation API、Attribution Reporting API、Protected Audience API、Shared Storage 和 Trusted Execution Environments。
重要詞彙與概念
請先熟悉重要術語再繼續操作:
詞彙
- 廣告技術
-
廣告平台是提供服務來放送廣告的公司。
- 可匯總報表
-
可匯總報表是從個別使用者裝置傳送的加密報表。這些報表包含跨網站使用者行為和轉換的資料。轉換 (有時稱為歸因觸發事件) 和相關指標是由廣告主或廣告技術定義。每份報表都會加密,以免各方存取基礎資料。
- 可匯總報表計算
-
位於兩個協調器中的分散式分錄帳,用於追蹤已分配的隱私權預算,並強制執行「不重複」規則。這是隱私權保護機制,位於協調器中並由其執行,可確保系統不會將超過分配的隱私預算的報表傳送至匯總服務。
- 可匯總報表計算預算
-
參照預算,確保系統不會重複處理個別報表。
- 匯總服務
-
由廣告技術營運的服務,可處理可匯總報表並產生摘要報表。
- 確認聲明
-
驗證軟體身分的機制,通常會使用加密雜湊或簽章。對於匯總服務提案,認證會將廣告技術營運匯總服務中執行的程式碼與開放原始碼進行比對。
- 貢獻者綁定
- 協調員
-
負責金鑰管理和可匯總報表計算的實體。協調器會維護經核准的匯總服務設定雜湊清單,並設定解密金鑰存取權。
- 雜訊和縮放
-
匯總過程中加入至摘要報表的統計雜訊,可保護隱私權,並確保最終報表提供匿名評估資訊。
進一步瞭解加法雜訊機制,這是從 Laplace 分配繪製而來。
- 報表來源
-
接收可匯總報表的實體,也就是呼叫 Attribution Reporting API 的您或廣告技術。可匯總報表會從使用者裝置傳送至與回報來源相關聯的知名網址。報表來源會在註冊期間指定。
- 共用 ID
-
計算值,包含
shared_info
、reporting_origin
、destination_site
(僅限 Attribution Reporting API)、source_registration-time
(僅限 Attribution Reporting API)、scheduled_report_time
和版本。在
shared_info
欄位中共用相同屬性的多份報表,應使用相同的共用 ID。在可匯總報表計算中,共用 ID 扮演著重要角色。 - 摘要報表
-
Attribution Reporting API 和 Private Aggregation API 報表類型。摘要報表包含匯總的使用者資料,並可納入加入雜訊的詳細轉換資料。摘要報表是由匯總報表組成。相較於事件層級報表,這類報表提供更大的彈性,並提供更豐富的資料模型,特別適用於轉換價值等某些用途。
- 受信任的執行環境 (TEE)
-
電腦硬體和軟體的安全設定,可讓外部各方驗證機器上執行的確切軟體版本,不必擔心資訊外洩。在 TEE 中,外部各方可驗證軟體是否完全依軟體製造商聲明的方式運作。
如要進一步瞭解 Privacy Sandbox 提案中使用的 TEE,請參閱「Protected Audience API 服務說明」和「匯總服務說明」。
匯總服務工作流程
匯總服務會根據原始可匯總報表,產生詳細轉換和觸及資料的摘要報表。報表產生流程包含下列步驟:
- 瀏覽器會擷取公開金鑰,產生加密報表。
- 系統會將經過加密的可匯總報表傳送到廣告技術伺服器。
- 廣告技術伺服器會將報表批次處理 (以 avro 格式),然後傳送至匯總服務。
- 匯總工作站會擷取匯總報表並解密。
- 匯總工作站會從協調器擷取解密金鑰。
- 匯總工作站會解密報表,以便匯總及加入雜訊。
- 匯總報表計算服務會檢查是否有足夠的隱私公開程度上限,可針對指定的匯總報表產生摘要報表。
- 匯總服務會提交最終摘要報表。
下圖顯示匯總服務的運作情形,從從網站和行動裝置收到報表,到匯總服務產生摘要報表的時間。
總而言之,Attribution Reporting API 或 Private Aggregation API 會從多個瀏覽器例項產生報表。Chrome 會從協調器的金鑰代管服務取得公開金鑰,並每七天輪替一次,以便在將報表傳送至廣告技術報表來源之前先加密報表。廣告技術報表來源會收集並將傳入的報表轉換為 avro 格式,然後傳送至匯總服務。匯總服務收到批次要求後,會從 Key Hosting Service 擷取解密金鑰,解密報表,並匯總並模糊處理報表內容,產生摘要報表 (前提是隱私預算足以產生報表)。
請參閱導入說明,進一步瞭解如何準備可匯總的報表。
可匯總報表批次處理
您必須使用指定的報表來源伺服器,才能完成報表流程,這項資訊是在註冊程序中指定。報表來源負責收集、轉換及批次匯總報表,並準備將這些報表傳送至 Google Cloud 或 Amazon Web Services 中的匯總服務。進一步瞭解如何準備可匯總的報表。
雲端元件
匯總服務由多個雲端服務元件組成。您可以使用提供的 Terraform 指令碼,佈建及設定所有必要的雲端服務元件。
前端服務
代管雲端服務:Cloud Function (Google Cloud) / API Gateway (Amazon Web Services)
前端服務是無伺服器閘道,是匯總 API 呼叫的主要進入點,可用於建立工作和擷取工作狀態。負責接收匯總服務使用者的要求、驗證輸入參數,以及啟動匯總工作排程程序。
前端服務有兩個可用的 API:
端點 | 說明 |
---|---|
createJob |
這個 API 會觸發匯總服務工作。如要觸發工作,您必須提供工作 ID、輸入儲存空間詳細資料、輸出儲存空間詳細資料和報表來源等資訊。 |
getJob |
這個 API 會傳回具有指定工作 ID 的工作狀態。這項資訊可提供工作狀態相關資訊,例如「已收到」、「處理中」或「已完成」。如果工作已完成,系統也會傳回工作結果,包括工作執行期間遇到的任何錯誤訊息。 |
請參閱 Aggregation Service API 說明文件。
工作佇列
代管雲端服務:Pub/Sub (Google Cloud) / Amazon SQS (Amazon Web Services)
工作佇列是包含匯總服務工作要求的訊息佇列。前端服務會將工作要求插入佇列,然後由匯總工作站使用並加以處理。
Cloud Storage
代管雲端服務:Google Cloud Storage (Google Cloud) / Amazon S3 (Amazon Web Services)
匯總服務使用的輸入和輸出檔案 (例如加密報表檔案和輸出摘要報表) 會儲存在雲端儲存空間中。
工作中繼資料資料庫
受管理的雲端服務:Spanner (Google Cloud) / DynamoDB (Amazon Web Services)
工作中繼資料資料庫用於儲存及追蹤匯總工作狀態。它會記錄中繼資料,例如建立時間、要求時間、更新時間,以及狀態,例如已收到、處理中或已完成。匯集工作處理無人機會在工作進度達到某個點時更新工作中繼資料資料庫。
Aggregation Worker
代管雲端服務:Compute Engine 搭配機密空間 (Google Cloud) / Amazon Web Services EC2 搭配 Nitro Enclave (Amazon Web Services)。
匯總工作站會處理工作佇列中的作業要求,並使用從協調器中的金鑰產生和發布服務 (KGDS) 擷取的金鑰,解密已加密的輸入內容。為了盡量縮短工作處理延遲時間,匯總工作站會將解密金鑰快取八小時,並在處理的工作中使用這些金鑰。
匯總工作會在受信任的執行環境 (TEE) 例項中運作。工作站一次只能處理一個工作。您可以設定自動調整大小設定,讓多個 worker 並行處理工作。如果啟用自動調度資源,系統會根據工作佇列中的訊息數量,動態調整工作站數量。您可以透過 Terraform 環境檔案,設定自動調度資源的工作站數量下限和上限。如要進一步瞭解自動調度資源功能,請參閱下列 Terraform 指令碼:Amazon Web Services 或 Google Cloud。
匯總工作站會呼叫可匯總報表計算服務,以便計算可匯總報表。這項服務可確保工作只在未超出隱私預算限制時執行。(請參閱「不重複」規則)。如果預算可用,系統會使用雜訊匯總資料產生摘要報表。請參閱可匯總的報表會計相關詳細資訊。
匯總工作站會更新工作中繼資料資料庫中的中繼資料。這項資訊包括工作傳回代碼,以及報表錯誤計數器 (在部分報表失敗的情況下)。使用者可以使用 getJob
工作狀態擷取 API 擷取狀態。
請參閱這篇說明文章,進一步瞭解匯總服務。
後續步驟
您現在已瞭解匯總服務的運作方式,請按照入門指南的說明,透過 Google Cloud 或 Amazon Web Services 部署自己的執行個體。