First-Party Sets test talimatları

Birinci Taraf Gruplar'ın en son yinelemesi, Chrome 108'den geliştirici özellik bayrağı testi için hazır. Gönderim sürecine geçmek amacıyla Birinci Taraf Gruplar üzerinde aktif olarak çalışıyoruz. Bu nedenle, geliştirici testinin bu aşaması için geri bildirimleri Mart ayının başında (7 Mart 2023) Chrome 111'in kullanıma sunulmasına kadar değerlendireceğiz.

Ekosistem geri bildirimleri, Chrome'da üçüncü taraf çerezleri artık desteklenmediğinde etkilenecek siteler arası kullanım alanlarını vurguladı. Birinci Taraf Grup teklifi, birbirine bağımlı sitelerin tarayıcıya uygun işlemi gerçekleştirebilmesi ve/veya bu bilgiyi kullanıcıya etkili bir şekilde sunabilmesi için tarayıcıya ifade edilebilen bir ilişki paylaştığı siteler arası kullanım durumları sınıfını inceler ve ele alır.

Güncellenen teklif, sitelere bir Birinci Taraf Grup içindeki çerezlerine siteler arası erişim istemek için etkin bir yöntem sağlamak amacıyla iki API (Storage Access API ve geçici olarak requestStorageAccessForOrigin adlı yeni bir API) kullanmaktadır. Aşağıdaki talimatlar, siteleriniz için oluşturmak isteyebileceğiniz grupları ve iki farklı API'yi çağırmak için doğru noktaları test etmenize ve doğrulamanıza olanak tanır.

Birinci Taraf Gruplara genel bakış

Birinci Taraf Gruplar (FPS), geliştiricilerin siteler arasındaki ilişkileri beyan etmesine yönelik bir web platformu mekanizmasıdır. Böylece tarayıcılar, bu bilgileri kullanarak belirli, kullanıcılara yönelik amaçlar için siteler arası sınırlı çerez erişimini etkinleştirebilir. Chrome, üçüncü taraf bağlamında bir sitenin çerezlerine erişmesine ne zaman izin vereceğine veya ne zaman reddedileceğine karar vermek için bildirilen bu ilişkileri kullanır.

Üst düzeyde, Birinci Taraf Grup, tek bir "birincil olarak ayarlanmış" alan adları koleksiyonudur ve muhtemelen birden fazla "grup üyesi" bulunur. Yalnızca site yazarları alan adlarını bir gruba gönderebilir ve her bir "grup üyesi" arasındaki ilişkiyi beyan etmeleri gerekir. "birincil olarak ayarla" değerine ayarlayın. Grup üyeleri, kullanım alanlarına göre alt kümeler içeren bir dizi farklı alan adı içerebilir.

Tarayıcının her bir alt kümenin gizlilik üzerindeki etkileri açısından her alt kümeyi işlemesini kolaylaştırmak için Storage Access API (SAA) ve FPS içinden çerez erişimini etkinleştirmek üzere requestStorageAccessForOrigin'den yararlanmanızı öneriyoruz.

SAA ile siteler aktif bir şekilde siteler arası çerez erişimi isteyebilir. İstekte bulunan site ve üst düzey web sitesi aynı FPS'deyse Chrome, isteği otomatik olarak kabul eder. SAA'ya yapılan çağrıların diğer tarayıcılar tarafından nasıl işlendiği hakkında bilgi edinmek için lütfen Storage Access API (SAA) dokümanlarına göz atın.

SAA şu anda API'nin yöntemlerini çağırmadan önce dokümanın kullanıcı etkinleştirmesi yapmasını zorunlu tutmaktadır.

Bu durum, siteler arası resimler kullanan üst düzey siteler veya çerez gerektiren komut dosyası etiketleri için FPS'yi benimsemeyi zorlaştırabilir. Bu zorlukların bazılarını ele almak için geliştiricilerin bu değişikliği benimsemesini kolaylaştırmak amacıyla yeni bir API olan requestStorageAccessForOrigin'ı önerdik. Bu API test için de kullanılabilir.

Gönderimi ayarla

Standart FPS listesi, yeni bir FPS GitHub deposunda yer alan JSON dosyası biçiminde, herkes tarafından görüntülenebilen bir liste olacak ve tüm gruplar için bilgi kaynağı işlevi görecektir. Chrome, davranışına uygulamak için bu dosyayı kullanır.

Önerilen süreç ve setleri göndermeye yönelik şartlar hakkında daha fazla bilgi edinmek için gönderim yönergelerine göz atın. Ayrıca, gönderimleri doğrulayacak çeşitli teknik kontrolleri test etmek için bir grup göndermeyi de deneyebilirsiniz. FPS, Chrome'un kararlı sürümlerinde kullanılabilir hale gelmeden önce tüm gönderimlerin temizleneceğini unutmayın.

Set gönderim işlemi hâlâ etkin geliştirme aşamasında olduğundan, yerel testler için kümeleri yalnızca komut satırında oluşturup doğrudan tarayıcıya aktarabilirsiniz. Yerel test için özellik bayraklarıyla test etmek üzere GitHub deposuna bir grup gönderilmesi gerekmez.

Yerel olarak test etme

Ön koşullar

FPS'yi yerel olarak test etmek için komut satırından başlatılan Chrome 108 veya sonraki bir sürümü kullanın.

Yakında çıkacak Chrome özelliklerini yayınlanmadan önce önizlemek için Chrome'un Beta veya Canary sürümünü indirin.

Örnek

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

Chromium'u işaretlerle çalıştırma hakkında daha fazla bilgi edinin.

Adımlar

FPS'yi yerel olarak etkinleştirmek için Chrome'un --enable-features seçeneğini, bu bölümde açıklanan virgülle ayrılmış işaret listesiyle kullanmanız ve ilgili siteleri --use-first-party-set öğesine iletilecek JSON nesnesi olarak bildirmeniz gerekir.

FPS'yi etkinleştir

FirstPartySets, Chrome'da FPS'yi etkinleştirir.

FirstPartySets

Storage Access API'yi etkinleştir

StorageAccessAPI

Chrome'da Storage Access API'yi (SAA) etkinleştirir. Bu API, tarayıcı tarafından üçüncü taraf çerezleri engellendiğinde bile, siteler arası bağlamda çerezlere erişim istemek için yerleştirilmiş iframe'lerin requestStorageAccess() kullanmasına izin verir.

requestStorageAccess(), çağrıldığında çözümlemek için kullanıcı hareketi gerektirir. SAA spesifikasyonu gelişmeye devam ettiğinden, Chrome'un gelecekteki sürümleri farklı şartlar getirebilir. Chrome'un SAA kullanımıyla ilgili planlanan iyileştirmelerin listesini burada bulabilirsiniz.

StorageAccessAPIForOriginExtension

Üst düzey sitelerin, belirli kaynaklar adına depolama alanı erişimi istemek için requestStorageAccessForOrigin() kullanmasına izin verir. Bu seçenek, çerez gerektiren siteler arası resimler veya komut dosyası etiketleri kullanan üst düzey siteler için yararlı olur ve SAA'yı kullanımdaki bazı zorlukları ele alır.

Yerel olarak küme tanımlama

Birinci Taraf Grup, tek bir "birincil grup" bulunan alanlar koleksiyonudur ve muhtemelen birden fazla "grup üyesi" bulunur. Grup üyeleri, kullanım alanlarına göre alt kümeler içeren bir dizi farklı alan adı içerebilir.

Bir grubun üyesi olan URL'leri içeren bir JSON nesnesi oluşturun ve bunu --use-first-party-set öğesine iletin.

Aşağıdaki örnekte primary birincil alanı, associatedSites ise ilişkilendirilmiş alt grubun koşullarını karşılayan alanları listeler.

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

Örnek:

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

Yerel test için yalnızca komut satırında küme oluşturabilir ve bunları doğrudan tarayıcıya aktarabilirsiniz. Yerel testler için ayarlanmış bir doğrulama yapılmaz ancak FPS kararlı sürümlerde gönderildiğinde tüm kümelerin FPS GitHub deposuna gönderilmesi ve doğrulama ölçütlerine tabi olması gerekir.

FPS kullanıcı arayüzünü etkinleştir

PageInfoCookiesSubpage

URL çubuğundan erişilebilen PageInfo bölümünde FPS'nin gösterilmesini etkinleştirir.

PrivacySandboxFirstPartySetsUI

"İlgili sitelerin gruptaki etkinliğinizi görmesine izin ver" FPS kullanıcı arayüzünü etkinleştirir seçeneğini tıklayın.

Üçüncü taraf çerezlerinin engellendiğini doğrulama

  1. Chrome ayarlarında, Gizlilik ve Güvenlik → Çerezler ve diğer site verileri veya chrome://settings/cookies bölümüne gidin.
  2. Genel ayarlar altında "Üçüncü taraf çerezlerini engelle" seçeneğinin belirlendiğinden emin olun etkin olduğundan emin olun.
  3. "İlgili sitelerin gruptaki etkinliğimi görmesine izin ver" alt seçeneğinin işaretli olup olmadığını kontrol edin. etkinleştirilmiştir.

Güvenlikle ilgili olarak göz önünde bulundurulması gerekenler

Storage Access API, web sitelerinin belirli durumlarda üçüncü taraf çerezlerine yeniden erişim kazanmasına izin verdiğinden, web uygulamalarını siteler arası saldırılara ve bilgi sızıntılarına açık hale getirebilir. Siteler arası bağlamlarda çerezleri kullanan siteler, CSRF ve diğer saldırıların risklerinin farkında olmalıdır.

Planlı iyileştirmeler

Bu özelliği iyileştirmek amacıyla, gelecekteki Chrome sürümlerinde ek güvenlik denetimleri sağlanmasıyla birlikte, yerleşik bilgilerin açık bir şekilde etkinleştirilmesi hedeflenmektedir. Teklif edilen iyileştirmelerle yalnızca çerçeve bazında erişim izni verilecek, kimlik bilgileri içeren isteklerde CORS'a gerek duyulacak ve yalnızca kaynağa erişim kapsamı korunacak. Yakın zamanda yapılan güvenlik analizinde daha fazla bilgi edinebilirsiniz.

Chrome'un SAA uygulamasında yapılan planlanan iyileştirmelerin listesine göz atın.

Chrome'un yalnızca siteler arası yerleştirilmiş bağlamlarda SameSite=None olarak işaretlenmiş çerezleri gönderdiğini unutmayın. Storage Access API'nin ilgili olduğu yer burasıdır. Ancak tüm tarayıcılar bu çerezlere varsayılan erişimi kullanımdan kaldırana kadar, çerezin nerede kullanılabileceği konusunda varsayımda bulunulamaz. Erişime yalnızca bir FPS üzerinden izin verileceğini ve sitelerin standart güvenlik en iyi uygulamalarını kullanmaya devam etmesi gerektiğini varsaymak güvenli değildir.

Etkileşimde bulunun ve geri bildirim paylaşın

Yerel test, FPS'yi etkinleştirmek için Storage Access API mekanizmasını denemek ve geri bildirimleri ya da karşılaştığınız sorunları paylaşmak için bir fırsattır. Ayrıca, GitHub'da set gönderme sürecini test ederek süreç ve doğrulama adımlarıyla ilgili deneyiminizi paylaşabilirsiniz. Güncellenmiş teklifle ilgili etkileşim kurmak ve geri bildirim paylaşmak için: