퍼스트 파티 세트 테스트 안내

최신 버전의 First-Party Sets는 Chrome 108부터 개발자 기능 플래그 테스트를 진행할 수 있습니다. Google은 출시를 목표로 퍼스트 파티 세트를 적극적으로 개발하고 있으므로 3월 초 (2023년 3월 7일)에 Chrome 111이 출시될 때까지 이 개발자 테스트 단계에 대한 의견을 고려할 예정입니다.

생태계 의견에서는 Chrome에서 서드 파티 쿠키가 더 이상 지원되지 않을 때 영향을 받을 크로스 사이트 사용 사례를 강조했습니다. 퍼스트 파티 세트 제안서에서는 상호 종속된 사이트가 브라우저에 표현할 수 있는 관계를 공유하여 브라우저가 사용자를 대신하여 적절한 조치를 취하거나 해당 정보를 사용자에게 효과적으로 표시할 수 있는 교차 사이트 사용 사례 클래스를 검토하고 해결합니다.

업데이트된 제안서에서는 두 가지 API (Storage Access API 및 임시 이름이 requestStorageAccessForOrigin인 새로운 API)를 사용하여 사이트에 퍼스트 파티 세트 내 쿠키에 대한 크로스 사이트 액세스를 요청하는 활성 메서드를 제공합니다. 아래 안내에 따라 사이트에 만들려는 세트와 두 가지 API를 호출할 적절한 지점을 테스트하고 검증할 수 있습니다.

퍼스트 파티 세트 개요

퍼스트 파티 세트 (FPS)는 개발자가 사이트 간의 관계를 선언하는 웹 플랫폼 메커니즘으로, 브라우저에서 이 정보를 사용하여 특정 사용자 대상 목적으로 제한된 크로스 사이트 쿠키 액세스를 사용 설정할 수 있습니다. Chrome은 이러한 선언된 관계를 사용하여 서드 파티 컨텍스트에서 사이트의 쿠키 액세스를 허용하거나 거부할 시점을 결정합니다.

대략적으로 퍼스트 파티 세트는 하나의 'set primary'와 하나 이상의 'set member'가 있는 도메인 모음입니다. 사이트 작성자만 세트에 도메인을 제출할 수 있으며, 각 '세트 구성원'과 '세트 기본값' 간의 관계를 선언해야 합니다. 세트 구성원에는 사용 사례에 따른 하위 집합이 포함된 다양한 도메인 유형이 포함될 수 있습니다.

각 하위 집합의 개인 정보 보호 관련 문제에 따라 브라우저에서 각 하위 집합을 처리할 수 있도록 Storage Access API (SAA)와 requestStorageAccessForOrigin을 활용하여 FPS 내에서 쿠키 액세스를 사용 설정할 것을 제안합니다.

SAA를 사용하면 사이트에서 크로스 사이트 쿠키 액세스를 적극적으로 요청할 수 있습니다. 요청 사이트와 최상위 웹사이트가 동일한 FPS에 있으면 Chrome에서 요청을 자동으로 승인합니다. 다른 브라우저에서 SAA 호출을 처리하는 방법에 관한 자세한 내용은 Storage Access API (SAA) 문서를 참고하세요.

현재 SAA에서는 문서가 API 메서드를 호출하기 전에 사용자 활성화를 얻어야 합니다.

따라서 교차 사이트 이미지 또는 쿠키가 필요한 스크립트 태그를 사용하는 최상위 사이트에서는 FPS를 채택하기가 어려울 수 있습니다. 이러한 문제 중 일부를 해결하기 위해 개발자가 이 변경사항을 더 쉽게 채택할 수 있도록 새로운 API인 requestStorageAccessForOrigin를 제안했습니다. 이 API는 테스트에도 사용할 수 있습니다.

제출 설정

표준 FPS 목록은 모든 세트의 정보 소스로 사용될 새 FPS GitHub 저장소에 보관되는 JSON 파일 형식의 공개 목록입니다. Chrome은 이 파일을 사용하여 동작에 적용합니다.

세트 제출을 위한 제안된 절차 및 요구사항에 대해 자세히 알아보려면 제출 가이드라인을 확인하세요. 제출물의 유효성을 검사하는 다양한 기술적 검토를 테스트하기 위해 세트를 제출해 볼 수도 있습니다. 안정화 버전의 Chrome에서 FPS를 사용하기 전에 모든 제출 항목이 삭제됩니다.

세트 제출 프로세스는 아직 개발 중이며 로컬 테스트의 경우 명령줄에서 세트를 만들고 브라우저에 직접 전달할 수만 있습니다. 로컬 테스트의 경우 기능 플래그로 테스트하기 위해 GitHub 저장소에 세트를 제출할 필요가 없습니다.

로컬에서 테스트하는 방법

기본 요건

FPS를 로컬에서 테스트하려면 명령줄에서 실행된 Chrome 108 이상을 사용하세요.

출시 예정인 Chrome 기능을 출시 전에 미리 사용해 보려면 Chrome의 베타 또는 Canary 버전을 다운로드하세요.

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을 실행하는 방법을 자세히 알아보세요.

단계

로컬에서 FPS를 사용 설정하려면 이 섹션에 설명된 플래그 목록을 쉼표로 구분하여 Chrome의 --enable-features 옵션을 사용하고 관련 사이트 집합을 JSON 객체로 선언하여 --use-first-party-set에 전달해야 합니다.

FPS 사용 설정

FirstPartySets: Chrome에서 FPS를 사용 설정합니다.

FirstPartySets

Storage Access API 사용 설정

StorageAccessAPI

Chrome에서 Storage Access API (SAA)를 사용 설정합니다. 그러면 삽입된 iframe이 requestStorageAccess()를 사용하여 서드 파티 쿠키가 브라우저에서 차단된 경우에도 교차 사이트 컨텍스트에서 쿠키에 대한 액세스를 요청할 수 있습니다.

호출 시 requestStorageAccess()는 해결하기 위해 사용자 동작이 필요합니다. SAA 사양은 아직도 발전하고 있으므로 향후 Chrome 버전에서는 다른 요구사항이 적용될 수 있습니다. Chrome의 SAA 구현에 계획된 개선사항 목록은 여기를 참고하세요.

StorageAccessAPIForOriginExtension

최상위 사이트에서 requestStorageAccessForOrigin()를 사용하여 특정 출처를 대신하여 저장용량 액세스를 요청할 수 있도록 합니다. 이는 쿠키가 필요한 교차 사이트 이미지 또는 스크립트 태그를 사용하는 최상위 사이트에 유용하며 SAA를 채택할 때 발생하는 일부 문제를 해결합니다.

로컬에서 집합 선언

퍼스트 파티 세트는 하나의 'set primary'와 하나 이상의 'set member'가 있는 도메인 모음입니다. 세트 구성원에는 사용 사례에 따른 하위 집합이 포함된 다양한 도메인 유형이 포함될 수 있습니다.

집합의 구성원인 URL이 포함된 JSON 객체를 만들고 --use-first-party-set에 전달합니다.

아래 예시에서 primary에는 기본 도메인이 나열되고 associatedSites에는 연결된 하위 집합의 요구사항을 충족하는 도메인이 나열됩니다.

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

예:

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

로컬 테스트의 경우 명령줄에서만 세트를 만들고 브라우저에 직접 전달할 수 있습니다. 로컬 테스트 목적으로는 세트 유효성 검사가 없지만 FPS가 안정화 버전으로 제공되면 모든 세트를 FPS GitHub 저장소에 제출해야 하며 유효성 검사 기준이 적용됩니다.

FPS UI 사용 설정

PageInfoCookiesSubpage

URL 표시줄에서 액세스할 수 있는 PageInfo 섹션에 FPS를 표시할 수 있습니다.

PrivacySandboxFirstPartySetsUI

Chrome 설정의 개인 정보 보호 및 보안 → 쿠키 및 기타 사이트 데이터 (chrome://settings/cookies)에서 FPS UI '관련 사이트에서 내 그룹 활동을 볼 수 있도록 허용' 옵션을 사용 설정합니다.

서드 파티 쿠키가 차단되었는지 확인

  1. Chrome 설정에서 개인 정보 보호 및 보안 → 쿠키 및 기타 사이트 데이터 또는 chrome://settings/cookies로 이동합니다.
  2. 일반 설정에서 '서드 파티 쿠키 차단'이 사용 설정되어 있는지 확인합니다.
  3. '관련 사이트에서 내 그룹 활동을 볼 수 있도록 허용' 하위 옵션도 사용 설정되어 있는지 확인합니다.

보안 고려사항

Storage Access API를 사용하면 웹사이트에서 경우에 따라 서드 파티 쿠키에 다시 액세스할 수 있으므로 웹 애플리케이션이 크로스 사이트 공격 및 정보 유출에 취약해질 수 있습니다. 교차 사이트 컨텍스트에서 쿠키를 사용하는 사이트는 CSRF 및 기타 공격의 위험을 인식해야 합니다.

계획된 개선사항

이를 개선하기 위해 향후 Chrome 출시에서는 명시적인 삽입 대상 선택을 보장하기 위한 추가 보안 제어가 필요합니다. 제안된 개선사항은 프레임별로만 액세스 권한을 부여하고, 사용자 인증 정보가 있는 요청에 CORS를 요구하며, 출처에 대한 액세스 범위만 유지합니다. 자세한 내용은 최근 보안 분석을 참고하세요.

Chrome의 SAA 구현에 관한 계획된 개선사항 목록을 확인하세요.

Chrome은 Storage Access API가 관련된 크로스 사이트 삽입 컨텍스트에서만 SameSite=None으로 표시된 쿠키를 전송합니다. 하지만 모든 브라우저에서 이러한 쿠키에 대한 기본 액세스를 지원 중단할 때까지는 쿠키가 어디에 사용될 수 있는지 가정할 수 없습니다. FPS 내에서만 액세스가 허용된다고 가정하는 것은 안전하지 않으며 사이트는 표준 보안 권장사항을 계속 사용해야 합니다.

참여 및 의견 공유

로컬 테스트는 FPS를 사용 설정하기 위한 Storage Access API 메커니즘을 사용해 보고 의견이나 발생한 문제를 공유할 수 있는 기회입니다. 또한 GitHub에서 설정된 제출 절차를 테스트하면 절차 및 검증 단계에 대한 경험을 공유할 수 있습니다. 업데이트된 제안서에 관해 의견을 나누고 공유하려면 다음 단계를 따르세요.