Instrukcje testowania zestawów źródeł własnych

Najnowsza wersja zestawów źródeł własnych jest gotowa do testowania flag funkcji przez deweloperów od Chrome 108. Aktywnie pracujemy nad zestawami źródeł własnych, aby wkrótce umożliwić dostawę produktów. Dlatego weźmiemy pod uwagę opinie na temat tego etapu testowania przez deweloperów aż do momentu opublikowania Chrome 111 na początku marca (7 marca 2023 r.).

Opinie dotyczące ekosystemu wskazują przypadki użycia, na które wpłynie wycofanie plików cookie innych firm z Chrome, na które wpłynie wycofanie plików cookie innych firm. Propozycja zestawów źródeł własnych bada i rozpatruje klasę przypadków użycia w różnych witrynach, w których witryny te są powiązane, które można wyrazić z przeglądarką w taki sposób, że przeglądarka może podjąć odpowiednie działanie w imieniu użytkownika i/lub skutecznie zaprezentować mu te informacje.

Zaktualizowana oferta pakietowa korzysta z 2 interfejsów API – Storage Access API i nowego interfejsu API o wstępnie nazwie requestStorageAccessForOrigin), aby udostępniać witrynom aktywną metodę wysyłania żądań dostępu do plików cookie w ramach zestawu źródeł własnych. Dzięki poniższym instrukcjom możesz przetestować i zweryfikować, jakie zestawy warto utworzyć dla swoich witryn oraz jakie są właściwe punkty do wywoływania dwóch różnych interfejsów API.

Omówienie zestawów źródeł własnych

Zestawy źródeł własnych (FPS) to mechanizm platformy internetowej, który umożliwia programistom deklarowanie relacji między witrynami. Dzięki temu przeglądarki mogą używać tych informacji do ograniczonego dostępu do plików cookie z innych witryn w określonych celach dla użytkowników. Chrome będzie korzystać z tych zadeklarowanych relacji, aby zdecydować, kiedy zezwolić stronie na dostęp do jej plików cookie w kontekście innej firmy lub go zablokować.

Ogólnie zestaw źródeł własnych to zbiór domen, dla których istnieje 1 „ustawiona podstawowe”. i potencjalnie wielu „członków zestawu”. Tylko autorzy witryn mogą przesłać swoje domeny do zbioru – muszą zadeklarować relację między każdym „elementem zestawu” na „Ustaw jako podstawowe”. Elementy zestawu mogą obejmować różne typy domen z podzbiorami w zależności od przypadków użycia.

Aby ułatwić przeglądarce obsługę każdego podzbioru zgodnie z konsekwencjami ochrony prywatności każdego z tych podzbiorów, zalecamy korzystanie z interfejsów Storage Access API (SAA) i requestStorageAccessForOrigin, aby umożliwić dostęp do plików cookie w ramach klatek na sekundę.

W ramach tej umowy witryny mogą aktywnie prosić o dostęp do plików cookie z innych witryn. Chrome automatycznie zaakceptuje żądanie, jeśli witryna wysyłająca żądanie i witryna najwyższego poziomu korzystają z tej samej liczby klatek na sekundę. Informacje o tym, jak inne przeglądarki przetwarzają wywołania SAA, znajdziesz w dokumentacji interfejsu Storage Access API (SAA).

Obecnie umowa SAA wymaga, aby dokument uzyskał aktywację użytkownika przed wywołaniem metod interfejsu API.

Może to utrudniać stosowanie klatek na sekundę w przypadku witryn najwyższego poziomu, które korzystają z obrazów z innych witryn lub z tagów skryptów wymagających plików cookie. Aby odpowiedzieć na niektóre z tych wyzwań, zaproponowaliśmy nowy interfejs API requestStorageAccessForOrigin, który ułatwi deweloperom wdrożenie tej zmiany. Ten interfejs API jest też dostępny do testowania.

Ustaw przesłanie

Kanoniczna lista FPS będzie dostępna publicznie w formacie JSON i będzie przechowywana w nowym repozytorium GitHub FPS, które będzie źródłem informacji dla wszystkich zbiorów. Chrome będzie go używać, aby dostosować działanie tego pliku.

Aby dowiedzieć się więcej o proponowanym procesie i wymaganiach dotyczących przesyłania zestawów, zapoznaj się z wytycznymi dotyczącymi zgłaszania. Możesz też przesłać zestaw, aby przetestować różne testy techniczne, które weryfikują przesłane treści. Pamiętaj, że zanim liczba klatek na sekundę zostanie udostępniona w stabilnych wersjach Chrome, wszystkie przesłane elementy zostaną wyczyszczone.

Proces przesyłania zestawów jest nadal w fazie rozwoju, dlatego na potrzeby testów lokalnych możesz tworzyć zestawy tylko w wierszu poleceń i przekazywać je bezpośrednio do przeglądarki. W przypadku testów lokalnych nie trzeba przesyłać zestawu do repozytorium GitHub w przypadku testowania za pomocą flag funkcji.

Jak testować lokalnie

Wymagania wstępne

Aby przetestować FPS lokalnie, użyj Chrome w wersji 108 lub nowszej uruchomionej z wiersza poleceń.

Aby wypróbować nowe funkcje Chrome jeszcze przed ich udostępnieniem wszystkim użytkownikom, pobierz wersję beta lub Canary.

Przykład

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\"]}" \

Dowiedz się więcej o tym, jak uruchamiać Chromium z flagami.

Kroki

Aby włączyć FPS lokalnie, musisz użyć w Chrome opcji --enable-features z listą rozdzielonych przecinkami flag, które zostały omówione w tej sekcji, i zadeklarować zbiór powiązanych witryn jako obiekt JSON przekazywany do --use-first-party-set.

Włącz FPS

FirstPartySets włącza FPS w Chrome.

FirstPartySets

Włącz Storage Access API

StorageAccessAPI

Włącza interfejs Storage Access API (SAA) w Chrome, który umożliwia osadzonym elementom iframe używanie requestStorageAccess() w celu wysyłania żądań dostępu do plików cookie w kontekście wielu witryn, nawet jeśli pliki cookie innych firm są blokowane przez przeglądarkę.

Pamiętaj, że wywołanie funkcji requestStorageAccess() wymaga gestu użytkownika, aby można było je rozwiązać. W kolejnych wersjach Chrome mogą obowiązywać inne zestawy wymagań, ponieważ specyfikacja umowy o współpracy z użytkownikami wciąż się rozwija. Tutaj znajdziesz listę planowanych ulepszeń implementacji umowy SAA w Chrome.

StorageAccessAPIForOriginExtension

Pozwala witrynom najwyższego poziomu na używanie requestStorageAccessForOrigin() do wysyłania próśb o dostęp do pamięci masowej w imieniu określonych źródeł. Jest to przydatne w przypadku witryn najwyższego poziomu, które korzystają z obrazów z innych witryn lub z tagów skryptu wymagających plików cookie i rozwiązują niektóre problemy z wdrożeniem SAAA.

Lokalna deklaracja zestawu

Zestaw źródeł własnych to zbiór domen, dla których jest 1 „ustawiona główna” i potencjalnie wielu „członków zestawu”. Elementy zestawu mogą obejmować różne typy domen z podzbiorami w zależności od przypadków użycia.

Utwórz obiekt JSON zawierający adresy URL należące do zestawu i przekaż go do funkcji --use-first-party-set.

W poniższym przykładzie primary wymienia domenę podstawową, a associatedSites – domeny, które spełniają wymagania powiązanego podzbioru.

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

Przykład:

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

W przypadku testów lokalnych można tworzyć zestawy wyłącznie w wierszu poleceń i przekazywać je bezpośrednio do przeglądarki. W przypadku testów lokalnych nie będzie przeprowadzana weryfikacja ustawień, ale gdy FPS są wysyłane w wersjach stabilnych, wszystkie zestawy muszą zostać przesłane do repozytorium FPS GitHub i podlegają kryteriom weryfikacji.

Włącz interfejs FPS

PageInfoCookiesSubpage

Włącza wyświetlanie klatek na sekundę w sekcji PageInfo dostępnej z paska adresu URL.

PrivacySandboxFirstPartySetsUI

Włącza interfejs FPS „Zezwalaj powiązanym witrynom na dostęp do Twojej aktywności w grupie” w ustawieniach Chrome w sekcji Prywatność i bezpieczeństwo → Pliki cookie i inne dane witryn (chrome://settings/cookies).

Sprawdź, czy pliki cookie innych firm są zablokowane

  1. W ustawieniach Chrome wybierz Prywatność i bezpieczeństwo → Pliki cookie i inne dane witryn lub wejdź na chrome://settings/cookies.
  2. W sekcji Ustawienia ogólne upewnij się, że „Blokuj pliki cookie innych firm” jest włączona.
  3. Sprawdź, czy jest dostępna podopcja „Zezwalaj powiązanym witrynom na dostęp do danych o Twojej aktywności w grupie”. jest również włączona.

Bezpieczeństwo

Interfejs Storage Access API umożliwia witrynom odzyskanie dostępu do plików cookie innych firm w niektórych przypadkach, co może narażać aplikacje internetowe na ataki obejmujące wiele witryn i wyciek informacji. Witryny, które korzystają z plików cookie w kontekście innych witryn, powinny mieć świadomość ryzyka związanego z CSRF i innymi atakami.

Planowane ulepszenia

Aby to poprawić, kolejne wersje Chrome będą wymagać dodatkowych opcji zabezpieczeń. Proponowane ulepszenia: przyznają dostęp tylko na poziomie ramki, wymagają CORS w przypadku żądań z danymi uwierzytelniającymi i zachowają zakres dostępu tylko do źródła. Więcej dowiesz się z najnowszej analizy zabezpieczeń.

Zapoznaj się z listą planowanych ulepszeń implementacji umowy SAA w Chrome.

Pamiętaj, że Chrome wysyła tylko pliki cookie z oznaczeniem SameSite=None w kontekstach osadzonych w innych witrynach, co ma znaczenie w kontekście interfejsu Storage Access API. Dopóki jednak wszystkie przeglądarki nie wycofają domyślnego dostępu do tych plików cookie, nie można przyjąć żadnych założeń co do tego, gdzie plik cookie może być używany. Nie należy zakładać, że dostęp byłby dozwolony tylko w ramach FPS i witryny powinny nadal stosować standardowe sprawdzone metody w zakresie bezpieczeństwa.

Angażuj odbiorców i dziel się opiniami

Testy lokalne dają możliwość wypróbowania mechanizmu Storage Access API umożliwiającego włączanie FPS i dzielenia się opinią lub informacjami o ewentualnych problemach. Dodatkowo dzięki przetestowaniu na GitHubie procesu przesyłania zestawów możesz podzielić się swoimi doświadczeniami związanymi z procesem i weryfikacją. Aby zaangażować się w zmianę oferty i przekazać opinię na jej temat: