將目標對象管理工作委派給第三方

瞭解如何使用 Permissions Policy 控制目標對象管理,或設定 .well-known 權限網址,將目標對象管理委派給第三方。

joinAdInterestGroup() 的呼叫環境來源必須與興趣群組擁有者的來源相符,因此除非興趣群組擁有者的來源與目前文件的來源相符 (例如擁有自己興趣群組的網站),否則必須從 iframe 呼叫 joinAdInterestGroup() (例如從 DSP)。

joinAdInterestGroup()」需要下列權限:

也就是說,如果 dsp.example.com 未授予權限,malicious.example 就無法為 dsp.example.com 擁有的興趣群組呼叫 joinAdInterestGroup()

造訪網站時授予的權限

權限可從同源或跨源授予。

根據預設,系統會授予來自所造訪網站相同來源的 joinAdInterestGroup() 呼叫權限 (也就是來自目前頁面頂層框架的相同來源)。網站可以使用join-ad-interest-group權限政策標頭停用 joinAdInterestGroup() 呼叫。

如果網站已設定權限政策,允許從跨源 iframe 呼叫 joinAdInterestGroup(),您才能跨源呼叫 joinAdInterestGroup() (與目前網頁不同的來源)。

取得興趣群組擁有者的許可

從與興趣群組擁有者來源相同的 iframe 呼叫 joinAdInterestGroup() 時,系統會隱含授予興趣群組擁有者權限。舉例來說,dsp.example.com iframe 可以呼叫 joinAdInterestGroup(),取得 dsp.example.com 擁有的興趣群組。

基本上,joinAdInterestGroup()可以在擁有者網域的網頁或 iframe 中執行,也可以委派給其他網域,這些網域是透過 .well-known URL 的清單提供。

當影格導覽至某個網域,並為擁有者不同的興趣群組呼叫 joinAdInterestGroup()leaveAdInterestGroup()clearOriginJoinedAdInterestGroups() 時,瀏覽器會擷取網址 https://owner.domain/.well-known/interest-group/permissions/?origin=frame.origin,其中 owner.domain 是擁有興趣群組的網域,而 frame.origin 則是影格的來源。擷取作業會使用 omit credentials 模式,並採用叫用方法的影格網路分割區金鑰。為避免透過傳回的 Promise 意外洩漏跨來源資料,fetch 會使用 cors 模式。擷取的回應應為 JSON MIME 類型,且格式如下:

{ "joinAdInterestGroup": true/false,
  "leaveAdInterestGroup": true/false
}

指出路徑中的來源是否有權加入或離開要求傳送至的網域所擁有的興趣群組。系統會假設缺少權限為 false。由於使用 0 的 lifetimeMs 呼叫 navigator.joinAdInterestGroup() 實際上會離開興趣群組,因此即使缺少 leaveadInterestGroupleaveadInterestGroup 設為 false,joinAdInterestGroup: true 也允許來源呼叫 navigator.leaveAdInterestGroup()。請注意,leaveAdInterestGroup()clearOriginJoinedAdInterestGroups() 都會檢查 leaveAdInterestGroup 權限。