Istruzioni per il test degli insiemi proprietari

L'ultima iterazione di insiemi proprietari è pronta per il test dei flag funzionalità per gli sviluppatori a partire da Chrome 108. Stiamo lavorando attivamente agli insiemi proprietari con l'obiettivo di passare alla spedizione, quindi valuteremo i feedback per questa fase del test degli sviluppatori fino al rilascio di Chrome 111 all'inizio di marzo (7 marzo 2023).

Il feedback sull'ecosistema ha evidenziato i casi d'uso tra siti che saranno interessati dal fatto che i cookie di terze parti non saranno più supportati in Chrome. La proposta Insiemi proprietari esamina e affronta una classe di casi d'uso tra siti in cui i siti interdipendenti condividono una relazione che può essere espressa al browser in modo che quest'ultimo possa intraprendere l'azione appropriata per conto dell'utente e/o presentare efficacemente queste informazioni all'utente.

La proposta aggiornata utilizza due API (l'API Storage Access e una nuova API denominata requestStorageAccessForOrigin) per fornire ai siti un metodo attivo per richiedere l'accesso tra siti ai propri cookie all'interno di un insieme proprietario. Le istruzioni riportate di seguito dovrebbero consentirti di testare e convalidare i set che potresti voler creare per i tuoi siti e i punti giusti per chiamare le due diverse API.

Panoramica degli insiemi proprietari

Gli insiemi proprietari (FPS) sono un meccanismo su piattaforma web che consente agli sviluppatori di dichiarare le relazioni tra siti, in modo che i browser possano usare queste informazioni per consentire un accesso limitato ai cookie tra siti per scopi specifici rivolti agli utenti. Chrome utilizzerà queste relazioni dichiarate per decidere quando consentire o negare a un sito l'accesso ai propri cookie in un contesto di terze parti.

A livello generale, un insieme proprietario è una raccolta di domini per la quale esiste un unico "insieme principale" e potenzialmente più "membri dell'insieme". Solo gli autori del sito possono inviare i propri domini a un insieme e dovranno dichiarare la relazione tra ogni "membro dell'insieme". al relativo valore "set Primary". I membri degli insiemi possono includere una gamma di diversi tipi di dominio con sottoinsiemi basati sui casi d'uso.

Per facilitare la gestione da parte del browser di ogni sottoinsieme in base alle implicazioni per la privacy di ogni sottoinsieme, stiamo proponendo di utilizzare l'API Storage Access (SAA) e richiedere aStorageAccessForOrigin di abilitare l'accesso ai cookie entro un FPS.

Con l'SAA, i siti possono richiedere attivamente l'accesso ai cookie tra siti. Chrome concede automaticamente la richiesta se il sito richiedente e il sito web di primo livello hanno lo stesso FPS. Per informazioni su come le chiamate all'API Storage Access (SAA) vengono elaborate da altri browser, consulta la documentazione relativa all'API Storage Access (SAA).

Al momento, l'SAA richiede che il documento ottenga l'attivazione dell'utente prima di chiamare i metodi dell'API.

Ciò può rendere difficile l'adozione del FPS per i siti di primo livello che utilizzano immagini in più siti o tag di script che richiedono cookie. Per risolvere alcune di queste sfide, abbiamo proposto una nuova API, requestStorageAccessForOrigin, per consentire agli sviluppatori di adottare più facilmente questa modifica. Questa API è disponibile anche per i test.

Imposta invio

L'elenco FPS canonico sarà un elenco visibile pubblicamente in formato file JSON ospitato in un nuovo repository GitHub FPS, che fungerà da fonte attendibile per tutti i set. Chrome utilizzerà questo file per applicarlo al proprio comportamento.

Per ulteriori informazioni sulla procedura proposta e sui requisiti per l'invio di insiemi, consulta le linee guida per l'invio. Puoi anche provare a inviare un set per testare i vari controlli tecnici che convalideranno i contenuti inviati. Tieni presente che tutti gli invii verranno cancellati prima che FPS sia disponibile nelle versioni stabili di Chrome.

Poiché il processo di invio dei set è ancora in fase di sviluppo attivo, per i test locali puoi creare set solo dalla riga di comando e trasmetterli direttamente al browser. Per i test locali, non è necessario inviare un set al repository GitHub da testare con flag delle funzionalità.

Come eseguire i test in locale

Prerequisiti

Per testare gli FPS in locale, utilizza Chrome 108 o versioni successive avviato dalla riga di comando.

Per visualizzare l'anteprima delle funzionalità di Chrome in arrivo prima del rilascio, scarica la versione beta o Canary di Chrome.

Esempio

google-chrome \
--enable-features="FirstPartySets,StorageAccessAPI,StorageAccessAPIForOriginExtension,PageInfoCookiesSubpage,PrivacySandboxFirstPartySetsUI" \
--use-first-party-set="{\"primary\": \"https://first-party-sets.glitch.me\", \"associatedSites\": [\"https://fps-member-1.glitch.me\"]}" \

Scopri di più su come eseguire Chromium con i flag.

Passaggi

Per attivare FPS in locale, devi usare l'opzione --enable-features di Chrome con un elenco separato da virgole di flag spiegati in questa sezione e dichiarare un insieme di siti correlati come oggetto JSON da passare a --use-first-party-set.

Abilita FPS

FirstPartySets attiva FPS in Chrome.

FirstPartySets

Abilita API Storage Access

StorageAccessAPI

Consente di attivare l'API Storage Access (SAA) in Chrome, che consente agli iframe incorporati di utilizzare requestStorageAccess() per richiedere l'accesso ai cookie in un contesto tra siti, anche se i cookie di terze parti sono bloccati dal browser.

Tieni presente che, quando viene chiamato, requestStorageAccess() richiede un gesto dell'utente per risolvere il problema. Le versioni future di Chrome potrebbero imporre diversi insiemi di requisiti, poiché la specifica SAA è ancora in evoluzione. Fai clic qui per un elenco dei miglioramenti pianificati per l'implementazione dell'SAA da parte di Chrome.

StorageAccessAPIForOriginExtension

Consente ai siti di primo livello di utilizzare requestStorageAccessForOrigin() per richiedere l'accesso allo spazio di archiviazione per conto di origini specifiche. Ciò è utile per i siti di primo livello che utilizzano immagini in più siti o tag di script che richiedono cookie e risolve alcune delle sfide associate all'adozione dell'SAA.

Dichiara un insieme a livello locale

Un insieme proprietario è una raccolta di domini per la quale esiste un unico "set principale" e potenzialmente più "membri dell'insieme". I membri degli insiemi possono includere una gamma di diversi tipi di dominio con sottoinsiemi basati sui casi d'uso.

Crea un oggetto JSON che contiene URL che fanno parte di un set e lo passa a --use-first-party-set.

Nell'esempio riportato di seguito, primary elenca il dominio principale, mentre associatedSites elenca i domini che soddisfano i requisiti del sottoinsieme associato.

{
     "primary": "https://primary.com",
    "associatedSites": ["https://associate1.com", "https://associate2.com", "https://associate3.com"]
}

Esempio:

--use-first-party-set="{\"primary\": \"https://first-party-sets.glitch.me\", \"associatedSites\": [\"https://fps-member-1.glitch.me\"]}"

Per i test locali, puoi creare set solo sulla riga di comando e passarli direttamente al browser. Ai fini di test locali, non ci sarà una convalida dei set, ma quando FPS verrà spedito in versioni stabili, tutti i set dovranno essere inviati al repository GitHub di FPS e soggetti a criteri di convalida.

Attiva UI FPS

PageInfoCookiesSubpage

Attiva la visualizzazione degli FPS nella sezione PageInfo accessibile dalla barra dell'URL.

PrivacySandboxFirstPartySetsUI

Attiva l'interfaccia utente FPS "Consenti ai siti correlati di vedere le tue attività nel gruppo" nelle impostazioni di Chrome, sotto Privacy e sicurezza → Cookie e altri dati dei siti (chrome://settings/cookies).

Verificare che i cookie di terze parti siano bloccati

  1. Nelle impostazioni di Chrome, vai a Privacy e sicurezza → Cookie e altri dati dei siti o chrome://settings/cookies.
  2. Nella sezione Impostazioni generali verifica che l'opzione "Blocca cookie di terze parti" sia abilitato.
  3. Verifica che l'opzione secondaria "Consenti ai siti correlati di vedere le tue attività nel gruppo" è abilitata.

Considerazioni sulla sicurezza

Poiché l'API Storage Access consente ai siti web di recuperare l'accesso ai cookie di terze parti in determinati casi, potrebbe lasciare le applicazioni web suscettibili di attacchi tra siti e fuga di informazioni. I siti che si basano sui cookie in contesti tra siti devono essere consapevoli dei rischi di CSRF e altri attacchi.

Miglioramenti pianificati

Per migliorare questa funzionalità, le future release di Chrome richiederanno controlli di sicurezza aggiuntivi con l'obiettivo di garantire un'esplicita attivazione dell'incorporamento. I miglioramenti proposti significherebbero che concedono l'accesso solo in base ai singoli frame, richiedono CORS per le richieste con credenziali e manterranno l'ambito di accesso solo all'origine. Per saperne di più, leggi l'analisi più recente sulla sicurezza.

Consulta l'elenco di miglioramenti pianificati dell'implementazione dell'SAA da parte di Chrome.

Tieni presente che Chrome invia solo i cookie contrassegnati con SameSite=None in contesti incorporati tra siti, nei quali è pertinente l'API Storage Access. Fino a quando tutti i browser non avranno ritirato l’accesso predefinito a questi cookie, tuttavia, non è possibile fare ipotesi su dove potrebbero essere utilizzati. Non è sicuro supporre che l'accesso sarà consentito solo entro un f/s e i siti dovrebbero continuare a utilizzare le best practice di sicurezza standard.

Interagisci e condividi il feedback

I test locali ti offrono l'opportunità di provare il meccanismo dell'API Storage Access per abilitare FPS e condividere feedback o eventuali problemi riscontrati. Inoltre, testare la procedura di invio impostata su GitHub è un'opportunità per condividere la tua esperienza con la procedura e le fasi di convalida. Per interagire e condividere feedback sulla proposta aggiornata: