使用“权限”政策控制 Privacy Sandbox 功能

了解如何在网页上允许或拒绝使用 Privacy Sandbox 功能。

权限政策概览

权限政策是一种网络平台机制,允许页面控制对页面上功能的访问权限。借助权限政策,网页可以允许或拒绝顶级网页本身和嵌入的跨源 iframe 中的某项功能。

在响应浏览器的请求时,页面的响应标头可以定义要在页面上应用的政策。此外,iframe 代码还会在必要时定义 allow 属性,以在 iframe 中启用该功能(如果父级也具有权限)。权限由父级委托给子级,而 iframe 的子级则会获得父级框架的权限。

权限政策可与 iframe 上的响应标头和 allow 属性结合使用。仅当响应标头和 allow 属性都允许该功能时,才允许使用该功能。如果未提供 Permissions Policy 标头,则每个功能标头政策都会默认设为 *。如果 iframe 的 allow 属性未定义,则该属性默认为默认许可名单值

如果默认许可名单为 *,那么在默认情况下,顶级网页以及网页上的所有跨源 iframe 将可以使用该功能。它相当于 <iframe src="some-url" allow="feature *"/>,而且无需在 iframe 上定义 allow 属性。

如果值为 self,则表示该功能仅适用于顶级网页(以及同源 iframe);未经该网页明确委托,则跨源 iframe 无法使用该功能。它相当于 <iframe src="some-url" allow="feature 'self'"/>,其中 self 是嵌入器的来源。因此,必须定义 allow 标记,以在跨源 iframe 中启用该功能。

如需详细了解“权限”政策,请参阅以下内容:

Privacy Sandbox 功能的权限政策

下表列出了由权限政策控制的 Privacy Sandbox API:

API 指示 说明 默认许可名单
Attribution Reporting

指南 / 规范

attribution-reporting 允许使用 Attribution Reporting API *
Federated Credential Management

指南 / 规范

identity-credentials-get 允许获取凭据对象 self
不公开汇总

规范

private-aggregation 允许使用不公开汇总进行报告 *
Protected Audience

指南 / 规范

join-ad-interest-group 允许向网站的兴趣组添加用户 * 测试期间
将来 self
run-ad-auction 允许开展广告竞价 *
共享存储空间

规范

shared-storage 允许通过共享存储空间读取和写入数据 *
shared-storage-select-url 允许执行网址选择操作 *
存储空间访问权限

指南 / 规范

storage-access 允许访问 Storage Access API *
requestStorageAccessFor

指南 / 规范

top-level-storage-access 允许通过 requestStorageAccessFor() 对属于 Related Website Set 的网站进行顶级访问 *
主题

指南 / 规范

browsing-topics 允许为用户生成主题,以及读取生成的主题 *
用户代理客户端提示

指南 / 规范

请参阅标题的完整列表指南 允许请求者使用指定的客户端提示 请参阅默认许可名单值的完整列表的规范

网页所有者无法精细控制第三方 iframe 对 Cookie 的使用方式,而第三方 Cookie 则不同,网页可以利用“权限政策”来允许或拒绝网页本身及第三方使用 Privacy Sandbox API。例如,网页所有者(例如发布商)可以使用权限政策允许指定第三方运行广告竞价,或禁止所有第三方读取用户的主题。

许多 Privacy Sandbox 功能都使用默认的许可名单值 *,该值允许任何跨网站 iframe 使用该功能,除非受到权限政策的限制。网页所有者可以覆盖默认政策并使用自己的政策,从而仅允许网页上的指定源使用该功能。请注意,Cookie 的默认行为是也允许在除沙盒化 iframe 之外的所有框架中使用,但这种行为不在权限政策的涵盖范围内,而且嵌入器无法控制其使用情况。*.

某些 Privacy Sandbox 功能会使用默认的许可名单值 self,该值拒绝跨源 iframe 使用该功能,而无需明确声明。网页所有者在创建跨源 iframe 时必须使用 allow 属性,以允许使用该功能。日后,某些 Privacy Sandbox API 的默认许可名单值(例如适用于 Protected Audience 的 join-ad-interest-group 指令)将更改为 self。将来可能会有更多 API 将默认许可名单切换为 self