オーディエンス管理を第三者に委任する

権限ポリシーを使用してオーディエンス管理を管理する方法、または .well-known 権限の URL を設定してサードパーティに委任する方法をご確認ください。

joinAdInterestGroup() の呼び出しコンテキストのオリジンは、インタレスト グループのオーナーのオリジンと一致している必要があります。インタレスト グループのオーナーのオリジンが現在のドキュメントのオリジン(独自のインタレスト グループを持つウェブサイトなど)と一致する場合を除き、joinAdInterestGroup() を iframe から(DSP などから)呼び出す必要があります。

joinAdInterestGroup() には以下の権限が必要です:

つまり、dsp.example.com が権限を付与しない限り、malicious.exampledsp.example.com が所有するインタレスト グループの joinAdInterestGroup() を呼び出すことはできません。

アクセスしたサイトからの許可

同じオリジンまたはクロスオリジンから権限を付与できます。

デフォルトでは、サイトへのアクセスと同じオリジン(つまり、現在のページの最上位フレームと同じオリジン)からの joinAdInterestGroup() 呼び出しに対して権限が付与されます。サイトは join-ad-interest-group 権限ポリシー ヘッダーを使用して joinAdInterestGroup() 呼び出しを無効にできます。

joinAdInterestGroup() のクロスオリジン(現在のページとは異なるオリジン)の呼び出しが成功できるのは、アクセスしたサイトにクロスオリジンの iframe からの joinAdInterestGroup() の呼び出しを許可する権限ポリシーが設定されている場合のみです。

インタレスト グループのオーナーからの許可

インタレスト グループのオーナーの権限は、インタレスト グループのオーナーと同じオリジンの iframe から joinAdInterestGroup() を呼び出すことで暗黙的に付与されます。たとえば、dsp.example.com iframe は、dsp.example.com が所有するインタレスト グループの joinAdInterestGroup() を呼び出すことができます。

基本的に 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
}

パスのオリジンに、リクエストが送信されたドメインが所有するインタレスト グループに参加または脱退する権限があるかどうかを示します。権限がない場合、false とみなされます。lifetimeMs を 0 に設定して navigator.joinAdInterestGroup() を呼び出すと、実質的にインタレスト グループから離れるため、joinAdInterestGroup: true では、leaveadInterestGroup が欠落しているか false に設定されていても、オリジンは navigator.leaveAdInterestGroup() を呼び出すことができます。leaveAdInterestGroup()clearOriginJoinedAdInterestGroups() の両方が leaveAdInterestGroup 権限を確認します。