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

최신 버전의 퍼스트 파티 세트를 Chrome 108부터 개발자 기능 플래그 테스트에 사용할 수 있습니다. Google은 퍼스트 파티 세트를 출시하기 위해 적극적으로 노력하고 있습니다. 3월 초 (2023년 3월 7일) Chrome 111이 출시될 때까지 이 개발자 테스트 단계에 관한 의견을 검토할 예정입니다.

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

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

퍼스트 파티 세트 개요

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

개략적으로 설명하자면 퍼스트 파티 세트는 하나의 '기본 세트'와 잠재적으로 여러 '세트 멤버'가 있는 도메인 모음입니다. 사이트 작성자만 도메인을 집합에 제출할 수 있으며 각 '집합 구성원' 간의 관계를 '기본 설정'에 선언해야 합니다. 집합 멤버는 사용 사례에 따른 하위 집합을 사용하여 다양한 도메인 유형을 포함할 수 있습니다.

각 하위 집합의 개인 정보 보호 영향에 따라 브라우저가 각 하위 집합을 처리하도록 용이하게 하기 위해 Storage Access API (SAA) 및 requestStorageAccessForOrigin을 활용하여 FPS 내에서 쿠키 액세스를 사용 설정할 것을 제안합니다.

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

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

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

제출 설정

표준 FPS 목록은 새로운 FPS GitHub 저장소에 저장된 JSON 파일 형식의 공개적으로 조회 가능한 목록으로, 모든 세트의 정보 소스 역할을 합니다. Chrome은 이 파일을 사용하여 동작에 적용합니다.

세트 제출을 위한 제안된 절차 및 요구사항을 자세히 알아보려면 제출 가이드라인을 참고하세요. 또한 세트를 제출하여 제출을 검증하는 다양한 기술 검사를 테스트할 수 있습니다. Chrome의 안정화 버전에서 FPS가 제공되기 전에 모든 제출이 승인됩니다.

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

로컬에서 테스트하는 방법

기본 요건

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

향후 출시될 Chrome 기능을 출시 전에 미리 보려면 Chrome의 베타 또는 카나리아 버전을 다운로드하세요.

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를 채택할 때 발생하는 몇 가지 문제를 해결합니다.

로컬에서 집합 선언

퍼스트 파티 세트는 하나의 '기본 세트'와 여러 개의 '세트 구성원'이 있는 도메인의 모음입니다. 집합 멤버는 사용 사례에 따른 하위 집합을 사용하여 다양한 도메인 유형을 포함할 수 있습니다.

세트의 멤버인 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은 크로스 사이트 삽입 컨텍스트에서만 SameSite=None으로 표시된 쿠키를 전송하므로 Storage Access API가 관련이 있습니다. 그러나 모든 브라우저에서 해당 쿠키에 대한 기본 액세스 권한을 중단할 때까지는 쿠키가 사용될 수 있는 위치에 대해 가정할 수 없습니다. 액세스가 FPS 내에서만 허용될 것이라고 가정하는 것은 안전하지 않으며 사이트는 표준 보안 권장사항을 계속 사용해야 합니다.

참여 및 의견 공유

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