First-Party Sets'in en son iterasyonu, Chrome 108'den itibaren geliştirici özellik işareti testine hazırdır. Kullanıma sunma aşamasına geçmek için birinci taraf setler üzerinde aktif olarak çalışıyoruz. Bu nedenle, Mart ayının başında (7 Mart 2023) Chrome 111'in yayınlanmasına kadar geliştirici testinin bu aşamasıyla ilgili geri bildirimleri dikkate alacağız.
Ekosistem geri bildirimleri, Chrome'da üçüncü taraf çerezleri artık desteklenmediğinde etkilenecek siteler arası kullanım alanlarını vurguladı. Birinci Taraf Kümeleri önerisi, birbirine bağımlı sitelerin tarayıcıya ifade edilebilecek bir ilişki paylaştığı, böylece tarayıcının kullanıcı adına uygun işlemi yapabileceği ve/veya bu bilgileri kullanıcıya etkili bir şekilde sunabileceği bir siteler arası kullanım alanı sınıfını inceler ve ele alır.
Güncellenen teklif, sitelere birinci taraf grubundaki çerezleri için siteler arası erişim isteğinde bulunmanın etkin bir yöntemini sağlamak amacıyla iki API'yi (Storage Access API ve geçici olarak requestStorageAccessForOrigin
olarak adlandırılan yeni bir API) kullanır. Aşağıdaki talimatlar, siteleriniz için oluşturmak isteyebileceğiniz kümeleri ve iki farklı API'yi çağırmanın doğru noktalarını test etmenize ve doğrulamanıza olanak tanır.
Birinci Taraf Gruplar'a genel bakış
Birinci Taraf Grupları (BTG), geliştiricilerin siteler arasındaki ilişkileri tanımlamasını sağlayan bir web platformu mekanizmasıdır. Böylece tarayıcılar, belirli kullanıcılara yönelik amaçlar için siteler arası sınırlı çerez erişimi sağlamak üzere bu bilgileri kullanabilir. Chrome, bir sitenin üçüncü taraf bağlamında çerezlerine ne zaman izin verileceğine veya ne zaman reddedileceğine karar vermek için bu beyan edilen ilişkileri kullanır.

Genel hatlarıyla birinci taraf grubu, tek bir "grup birincil" ve potansiyel olarak birden fazla "grup üyesi" içeren bir alan koleksiyonudur. Yalnızca site yazarları alanlarını bir gruba gönderebilir ve her "grup üyesi" ile "grup birincil"i arasındaki ilişkiyi belirtmeleri gerekir. Küme üyeleri, kullanım alanlarına dayalı alt kümelerle çeşitli farklı alan türleri içerebilir.
Tarayıcının her alt kümeyi, her alt kümenin gizlilik etkilerine göre işlemesini kolaylaştırmak için FPS'de çerez erişimini etkinleştirmek üzere Storage Access API (SAA) ve requestStorageAccessForOrigin'den yararlanmayı öneriyoruz.
SAA ile siteler, siteler arası çerez erişimi için etkin olarak istek gönderebilir. İ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) belgelerine bakın.
SAA şu anda, belgenin API'nin yöntemlerini çağırmadan önce kullanıcı etkinleştirmesini almasını gerektiriyor.
Bu durum, siteler arası resimler veya çerez gerektiren komut dosyası etiketleri kullanan üst düzey siteler için FPS'yi kullanmayı zorlaştırabilir. Bu zorluklardan bazılarını gidermek için geliştiricilerin bu değişikliği benimsemesini kolaylaştırmak amacıyla yeni bir API (requestStorageAccessForOrigin
) önerdik. Bu API'yi test etmek için de kullanabilirsiniz.
Gönderimi ayarlama
Resmi FPS listesi, yeni bir FPS GitHub deposunda bulunan JSON dosyası biçiminde herkese açık olarak görüntülenebilir bir liste olacak ve tüm setler için doğru kaynak görevi görecektir. Chrome, davranışını uygulamak için bu dosyayı kullanır.
Önerilen süreç ve grup gönderme koşulları hakkında daha fazla bilgi edinmek için gönderim yönergelerine göz atın. 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ıma sunulmadan önce tüm gönderimlerin silineceğini unutmayın.
Grup gönderme süreci hâlâ aktif olarak geliştirilmekte olduğundan yerel test için yalnızca komut satırında grup oluşturabilir ve bunları doğrudan tarayıcıya iletebilirsiniz. Yerel test için özellik işaretleriyle test etmek üzere GitHub deposuna bir grup göndermeniz 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 kullanıma sunulacak 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 ve virgülle ayrılmış bir işaret listesi ile kullanmanız ve --use-first-party-set
'a iletilecek bir JSON nesnesi olarak bir dizi ilgili siteyi belirtmeniz gerekir.
FPS'yi etkinleştirme
FirstPartySets
, Chrome'da FPS'yi etkinleştirir.
FirstPartySets
Storage Access API'yi etkinleştirme
StorageAccessAPI
Chrome'da Storage Access API'yi (SAA) etkinleştirir. Bu API, üçüncü taraf çerezleri tarayıcı tarafından engellendiğinde bile yerleşik iFrame'lerin siteler arası bağlamda çerezlere erişim isteğinde bulunmak için requestStorageAccess()
kullanmasına olanak tanır.
requestStorageAccess()
çağrıldığında çözülmesi için kullanıcı hareketi gerektiğini unutmayın. SAA spesifikasyonu hâlâ gelişmekte olduğundan Chrome'un gelecekteki sürümleri farklı şartlar getirebilir. Chrome'un SAA'yı uygulamasında planlanan iyileştirmelerin listesi için buraya bakın.
StorageAccessAPIForOriginExtension
Üst düzey sitelerin, belirli kaynaklar adına depolama alanı erişimi istemek için requestStorageAccessForOrigin()
kullanmasına olanak tanır. Bu özellik, siteler arası resimler veya çerez gerektiren komut dosyası etiketleri kullanan üst düzey siteler için kullanışlıdır ve SAA'yı kullanmayla ilgili bazı zorlukları giderir.
Yerel olarak küme tanımlama
Birinci Taraf Grup, tek bir "grup birincil" ve potansiyel olarak birden fazla "grup üyesi" içeren bir alan koleksiyonudur. Küme üyeleri, kullanım alanlarına dayalı alt kümelerle çeşitli farklı alan türleri içerebilir.
Bir kümenin üyeleri olan URL'leri içeren bir JSON nesnesi oluşturun ve bunu --use-first-party-set
parametresine iletin.
Aşağıdaki örnekte primary
birincil alanı, associatedSites
ise ilişkili alt kümenin şartları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 grup oluşturabilir ve bunları doğrudan tarayıcıya iletebilirsiniz. Yerel test amacıyla set doğrulaması yapılmaz ancak FPS kararlı sürümlerde kullanıma sunulduğunda tüm setlerin FPS GitHub deposuna gönderilmesi ve doğrulama ölçütlerine tabi tutulması gerekir.
FPS kullanıcı arayüzünü etkinleştirme
PageInfoCookiesSubpage
URL çubuğundan erişilebilen PageInfo bölümünde FPS'nin gösterilmesini sağlar.

PrivacySandboxFirstPartySetsUI
Chrome ayarlarında Gizlilik ve Güvenlik → Çerezler ve diğer site verileri (chrome://settings/cookies) bölümünde FPS kullanıcı arayüzü "İlgili sitelerin gruptaki etkinliğimi görmesine izin ver" seçeneğini etkinleştirir.

Üçüncü taraf çerezlerinin engellendiğini doğrulama
- Chrome ayarlarında Gizlilik ve Güvenlik → Çerezler ve diğer site verileri'ne veya chrome://settings/cookies adresine gidin.
- Genel ayarlar bölümünde "Üçüncü taraf çerezlerini engelle" seçeneğinin etkinleştirildiğinden emin olun.
- "İlgili sitelerin gruptaki etkinliğimi görmesine izin ver" alt seçeneğinin de etkinleştirildiğinden emin olun.
Güvenlikle ilgili olarak göz önünde bulundurulması gerekenler
Storage Access API, web sitelerinin belirli durumlarda üçüncü taraf çerezlerine yeniden erişmesine 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 çerez kullanan siteler, CSRF ve diğer saldırıların risklerinden haberdar olmalıdır.
Planlı iyileştirmeler
Bu durumu iyileştirmek için gelecekteki Chrome sürümlerinde, açık bir şekilde yerleştirilen kullanıcının etkinleştirilmesini sağlamak amacıyla ek güvenlik denetimleri gerekecek. Önerilen iyileştirmeler: Erişimi yalnızca kare başına verir, kimlik bilgisi içeren isteklerde CORS'u zorunlu kılar ve erişim kapsamını yalnızca kaynağa bırakır. Daha fazla bilgiyi son güvenlik analizinde bulabilirsiniz.
Chrome'un SAA'yı uygulamasıyla ilgili planlanan iyileştirmelerin listesine göz atın.
Chrome'un yalnızca SameSite=None olarak işaretlenmiş çerezleri siteler arası yerleşik bağlamlarda gönderdiğini unutmayın. Depolama Aksesuarı API'sinin geçerli olduğu yer de budur. Ancak tüm tarayıcılar bu çerezlere varsayılan erişimi kullanımdan kaldırana kadar çerezin nerede kullanılabileceği hakkında varsayımlarda bulunulamaz. Erişime yalnızca FPS içinde izin verileceğini varsaymak güvenli değildir. Siteler, standart güvenlikle ilgili en iyi uygulamaları kullanmaya devam etmelidir.
Etkileşim kurma ve geri bildirim paylaşma
Yerel test, FPS'yi etkinleştirmek için Storage Access API mekanizmasını deneme ve karşılaştığınız sorunları veya geri bildirimlerinizi paylaşma fırsatı sunar. Ayrıca, GitHub'da ayar gönderme sürecini test etmek, süreç ve doğrulama adımlarıyla ilgili deneyiminizi paylaşmak için bir fırsattır. Güncellenen teklifle ilgili geri bildirim paylaşmak ve etkileşime geçmek için:
- GitHub'da sorun bildirin ve tartışmayı takip edin.
- Privacy Sandbox Developer Support repo'da soru sorabilir ve tartışmalara katılabilirsiniz.
- Özel Korumalı Alan teklifleri hakkında geri bildirim göndermek için farklı yöntemler keşfedin.