이 페이지에서는 Firebase의 주요 보안 및 개인정보 보호에 대한 정보를 간략하게 다룹니다. Firebase로 새 프로젝트를 시작할 생각이거나 기존 프로젝트에서 Firebase가 어떻게 실행되는지 궁금하다면 Firebase의 사용자 보호에 대해 알아보세요.
최종 수정일: 2024년 8월 21일
데이터 보호
GDPR 및 CCPA에 대한 Firebase 지원
2018년 5월 25일에 1995년도 EU 데이터 보호 규정이 EU 개인 정보 보호법(GDPR)으로 대체되었습니다. 2020년 1월 1일부터 캘리포니아 소비자 개인 정보 보호법(CCPA)이 시행되었습니다. 2023년 1월 1일부터 CCPA를 개정 및 확장한 데이터 개인 정보 보호법인 캘리포니아 개인 정보 보호 권리법(CPRA)이 발효되었습니다. Google은 대규모 소프트웨어 업체는 물론 독립 개발자 등의 고객들이 이러한 개인 정보 보호 규정을 준수할 수 있도록 최선을 다해 돕고 있습니다.
GDPR은 데이터 컨트롤러 및 데이터 프로세서에 대한 의무 이행을 규정하며, CCPA/CPRA는 기업과 서비스 제공업체의 의무 이행을 규정합니다. Firebase 고객은 일반적으로 Google의 Firebase에 최종 사용자가 제공하는 개인 정보 또는 정보에 대해 '데이터 컨트롤러'(GDPR) 또는 '기업'(CCPA/CPRA) 역할을 하게 되며, Google은 '프로세서'(GDPR) 또는 '서비스 제공업체'(CCPA/CPRA)의 역할을 합니다.
즉, 데이터는 고객이 제어합니다. 개인 정보 또는 정보와 관련하여 개인의 권리를 이행하도록 의무를 다할 책임이 고객에게 있습니다.
Firebase 데이터 처리 및 보안 약관
고객이 Firebase를 사용할 때는 일반적으로 Google이 GDPR에 따른 데이터 프로세서이며 고객을 대신하여 개인 정보를 처리합니다. 마찬가지로 고객이 Firebase를 사용할 때 Google은 일반적으로 CCPA/CPRA에서 고객을 대신하여 개인 정보를 처리해주는 서비스 제공업체 역할을 합니다. Firebase 약관에는 이러한 책임을 설명하는 데이터 처리 및 보안 약관이 포함되어 있습니다.
Google Cloud Platform(GCP) 서비스 약관이 적용되는 특정 Firebase 서비스에는 이미 Cloud 데이터 처리 추가 조항이라는 관련 데이터 처리 약관이 적용되고 있습니다. 현재 GCP 서비스 약관이 적용되는 Firebase 서비스의 전체 목록은 Firebase 서비스의 서비스 약관에서 확인할 수 있습니다.
Google 애널리틱스는 Firebase와 함께 사용할 수 있는 별개의 서비스이며 별도의 약관이 적용됩니다.
주요 보안 및 개인 정보 보호 표준에 따라 인증을 받은 Firebase
ISO 및 SOC 규정 준수
모든 Firebase 서비스(앱 색인 생성 및 Vertex AI in 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 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 테스팅 | ||||||
Firebase용 Vertex AI |
해외 데이터 전송
Google의 데이터 개인 정보 보호 프레임워크 인증서에 명시된 것과 같이, Google은 EEA, 스위스, 영국에서 개인 정보를 수집, 사용, 보관하는 데 있어 미국 상무부가 규정한 EU-미국 및 스위스-미국 데이터 개인 정보 보호 프레임워크(DPF)와 영국으로 확대된 EU-미국 데이터 개인 정보 보호 프레임워크를 각각 준수합니다. 명시적으로 제외되지 않는 한 Google LLC 및 Google이 전액 출자한 미국 내 자회사는 데이터 개인 정보 보호 프레임워크 원칙을 준수한다는 인증을 받았습니다. Google은 Google 개인정보처리방침의 '정보 공유' 섹션에 명시된 것과 같이, 외부 처리가 필요한 경우 서드 파티 전송 원칙에 따라 제3자와 공유하는 귀하의 모든 개인 정보에 대한 책임을 갖습니다. DPF를 자세히 알아보고 Google의 인증서를 확인하려면 DPF 웹사이트를 참고하세요.
Google의 데이터 개인 정보 보호 프레임워크 인증서와 관련된 Google의 개인 정보 보호 관행에 관한 질문은 Google에 문의하시기 바랍니다. Google은 미국 연방통상위원회의 조사 및 집행 권한 적용 대상입니다. 또한 사용자는 관할 지역의 데이터 보호 기관에 불만사항을 접수할 수 있으며 Google은 관련 당국과 함께 문제를 해결하기 위해 노력할 것입니다. 특정 상황에서 데이터 개인 정보 보호 프레임워크는 데이터 개인 정보 보호 프레임워크 원칙 부록 I에 서술된 바와 같이 다른 수단에 의해 해결되지 않은 불만사항을 해결하기 위해 구속력 있는 중재를 행할 권리를 제공합니다.
데이터 처리 정보
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일을 초과할 수 없습니다. 재생 보호 기능을 사용하는 개발자의 경우 앱 체크에서 이러한 기능에 사용되는 앱 체크 토큰을 최대 30일 동안 저장합니다. 재생 보호 기능과 함께 사용되지 않는 기타 앱 체크 토큰은 Firebase 서비스에서 보관하지 않습니다. |
Firebase 앱 배포 |
|
활용 방식: Firebase 앱 배포는 데이터를 사용하여 테스터에게 앱 빌드를 배포하고, 테스터 활동을 모니터링하고, 인앱 의견과 같은 테스터 기능을 사용 설정하고, 데이터를 테스터 기기에 연결합니다. 보관: Firebase 앱 배포는 Firebase 고객이 삭제를 요청할 때까지 사용자 정보를 보관하며 이후 180일 내에 현재 및 백업 시스템에서 데이터가 삭제됩니다. |
Firebase 클라우드 메시징 |
|
활용 방식: Firebase 클라우드 메시징은 Firebase 설치 ID를 사용하여 메시지를 보낸 기기를 확인합니다. 보관: Firebase는 Firebase 고객이 API를 호출하여 ID를 삭제할 때까지 Firebase 설치 ID를 보관합니다. 데이터는 호출 후 180일 내에 현재 및 백업 시스템에서 삭제됩니다. |
Firebase Crashlytics |
|
활용 방식: Firebase Crashlytics는 비정상 종료 스택 트레이스를 사용하여 비정상 종료를 프로젝트와 연결하고, 프로젝트 구성원에게 이메일 알림을 보낸 후 이를 Firebase Console에 표시하며, Firebase 고객이 비정상 종료를 디버그하도록 지원합니다. Crashlytics 설치 UUID를 사용하여 비정상 종료 및 미니덤프 데이터의 영향을 받은 사용자 수를 측정하고 NDK 비정상 종료를 처리합니다. 미니덤프 데이터는 비정상 종료 세션이 처리되는 동안 저장된 후 삭제됩니다. Firebase 설치 ID를 통해 앞으로 예정된 기능을 사용하여 비정상 종료 보고와 비정상 종료 관리 서비스를 향상할 수 있습니다. 수집되는 사용자 정보 유형에 대한 자세한 내용은 저장된 기기 정보 예시를 참조하세요. 보관: Firebase Crashlytics는 비정상 종료 스택 트레이스, 추출된 미니덤프 데이터, 관련 식별자(Crashlytics 설치 UUID 및 Firebase 설치 ID 포함)를 90일 동안 보관한 후 라이브 및 백업 시스템에서 삭제하는 프로세스를 시작합니다. |
Firebase 동적 링크 |
|
활용 방식: 동적 링크는 iOS의 기기 사양 및 IP 주소를 사용하여 새로 설치된 앱을 특정 페이지나 컨텍스트로 엽니다. 보관: 동적 링크는 서비스 제공을 위해 기기 사양과 IP 주소만 임시로 저장합니다. |
Firebase 호스팅 |
|
활용 방식: 호스팅은 수신되는 요청의 IP 주소를 사용하여 데이터 악용을 탐지하고 데이터 사용에 대한 자세한 분석 정보를 고객에게 제공합니다. 보관: 호스팅은 IP 주소를 몇 달간 보관합니다. |
Firebase Performance Monitoring |
|
활용 방식: Performance Monitoring은 Firebase 설치 ID를 사용하여 네트워크 리소스에 액세스하는 고유한 Firebase 설치 수를 계산하여 액세스 패턴이 충분히 익명 처리되도록 합니다. 또한 Firebase Remote Config과 함께 Firebase 설치 ID를 사용하여 성능 이벤트 보고의 비율을 관리합니다. IP 주소를 사용하여 성능 이벤트를 이벤트가 시작된 국가에 매핑할 수 있습니다. 자세한 내용은 데이터 수집을 참조하세요. 보관: Performance Monitoring는 IP 관련 이벤트를 30일 동안 보관하고, 설치 관련 익명화된 성능 데이터를 90일 동안 보관한 후 라이브 및 백업 시스템에서 삭제하는 프로세스를 시작합니다. |
Firebase In-App Messaging |
|
활용 방식: Firebase In-App Messaging는 Firebase 설치 ID를 사용하여 메시지를 보낸 기기를 확인합니다. 보관: Firebase는 Firebase 고객이 API를 호출하여 ID를 삭제할 때까지 Firebase 설치 ID를 보관합니다. 데이터는 호출 후 180일 내에 현재 및 백업 시스템에서 삭제됩니다. |
Firebase 실시간 데이터베이스 |
|
활용 방식: 실시간 데이터베이스는 IP 주소와 사용자 에이전트를 사용하여 프로파일러 도구를 사용 설정하며 Firebase 고객은 이 도구를 통해 사용 트렌드 및 플랫폼 분류를 파악할 수 있습니다. 보관: 실시간 데이터베이스는 고객이 나중에 저장하도록 선택한 경우를 제외하고 IP 주소와 사용자 에이전트 정보를 며칠간 보관합니다. |
Firebase Remote Config |
|
활용 방식: Remote Config은 Firebase 설치 ID를 사용하여 최종 사용자 기기로 반환할 구성 값을 선택합니다. 보관: Firebase는 Firebase 고객이 API를 호출하여 Firebase 설치 ID를 삭제할 때까지 ID를 보관합니다. 데이터는 호출 후 180일 내에 현재 및 백업 시스템에서 삭제됩니다. |
Firebase ML |
|
활용 방식: 클라우드 기반 API는 데이터를 처리한 후 분석 결과를 제공하기 위해 업로드한 이미지를 임시로 저장합니다. 저장된 이미지는 일반적으로 몇 시간 내에 삭제됩니다. 자세한 내용은 Cloud Vision 데이터 사용 FAQ를 참조하세요. 설치 인증 토큰은 Firebase ML이 앱 인스턴스와 상호작용(예: 개발자 모델을 앱 인스턴스에 배포)할 때 기기 인증을 위해 사용합니다. 보관: 설치 인증 토큰은 만료일까지 유효합니다. 토큰의 기본 수명은 1주일입니다. |
Vertex AI in Firebase |
|
활용 방식: Vertex AI in Firebase는 Vertex AI의 생성형 AI API를 사용하여 콘텐츠를 예측합니다. 보관: Google은 예측 중에 고객의 출력을 생성하거나 파운데이션 모델을 학습시키기 위해 고객 데이터를 로깅하지 않습니다. 기본적으로 Google은 Gemini 모델에 대한 고객의 입력과 출력을 캐시하여 고객의 후속 프롬프트에 대한 응답을 가속화합니다. 자세한 내용은 생성형 AI 및 데이터 거버넌스 | Vertex AI의 생성형 AI | Google Cloud를 참고하세요. |
Crashlytics에서 수집하는 정보의 예시
- 비정상 종료를 중복 삭제할 수 있도록 허용하는 RFC-4122 UUID
- Crashlytics 설치 UUID
- Firebase 설치 ID(FID)
- Firebase 세션 ID: 세션으로 이벤트에 태그를 지정하기 위해 생성되는 임의의 UUID
- 비정상 종료가 발생한 시점의 타임스탬프
- 앱의 번들 식별자와 정식 버전 번호
- 기기의 운영체제 이름 및 버전 번호
- 기기가 탈옥 또는 루팅되었는지 여부를 나타내는 부울
- 기기의 모델 이름, CPU 아키텍처, RAM 크기, 디스크 공간
- 현재 실행 중인 모든 스레드의 각 프레임에 대한 uint64 명령 포인터
- 런타임에서 사용할 수 있는 경우 각 명령 포인터가 포함된 일반 텍스트 메서드 또는 함수 이름
- 예외가 발생할 경우 예외의 일반 텍스트 클래스 이름 및 메시지 값
- 심각한 신호가 발생한 경우 이름 및 정수 코드
- 애플리케이션에 로드된 각 바이너리 이미지의 이름, UUID, 바이트 크기, RAM에 로드된 uint64 기본 주소
- 앱이 비정상 종료된 시점에 백그라운드에 있었는지 여부를 나타내는 불리언
- 비정상 종료 시 화면 회전을 나타내는 정수 값
- 기기의 근접 센서가 트리거되었는지 여부를 나타내는 불리언
version-control-info.textproto
콘텐츠(버전 제어 시스템(VCS) 통합을 사용하도록 구성된 Android 앱만 해당)
Performance Monitoring에서 수집하는 정보의 예시
- Firebase 설치 ID(FID)
- Firebase 세션 ID: 세션으로 이벤트에 태그를 지정하기 위해 생성되는 임의의 UUID
- 모델, OS, 화면방향과 같은 일반적인 기기 정보
- RAM 및 디스크 크기
- CPU 사용량
- 이동통신사(모바일 국가 및 네트워크 코드 기준)
- 무선/네트워크 정보(예: WiFi, LTE, 3G)
- 국가(IP 주소 기준)
- 언어
- 앱 버전
- 앱의 포그라운드 또는 백그라운드 상태
- 앱 패키지 이름
- Firebase 설치 ID
- 자동화된 추적 기간
- 네트워크 URL(URL 매개변수 또는 페이로드 콘텐츠 제외)과 다음 해당 정보:
- 응답 코드(예: 403, 200)
- 페이로드 크기(바이트)
- 응답 시간
Performance Monitoring에서 수집한 자동 trace의 전체 목록을 참고하세요.
최종 사용자 데이터 처리 옵션 사용 설정 가이드
위 표의 서비스는 최종 사용자 데이터가 어느 정도 있어야 작동합니다. 따라서 해당 서비스를 사용할 경우 데이터 수집을 완전히 사용 중지하는 것은 불가능합니다.
사용자에게 서비스와 그로 인한 데이터 수집을 선택할 수 있는 옵션을 제공하려면 보통 서비스 사용 전에 대화상자나 전환 설정을 추가해야 합니다.
하지만 앱에 포함된 일부 서비스의 경우 자동으로 시작됩니다. 서비스 사용 전에 선택 옵션을 제공하려면 각 서비스의 자동 초기화를 사용 중지하고 런타임 시 직접 초기화하도록 선택하면 됩니다. 방법은 아래 가이드를 참조하세요.
- Cloud Messaging: 자동 초기화 방지(Android) 또는 자동 초기화 방지(iOS+)
- Crashlytics: 보고 선택 옵션 사용 설정(iOS+) 또는 보고 선택 옵션 사용 설정(Android)
- Performance Monitoring: 모니터링 선택 옵션 사용 설정
Firebase를 Google 애널리틱스와 통합하는 경우 애널리틱스 데이터 수집을 구성하는 방법을 알아보세요.
데이터 스토리지 및 처리 위치
서비스 또는 기능에서 데이터 위치 선택 옵션을 제공하지 않는 한, Firebase는 Google 또는 대행사의 시설이 위치한 모든 장소에서 데이터를 처리하고 저장할 수 있습니다. 잠재적 시설 위치는 서비스마다 다릅니다.
미국 전용 서비스
Firebase Authentication 서비스는 미국 데이터 센터에서만 실행됩니다. 따라서 Firebase Authentication은 미국에서만 데이터를 처리합니다.
글로벌 서비스
대부분의 Firebase 서비스가 글로벌 Google 인프라에서 실행됩니다. Google Cloud Platform 위치 또는 Google 데이터 센터 위치 중 어디서나 데이터가 처리될 수 있습니다. 일부 서비스의 경우 특정 위치에서 처리되도록 제한하는 구체적인 데이터 위치 선택이 가능합니다.
- Cloud Storage for Firebase
- Cloud Firestore
- Cloud Functions for Firebase
- Firebase Hosting
- Firebase Crashlytics
- Firebase Performance Monitoring
- Firebase Dynamic Links
- Firebase Remote Config
- Firebase Cloud Messaging
- Firebase ML
- Firebase Test Lab
- Firebase App Check
보안 정보
데이터 암호화
Firebase 서비스는 HTTPS를 사용해 전송 중인 데이터를 암호화하고 고객 데이터를 논리적으로 분리합니다.
또한 여러 Firebase 서비스에서 저장 데이터도 암호화합니다.
- Cloud Firestore
- Cloud Functions for Firebase
- Cloud Storage for Firebase
- Firebase Crashlytics
- Firebase Authentication
- Firebase Cloud Messaging
- Firebase Realtime Database
- Firebase Test Lab
- Firebase App Check
- 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 Crashlytics, Firebase 동적 링크, Firebase 호스팅, Firebase 인앱 메시지, Firebase ML, Vertex AI in Firebase, Firebase Performance Monitoring, Firebase 실시간 데이터베이스, Firebase 원격 구성, Firebase 사용자 세분화 스토리지가 있습니다.
**고객 데이터를 처리하는 방법에 대한 자세한 내용은 Firebase 데이터 처리 및 보안 약관을 참고하세요.
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는 프로젝트 설정의 내 앱 카드에서 확인할 수 있습니다.