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

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

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

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

퍼스트 파티 세트 개요

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

대략적으로 퍼스트 파티 세트는 도메인의 모음으로, 여기에는 단일 '기본 설정'이 있습니다 여러 'set 멤버'를 포함할 수 있습니다. 사이트 작성자만 도메인을 집합에 제출할 수 있으며 각 '집합 구성원' 간의 관계를 선언해야 합니다. '기본 설정'으로 변경합니다. 집합 멤버는 사용 사례에 따른 하위 집합과 함께 다양한 도메인 유형을 포함할 수 있습니다.

브라우저가 각 하위 집합이 개인 정보 보호에 미치는 영향에 따라 각 하위 집합을 쉽게 처리할 수 있도록 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를 도입할 때 발생하는 몇 가지 문제를 해결하는 최상위 사이트에 유용합니다.

로컬에서 집합 선언

퍼스트 파티 세트는 도메인의 모음으로, 하나의 '기본 세트'가 있습니다. 여러 'set 멤버'를 포함할 수 있습니다. 집합 멤버는 사용 사례에 따른 하위 집합을 통해 다양한 도메인 유형을 포함할 수 있습니다.

집합의 구성원인 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

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

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

  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에서 세트 제출 프로세스를 테스트하면 프로세스 및 검증 단계에 대한 경험을 공유할 수 있습니다. 업데이트된 제안서에 참여하고 의견을 공유하려면 다음 단계를 따르세요.