汇总服务可为广告技术平台提供所需的效果分析,以便与客户一起提升广告系列效果。
本文档涵盖以下内容:
本文档适用对象
本页可帮助广告技术平台和开发者了解我们的 API 如何实现有效且可保护隐私的广告效果衡量。
本文档假定您熟悉 Private Aggregation API、Attribution Reporting API、Protected Audience API、Shared Storage 和 Trusted Execution Environments。
关键术语和概念
在继续之前,请先熟悉以下关键术语:
术语库
- 广告技术
-
广告平台是指提供广告投放服务的公司。
- 可汇总的报告
-
可汇总的报告是从单个用户设备发送的经过加密的报告。这些报告包含有关跨网站用户行为和转化的数据。转化(有时称为归因触发器事件)和相关指标由广告客户或广告技术平台定义。每个报告均已加密,以防止各方访问底层数据。
- 可汇总报告的会计核算
-
分布式账本,位于两个协调者中,用于跟踪分配的隐私预算并强制执行“无重复”规则。这是位于协调器中并在其中运行的隐私保护机制,可确保没有任何报告在通过汇总服务时超出分配的隐私预算。
- 可汇总报告的会计核算预算
-
对预算的引用,用于确保不会对单个报告进行多次处理。
- 汇总服务
-
由广告技术平台运营的服务,用于处理可汇总报告以创建摘要报告。
- 证明
-
一种用于对软件身份进行身份验证的机制,通常使用加密哈希或签名。对于汇总服务提案,认证会将广告技术平台运营的汇总服务中运行的代码与开源代码进行匹配。
- 贡献绑定
- 协调者
-
负责密钥管理和汇总报告会计核算的实体。协调者会维护已获批准的汇总服务配置的哈希列表,并配置对解密密钥的访问权限。
- 噪声和缩放
-
在汇总过程中向摘要报告添加的统计噪声,用于保护隐私并确保最终报告提供匿名化衡量信息。
- 报告来源
-
接收可汇总报告的实体,也就是您或调用了 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 服务说明文档和汇总服务说明文档。
Aggregation Service 工作流程
汇总服务会根据原始的可汇总报告生成详细的转化和覆盖面数据的摘要报告。报告生成流程包括以下步骤:
- 浏览器会提取公钥以生成加密报告。
- 加密的可汇总报告会发送到广告技术服务器。
- 广告技术服务器将报告(采用 avro 格式)分批发送到汇总服务。
- 汇总工作器检索汇总报告以进行解密。
- 汇总工作器从协调器检索解密密钥。
- 汇总工作器会对报告进行解密,以便进行汇总和加噪。
- 可汇总报告的报告结算服务会检查是否有足够的隐私预算来为给定的可汇总报告生成摘要报告。
- 汇总服务提交最终的摘要报告。
下图展示了 Aggregation Service 的实际运作情形,从接收到来自 Web 和移动设备的报告,到 Aggregation Service 创建摘要报告。
总而言之,Attribution Reporting API 或 Private Aggregation API 会从多个浏览器实例生成报告。Chrome 从协调器中的密钥托管服务获取每 7 天轮换一次的公钥,以便在将报告发送到广告技术报告来源之前对其进行加密。广告技术平台报告来源收集传入的报告并将其转换为 Avro 格式,然后将其发送到汇总服务。然后,当批处理请求发送到 Aggregation Service 时,只要有足够的隐私保护预算来创建摘要报告,该服务就会从 Key Hosting Service 中提取解密密钥,对报告进行解密、汇总和添加噪声,以创建摘要报告。
如需详细了解如何准备可汇总报告,请参阅“实现”部分。
可汇总报告的批处理
如果没有您在注册流程中指定的指定报告来源服务器的帮助,报告流程将无法完成。报告来源负责收集、转换和批量处理可汇总报告,并准备好将这些报告发送到 Google Cloud 或 Amazon Web Services 中的汇总服务。详细了解如何准备可汇总报告。
云组件
汇总服务由多个云服务组件组成。您可以使用提供的 Terraform 脚本来预配和配置所有必需的云服务组件。
前端服务
托管式云服务:Cloud Function (Google Cloud) / API Gateway (Amazon Web Services)
前端服务是一个无服务器网关,是用于作业创建和作业状态检索的聚合 API 调用的主要入口点。它负责接收来自汇总服务用户的请求、验证输入参数,并启动汇总作业调度流程。
前端服务有两个可用的 API:
| 端点 | 说明 |
|---|---|
createJob |
此 API 会触发 Aggregation Service 作业。如需触发作业,需要提供作业 ID、输入存储详细信息、输出存储详细信息和报告来源等信息。 |
getJob |
此 API 会返回具有指定作业 ID 的作业的状态。它提供有关作业状态的信息,例如“已收到”“正在进行”或“已完成”。如果作业已完成,则还会返回作业结果,包括作业执行期间遇到的任何错误消息。 |
查看汇总服务 API 文档。
作业队列
托管式云服务:Pub/Sub (Google Cloud) / Amazon SQS (Amazon Web Services)
作业队列是一个消息队列,其中包含针对汇总服务的作业请求。前端服务将作业请求插入队列,然后由处理这些请求的聚合工作器使用。
云端存储空间
托管式云服务:Google Cloud Storage (Google Cloud) / Amazon S3 (Amazon Web Services)
汇总服务使用的输入和输出文件(例如加密的报告文件和输出摘要报告)会保留在 Cloud Storage 中。
作业元数据数据库
托管式云服务:Spanner (Google Cloud) / DynamoDB (Amazon Web Services)
作业元数据数据库用于存储和跟踪聚合作业的状态。它会记录创建时间、请求时间、更新时间等元数据,以及“已收到”“正在处理”或“已完成”等状态。聚合工作器会在作业进行期间更新作业元数据数据库。
汇总工作器
受管云服务:具有保密空间的 Compute Engine (Google Cloud) / 具有 Nitro Enclave 的 Amazon Web Services EC2 (Amazon Web Services)。
汇总工作器处理作业队列中的作业请求,并使用从协调器中的密钥生成和分发服务 (KGDS) 获取的密钥解密加密的输入。为了最大限度地缩短作业处理延迟时间,汇总工作器会将解密密钥缓存 8 小时,并在其处理的作业中使用这些密钥。
汇总工作器在可信执行环境 (TEE) 实例中运行。一个工作器一次只能处理一个作业。您可以通过设置自动扩缩配置,配置多个工作器来并行处理作业。如果使用自动扩缩,系统会根据作业队列中的消息数量动态调整工作器数量。您可以通过 Terraform 环境文件配置自动扩缩的工作器数量下限和上限。如需详细了解自动扩缩,请参阅以下 Terraform 脚本:Amazon Web Services 或 Google Cloud。
汇总工作器会调用可汇总报告会计核算服务,以进行可汇总报告的会计核算。此服务用于验证作业是否仅在未超出隐私保护预算限额的情况下运行。(请参阅“无重复”规则。)如果有预算,系统会使用含噪汇总数据生成摘要报告。详细了解可汇总报告的会计处理。
汇总工作器会更新作业元数据数据库中的作业元数据。此信息包括作业返回代码和报告错误计数器(如果报告部分失败)。用户可以使用 getJob 作业状态检索 API 来获取状态。
如需详细了解 Aggregation Service,请参阅此说明。
后续步骤
现在,您已经了解了汇总服务的工作原理,接下来可以按照使用入门指南通过 Google Cloud 或 Amazon Web Services 部署自己的实例。