Делегируйте управление аудиторией третьей стороне

Узнайте, как контролировать управление аудиторией с помощью политики разрешений или делегировать ее третьей стороне, настроив общеизвестный URL-адрес разрешений.

Происхождение контекста вызова для joinAdInterestGroup() должно совпадать с происхождением владельца группы интересов, поэтому joinAdInterestGroup() необходимо будет вызывать из iframe (например, из DSP), если только происхождение владельца группы интересов не совпадает с происхождением текущий документ (например, сайт со своими группами по интересам).

joinAdInterestGroup() требует разрешения от:

Это означает, что malicious.example не может вызвать joinAdInterestGroup() для группы интересов, принадлежащей dsp.example.com , без предоставления разрешения dsp.example.com .

Разрешение с посещаемого сайта

Разрешение может быть предоставлено из одного и того же или перекрестного источника.

По умолчанию разрешение предоставляется для вызовов joinAdInterestGroup() из того же источника, что и посещаемый сайт (другими словами, из того же источника, что и фрейм верхнего уровня текущей страницы). Сайты могут использовать заголовок политики разрешений join-ad-interest-group чтобы отключить вызовы joinAdInterestGroup() .

Вызов joinAdInterestGroup() из разных источников (исходные данные, отличные от текущей страницы) может быть успешным только в том случае, если на посещаемом сайте установлена ​​политика разрешений, которая разрешает вызовы joinAdInterestGroup() из iframe с разными источниками.

Разрешение владельца группы интересов

Разрешение владельца группы интересов предоставляется неявно путем вызова joinAdInterestGroup() из iframe того же происхождения, что и у владельца группы интересов. Например, iframe dsp.example.com может вызывать joinAdInterestGroup() для групп по интересам, принадлежащих dsp.example.com .

По сути, joinAdInterestGroup() может выполняться на странице или в iframe в домене владельца или быть делегирован другим доменам, предоставленным с использованием списка по .well-known URL-адресу.

Когда кадр, перешедший к одному домену, вызывает joinAdInterestGroup() , leaveAdInterestGroup() или clearOriginJoinedAdInterestGroups() для группы интересов с другим владельцем, браузер получит URL-адрес https://owner.domain/.well-known/interest-group/permissions/?origin=frame.origin , где owner.domain — это домен, которому принадлежит группа интересов, frame.origin — это источник кадра. При выборке используется режим пропуска учетных данных с использованием ключа сетевого раздела кадра, вызвавшего этот метод. Чтобы избежать неожиданной утечки данных из разных источников через возвращенный Promise, при выборке используется режим cors. Полученный ответ должен иметь тип JSON MIME и формат:

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

Указание того, имеет ли источник в пути разрешения на присоединение или выход из групп по интересам, принадлежащих домену, в который отправляется запрос. Отсутствующие разрешения считаются ложными. Поскольку вызов navigator.joinAdInterestGroup() со lifetimeMs , равным 0, фактически покидает группу интересов, joinAdInterestGroup: true также позволяет источнику вызывать navigator.leaveAdInterestGroup() , даже если leaveadInterestGroup отсутствует или для него установлено значение false. Обратите внимание, что и leaveAdInterestGroup() , clearOriginJoinedAdInterestGroups() проверяют разрешение leaveAdInterestGroup .