이 페이지에서는 Firebase의 주요 보안 및 개인 정보 보호에 대한 정보를 간략하게 다룹니다. Firebase로 새 프로젝트를 시작할 생각이거나 기존 프로젝트에서 Firebase가 어떻게 실행되는지 궁금하다면 Firebase의 사용자 보호에 대해 알아보세요.
최종 수정일: 2023년 2월 28일
데이터 보호
GDPR 및 CCPA에 대한 Firebase 지원
2018년 5월 25일에 1995년도 EU 데이터 보호 규정이 EU 개인 정보 보호법(GDPR)으로 대체되었습니다. 2020년 1월 1일부터 캘리포니아 소비자 개인 정보 보호법(CCPA)이 시행되었습니다. Google은 대규모 소프트웨어 업체는 물론 독립 개발자 등의 고객들이 이러한 개인 정보 보호 규정을 준수할 수 있도록 최선을 다해 돕고 있습니다.
GDPR은 데이터 컨트롤러 및 데이터 프로세서에 대한 의무 이행을 규정하며, CCPA는 기업과 서비스 제공업체의 의무 이행을 규정합니다. Firebase 고객은 일반적으로 Google의 Firebase에 최종 사용자가 제공하는 개인 정보 또는 정보에 대해 '데이터 컨트롤러'(GDPR) 또는 '기업'(CCPA) 역할을 하게 되며, Google은 '프로세서'(GDPR) 또는 '서비스 제공업체'(CCPA)의 역할을 합니다.
즉, 데이터는 고객이 제어합니다. 개인 정보 또는 정보와 관련하여 개인의 권리를 이행하도록 의무를 다할 책임이 고객에게 있습니다.
Firebase 데이터 처리 및 보안 약관
고객이 Firebase를 사용할 때는 일반적으로 Google이 GDPR에 따른 데이터 프로세서이며 고객을 대신하여 개인 정보를 처리합니다. 마찬가지로 고객이 Firebase를 사용할 때 Google은 일반적으로 CCPA에서 고객을 대신하여 개인 정보를 처리해주는 서비스 제공업체 역할을 합니다. Firebase 약관에는 이러한 책임을 설명하는 데이터 처리 및 보안 약관이 포함되어 있습니다.
Google Cloud Platform(GCP) 서비스 약관이 적용되는 특정 Firebase 서비스에는 이미 GCP 데이터 처리 및 보안 약관이라는 관련 데이터 처리 약관이 적용되고 있습니다. 현재 GCP 서비스 약관이 적용되는 Firebase 서비스의 전체 목록은 Firebase 서비스의 서비스 약관에서 확인할 수 있습니다.
Crashlytics 및 앱 배포에는 Firebase Crashlytics 및 Firebase 앱 배포 서비스 약관과 관련 데이터 처리 약관이 적용됩니다.
Firebase용 Google 애널리틱스와 Google 애널리틱스에는 각각 Firebase용 Google 애널리틱스 서비스 약관 및 Google 애널리틱스 서비스 약관뿐만 아니라 Google Ads 데이터 처리 약관이 적용됩니다. 자세한 내용은 데이터 보호하기를 참고하세요.
주요 보안 및 개인 정보 보호 표준에 따라 인증을 받은 Firebase
ISO 및 SOC 규정 준수
모든 Firebase 서비스(앱 색인 생성 제외)는 ISO 27001, SOC 1, SOC 2, SOC 3 평가 과정을 거쳤으며 ISO 27017, ISO 27018 인증 절차를 완료한 서비스도 일부 있습니다. GCP 서비스 약관이 적용되는 Firebase 서비스의 규정 준수 보고서 및 인증서는 규정 준수 보고서 관리자에서 요청할 수 있습니다.
서비스 이름 | ISO 27001 | ISO 27017 | ISO 27018 | SOC 1 | SOC 2 | SOC 3 |
---|---|---|---|---|---|---|
Firebase용 Google 애널리틱스 | ||||||
Firebase ML | ||||||
Firebase Test Lab | ||||||
Cloud Firestore | ||||||
Firebase용 Cloud Functions | ||||||
Firebase용 Cloud Storage | ||||||
Firebase 인증 | ||||||
Firebase Crashlytics | ||||||
Firebase 앱 체크 | ||||||
Firebase 앱 배포 | ||||||
Firebase 인앱 메시지 | ||||||
Firebase 클라우드 메시징 | ||||||
Firebase Performance Monitoring | ||||||
Firebase 호스팅 | ||||||
Firebase 동적 링크 | ||||||
Firebase 원격 구성 | ||||||
Firebase 실시간 데이터베이스 | ||||||
Firebase 플랫폼 | ||||||
Firebase A/B 테스팅 |
해외 데이터 전송
Privacy Shield(프라이버시 실드) 프레임워크는 개인 정보가 EEA, 영국 또는 스위스에서 미국 등으로 전송될 때 데이터 보호 요구사항을 준수하는 메커니즘을 규정했습니다. EU-U.S. Privacy Shield(유럽연합-미국 프라이버시 실드)를 무효화하는 유럽연합재판소의 데이터 전송 관련 결정을 감안하여 Firebase는 관련 데이터 전송에 대한 표준 계약 조항을 따르게 되었습니다. 해당 결정에 따르면 GDPR에 의거하여 이 조항이 여전히 데이터를 전송하는 유효한 법적 메커니즘이 될 수 있습니다. 유럽 위원회는 2021년 6월 4일에 새로운 표준 계약 조항을 승인했으며 이 내용을 관련 데이터 전송에 대한 Firebase 고객과의 계약에 통합하고 있습니다.
Google에서는 관련 데이터 보호법에 따라 데이터 전송을 위한 합법적 기반을 마련하기 위해 노력하고 있습니다.
데이터 처리 정보
Firebase에서 처리되는 최종 사용자 데이터의 예
일부 Firebase 서비스에서는 서비스 제공을 위해 최종 사용자의 데이터를 처리합니다. 아래 차트에는 다양한 Firebase 서비스에서 잠재적으로 식별될 수 있는 최종 사용자 데이터를 사용하고 처리하는 방법의 예가 나와 있습니다. 또한 많은 Firebase 서비스가 특정 데이터의 삭제를 요청하거나 데이터 처리 방식을 제어할 수 있는 기능을 제공하고 있습니다.
Firebase 서비스 | 최종 사용자 데이터 | 서비스 제공에 데이터가 활용되는 방식 |
---|---|---|
Firebase용 Cloud Functions |
|
활용 방식: Cloud Functions는 IP 주소를 사용하여 최종 사용자 작업을 기준으로 이벤트 처리 함수와 HTTP 함수를 실행합니다. 보관: Cloud Functions는 서비스 제공을 위해 IP 주소만 임시로 저장합니다. |
Firebase 인증 |
|
활용 방식: Firebase 인증은 데이터를 사용하여 최종 사용자 인증을 사용 설정하고 최종 사용자 계정을 쉽게 관리하도록 합니다. 또한 사용자 에이전트 문자열 및 IP 주소를 사용하여 보안을 강화하고 가입과 인증 과정에서 데이터의 악용을 차단합니다. 보관: Firebase 인증은 로깅된 IP 주소를 몇 주간 보관합니다. 다른 인증 정보는 Firebase 고객이 연결된 사용자를 삭제할 때까지 보관합니다. 데이터 삭제를 시작한 후 180일 내에 현재 시스템과 백업 시스템에서 삭제됩니다. |
Firebase 앱 체크 |
|
활용 방식: Firebase 앱 체크는 연결된 증명 제공자자가 요청하고 최종 사용자의 기기에서 수신한 증명 자료를 사용하여 기기 또는 앱의 무결성을 유지합니다. 증명 자료는 개발자의 구성을 기준으로 하여 연결된 증명 제공업체에게 검증 목적으로 전송됩니다. 성공적인 증명에서 가져온 앱 체크 토큰은 앱 체크로 보호되는 리소스에 액세스할 수 있도록 지원되는 Firebase 서비스가 요청할 때마다 전송됩니다. 보관: 앱 체크에서는 증명 자료를 보관하지 않지만 증명 제공자에게 전송되는 경우 해당 증명 제공자의 약관이 적용됩니다. 성공적인 증명에서 반환된 앱 체크 토큰은 TTL 기간 동안 유효하며 해당 기간은 7일을 초과할 수 없습니다. Firebase 서비스는 앱 체크 토큰을 보관하지 않습니다. |
Firebase 앱 배포 |
|
활용 방식: Firebase 앱 배포는 데이터를 사용하여 테스터에게 앱 빌드를 배포하고 테스터 활동을 모니터링하며 데이터를 테스터 기기에 연결합니다. 보관: Firebase 앱 배포는 Firebase 고객이 삭제를 요청할 때까지 사용자 정보를 보관하며 이후 180일 내에 현재 및 백업 시스템에서 데이터가 삭제됩니다. |
Firebase 클라우드 메시징 |
|
활용 방식: Firebase 클라우드 메시징은 Firebase 설치 ID를 사용하여 메시지를 보낸 기기를 확인합니다. 보관: Firebase는 Firebase 고객이 API를 호출하여 Firebase 설치 ID를 삭제할 때까지 ID를 보관합니다. 데이터는 호출 후 180일 내에 현재 및 백업 시스템에서 삭제됩니다. |
Firebase Crashlytics |
|
활용 방식: Firebase Crashlytics는 비정상 종료 스택 트레이스를 사용하여 비정상 종료를 프로젝트와 연결하고, 프로젝트 구성원에게 이메일 알림을 보낸 후 이를 Firebase Console에 표시하며, Firebase 고객이 비정상 종료를 디버그하도록 지원합니다. Crashlytics 설치 UUID를 사용하여 비정상 종료 및 미니덤프 데이터의 영향을 받은 사용자 수를 측정하고 NDK 비정상 종료를 처리합니다. 미니덤프 데이터는 비정상 종료 세션이 처리되는 동안 저장된 후 삭제됩니다. Firebase 설치 ID를 통해 앞으로 예정된 기능을 사용하여 비정상 종료 보고와 비정상 종료 관리 서비스를 향상할 수 있습니다. 수집되는 사용자 정보 유형에 대한 자세한 내용은 저장된 기기 정보 예시를 참조하세요. 보관: Firebase Crashlytics는 비정상 종료 스택 트레이스, 추출된 미니덤프 데이터, 관련 식별자(Crashlytics 설치 UUID 포함)를 90일 동안 보관합니다. |
Firebase 동적 링크 |
|
활용 방식: 동적 링크는 iOS의 기기 사양 및 IP 주소를 사용하여 새로 설치된 앱을 특정 페이지나 컨텍스트로 엽니다. 보관: 동적 링크는 서비스 제공을 위해 기기 사양과 IP 주소만 임시로 저장합니다. |
Firebase 호스팅 |
|
활용 방식: 호스팅은 수신되는 요청의 IP 주소를 사용하여 데이터 악용을 탐지하고 데이터 사용에 대한 자세한 분석 정보를 고객에게 제공합니다. 보관: 호스팅은 IP 주소를 몇 달간 보관합니다. |
Firebase Performance Monitoring |
|
활용 방식: Performance Monitoring은 Firebase 설치 ID를 사용하여 네트워크 리소스에 액세스하는 고유한 Firebase 설치 수를 계산하여 액세스 패턴이 충분히 익명 처리되도록 합니다. 또한 Firebase 원격 구성과 함께 Firebase 설치 ID를 사용하여 성능 이벤트 보고의 비율을 관리합니다. IP 주소를 사용하여 성능 이벤트를 이벤트가 시작된 국가에 매핑할 수 있습니다. 자세한 내용은 데이터 수집을 참조하세요. 보관: Performance Monitoring은 설치 및 IP 관련 이벤트를 30일, 익명화된 성능 데이터를 90일 동안 보관합니다. |
Firebase 인앱 메시지 |
|
활용 방식: Firebase 인앱 메시지는 Firebase 설치 ID를 사용하여 메시지를 보낸 기기를 확인합니다. 보관: Firebase는 Firebase 고객이 API를 호출하여 Firebase 설치 ID를 삭제할 때까지 ID를 보관합니다. 데이터는 호출 후 180일 내에 현재 및 백업 시스템에서 삭제됩니다. |
Firebase 실시간 데이터베이스 |
|
활용 방식: 실시간 데이터베이스는 IP 주소와 사용자 에이전트를 사용하여 프로파일러 도구를 사용 설정하며 Firebase 고객은 이 도구를 통해 사용 트렌드 및 플랫폼 분류를 파악할 수 있습니다. 보관: 실시간 데이터베이스는 고객이 나중에 저장하도록 선택한 경우를 제외하고 IP 주소와 사용자 에이전트 정보를 며칠간 보관합니다. |
Firebase용 Google 애널리틱스 |
활용 방식: Firebase용 Google 애널리틱스는 데이터를 사용하여 분석 및 기여 분석 정보를 제공합니다. 수집된 정보의 정확성은 기기와 환경에 따라 달라집니다. 자세한 내용은 데이터 수집을 참조하세요. 보관: Firebase용 Google 애널리틱스에서는 특정 광고 식별자 관련 데이터(예시: Apple의 광고주용 식별자 및 공급업체용 식별자, Android의 광고 ID)를 60일 동안 보관하며 집계 보고는 자동 만료 없이 보관합니다. 전환을 포함한 사용자 수준 데이터의 보관 기간은 최대 14개월로 고정됩니다. 기타 모든 이벤트 데이터의 경우 Firebase용 Google 애널리틱스 설정에서 보관 기간을 2개월 또는 14개월로 설정할 수 있습니다. 자세히 알아보기 |
|
Firebase 원격 구성 |
|
활용 방식: 원격 구성은 Firebase 설치 ID를 사용하여 최종 사용자 기기로 반환할 구성 값을 선택합니다. 보관: Firebase는 Firebase 고객이 API를 호출하여 Firebase 설치 ID를 삭제할 때까지 ID를 보관합니다. 데이터는 호출 후 180일 내에 현재 및 백업 시스템에서 삭제됩니다. |
Firebase ML |
|
활용 방식: 클라우드 기반 API는 데이터를 처리한 후 분석 결과를 제공하기 위해 업로드한 이미지를 임시로 저장합니다. 저장된 이미지는 일반적으로 몇 시간 내에 삭제됩니다. 자세한 내용은 Cloud Vision 데이터 사용 FAQ를 참조하세요. 설치 인증 토큰은 앱 인스턴스와 상호작용(예: 개발자 모델을 앱 인스턴스에 배포)할 때 Firebase ML에서 기기 인증을 위해 사용합니다. 보관: 설치 인증 토큰은 만료일까지 유효합니다. 토큰의 기본 수명은 1주일입니다. |
Crashlytics에서 수집하는 정보의 예시
- 비정상 종료를 중복 삭제할 수 있도록 허용하는 RFC-4122 UUID
- Crashlytics 설치 UUID
- Firebase 설치 ID(FID)
- Firebase 세션 ID: 세션으로 이벤트에 태그를 지정하기 위해 생성되는 임의의 UUID
- 비정상 종료가 발생한 시점의 타임스탬프
- 앱의 번들 식별자와 정식 버전 번호
- 기기의 운영체제 이름 및 버전 번호
- 기기가 탈옥 또는 루팅되었는지 여부를 나타내는 부울
- 기기의 모델 이름, CPU 아키텍처, RAM 크기, 디스크 공간
- 현재 실행 중인 모든 스레드의 각 프레임에 대한 uint64 명령 포인터
- 런타임에서 사용할 수 있는 경우 각 명령 포인터가 포함된 일반 텍스트 메서드 또는 함수 이름
- 예외가 발생할 경우 예외의 일반 텍스트 클래스 이름 및 메시지 값
- 심각한 신호가 발생한 경우 이름 및 정수 코드
- 애플리케이션에 로드된 각 바이너리 이미지의 이름, UUID, 바이트 크기, RAM에 로드된 uint64 기본 주소
- 앱이 비정상 종료된 시점에 백그라운드에 있었는지 여부를 나타내는 불리언
- 비정상 종료 시 화면 회전을 나타내는 정수 값
- 기기의 근접 센서가 트리거되었는지 여부를 나타내는 불리언
Performance Monitoring에서 수집하는 정보의 예시
- Firebase 설치 ID(FID)
- Firebase 세션 ID: 세션으로 이벤트에 태그를 지정하기 위해 생성되는 임의의 UUID
- 모델, OS, 화면방향과 같은 일반적인 기기 정보
- RAM 및 디스크 크기
- CPU 사용량
- 이동통신사(모바일 국가 및 네트워크 코드 기준)
- 무선/네트워크 정보(예: WiFi, LTE, 3G)
- 국가(IP 주소 기준)
- 언어
- 앱 버전
- 앱의 포그라운드 또는 백그라운드 상태
- 앱 패키지 이름
- Firebase 설치 ID
- 자동화된 추적 기간
- 네트워크 URL(URL 매개변수 또는 페이로드 콘텐츠 제외)과 다음 해당 정보:
- 응답 코드(예: 403, 200)
- 페이로드 크기(바이트)
- 응답 시간
Performance Monitoring에서 수집한 자동 trace의 전체 목록을 참조하세요.
최종 사용자 데이터 처리 옵션 사용 설정 가이드
위 표의 서비스는 최종 사용자 데이터가 어느 정도 있어야 작동합니다. 따라서 해당 서비스를 사용할 경우 데이터 수집을 완전히 사용 중지하는 것은 불가능합니다.
사용자에게 서비스와 그로 인한 데이터 수집을 선택할 수 있는 옵션을 제공하려면 보통 서비스 사용 전에 대화상자나 전환 설정을 추가해야 합니다.
하지만 앱에 포함된 일부 서비스의 경우 자동으로 시작됩니다. 서비스 사용 전에 선택 옵션을 제공하려면 각 서비스의 자동 초기화를 사용 중지하고 런타임 시 직접 초기화하도록 선택하면 됩니다. 방법은 아래 가이드를 참조하세요.
- 클라우드 메시징: 자동 초기화 방지(Android) 또는 자동 초기화 방지(iOS+)
- Crashlytics: 보고 선택 옵션 사용 설정(iOS+) 또는 보고 선택 옵션 사용 설정(Android)
- Performance Monitoring: 모니터링 선택 옵션 사용 설정
- 애널리틱스: 애널리틱스 데이터 수집 구성
데이터 스토리지 및 처리 위치
서비스 또는 기능에서 데이터 위치 선택 옵션을 제공하지 않는 한, Firebase는 Google 또는 대행사의 시설이 위치한 모든 장소에서 데이터를 처리하고 저장할 수 있습니다. 잠재적 시설 위치는 서비스마다 다릅니다.
미국 전용 서비스
Firebase 인증 서비스는 미국 데이터 센터에서만 실행됩니다. 따라서 Firebase 인증은 미국에서만 데이터를 처리합니다.
글로벌 서비스
대부분의 Firebase 서비스가 글로벌 Google 인프라에서 실행됩니다. Google Cloud Platform 위치 또는 Google 데이터 센터 위치 중 어디서나 데이터가 처리될 수 있습니다. 일부 서비스의 경우 특정 위치에서 처리되도록 제한하는 구체적인 데이터 위치 선택이 가능합니다.
- Firebase용 Cloud Storage
- Cloud Firestore
- Firebase용 Cloud Functions
- Firebase 호스팅
- Firebase Crashlytics
- Firebase Performance Monitoring
- Firebase 동적 링크
- Firebase 원격 구성
- Firebase 클라우드 메시징
- Google 애널리틱스
- Firebase ML
- Firebase Test Lab
- Firebase 앱 체크
보안 정보
데이터 암호화
Firebase 서비스는 HTTPS를 사용해 전송 중인 데이터를 암호화하고 고객 데이터를 논리적으로 분리합니다.
또한 여러 Firebase 서비스에서 저장 데이터도 암호화합니다.
- Cloud Firestore
- Firebase용 Cloud Functions
- Firebase용 Cloud Storage
- Firebase Crashlytics
- Firebase 인증
- Firebase 클라우드 메시징
- Firebase 실시간 데이터베이스
- Firebase Test Lab
- Firebase 앱 체크
- Firebase Performance Monitoring
보안 권장사항
개인 데이터의 안전을 유지하기 위해 Firebase는 광범위한 보안 조치를 통해 액세스를 최소화하고 있습니다.
- Firebase는 업무 용도로 개인 데이터에 액세스하는 특정 직원에 한해 액세스를 허용합니다.
- Firebase는 개인 데이터가 포함된 직원 액세스를 시스템에 로깅합니다.
- Firebase는 Google 로그인 및 2단계 인증을 거쳐 로그인한 직원에게만 개인 정보 액세스를 허용합니다.
Firebase 서비스 데이터
Firebase 서비스 데이터는 Google이 Firebase 서비스*를 프로비저닝하고 관리하는 동안 수집하고 생성하는 개인 정보이며 Firebase 서비스와 Google Cloud 서비스 데이터를 규정하는 고객 계약에 정의된 바와 같이 고객 데이터**는 제외됩니다. Firebase 서비스 데이터의 예시에는 서비스 사용량, 애플리케이션 ID 및 패키지 이름/번들 ID와 같은 리소스 식별자, IP 주소와 같은 사용과 관련된 기술 및 운영 세부정보, 피드백 및 지원 관련 대화에서의 개발자와 직접 커뮤니케이션 등이 있습니다.
*포함되는 서비스에는 Firebase A/B 테스팅, Firebase 앱 체크, Firebase 앱 배포, Firebase 클라우드 메시징, Firebase Crashlytics, Firebase 동적 링크, Firebase 호스팅, Firebase 인앱 메시지, Firebase ML, Firebase Performance Monitoring, Firebase 실시간 데이터베이스, Firebase 원격 구성, Firebase 사용자 세분화 스토리지가 있습니다.
**고객 데이터를 처리하는 방법에 대한 자세한 내용은 Firebase 데이터 처리 및 보안 약관 및 Crashlytics, 앱 배포 데이터 처리 및 보안 약관을 참조하세요.
Firebase에서 Firebase 서비스 데이터를 처리하는 방법의 예시
Google에서는 Google 개인정보처리방침 및 관련 약관에 따라 Firebase 서비스 데이터를 사용합니다. Firebase 서비스 데이터는 다음과 같은 용도로 사용됩니다.
- 요청한 Firebase 서비스 제공
- Firebase 서비스 사용 환경 최적화를 위한 추천 생성
- Firebase 서비스 유지보수 및 개선
- 고객이 요청하는 기타 서비스 제공 및 개선
- Firebase 및 기타 Google 서비스 사용 이해
- 더 나은 지원을 제공하고 고객과 소통
- 고객, 사용자, 대중, Google 보호
- 법적 의무 준수
Firebase가 아닌 Google 서비스에서 Firebase 서비스 데이터를 사용
Google에서 Firebase 서비스 데이터를 사용하여 Firebase 외 Google 서비스에 관한 보다 심층적인 분석, 통계, 권장사항을 제공할 수 있는지 여부를 제어하고 Firebase 외 Google 서비스를 개선할 수 있습니다. Firebase 데이터 개인 정보 보호 설정 페이지에서 이를 구성할 수 있습니다.
이 제어 기능을 사용 중지하면 Firebase 서비스 데이터가 개인정보처리방침 및 해당 약관(Firebase에 대한 추천 및 개선, Firebase 프로젝트에 연결하는 Google 제품과 같은 요청하는 기타 서비스를 제공하거나 개선하는 것 포함)에 따라 위에서 언급된 것과 같은 다른 목적으로 계속 사용됩니다.
더 궁금한 점이 있다면 문의하기
이 문서에서 다루지 않은 개인 정보 보호와 관련된 질문은 Firebase 지원팀에 문의하세요. Firebase 개발자인 경우 Firebase 앱 ID를 알려주시기 바랍니다. Firebase 앱 ID는 프로젝트 설정의 내 앱 카드에서 확인할 수 있습니다.