Firebase 프로젝트 설정을 위한 일반적인 권장사항

이 페이지에서는 Firebase 프로젝트를 설정하고 프로젝트에 앱을 등록하는 일반적인 권장사항을 간략히 설명합니다. 이 내용을 토대로 고유한 환경을 사용하는 개발 워크플로를 명확하게 이해할 수 있습니다. 이 페이지의 권장사항을 숙지한 후 일반 보안 가이드라인을 확인하세요.

Firebase 프로젝트의 계층 구조 이해하기

프로젝트, 등록된 앱, 프로비저닝된 리소스 및 서비스를 포함한 Firebase 프로젝트의 기본 계층 구조를 보여주는 다이어그램 이 다이어그램은 Firebase 프로젝트의 기본 계층 구조를 보여줍니다. 키 관계는 다음과 같습니다.

  • Firebase 프로젝트는 모든 앱 및 프로젝트에 프로비저닝된 리소스와 서비스를 위한 컨테이너와 같습니다.

  • Firebase 프로젝트에는 하나 이상의 Firebase 앱을 등록할 수 있습니다(예: 앱의 iOS 및 Android 버전 또는 앱의 무료 버전과 유료 버전 모두).

  • 동일한 Firebase 프로젝트에 등록된 모든 Firebase 앱은 프로젝트에 프로비저닝된 모든 동일한 리소스와 서비스를 공유하고 여기에 액세스할 수 있습니다. 예를 들면 다음과 같습니다.

    • 같은 Firebase 프로젝트에 등록된 모든 Firebase 앱은 Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage, Cloud Functions와 같은 동일한 백엔드를 공유합니다.

    • 동일한 Firebase 프로젝트에 등록된 모든 Firebase 앱은 동일한 Google 애널리틱스 속성과 연결되며, 여기서 각 Firebase 앱은 해당 속성에서 별도의 데이터 스트림입니다.

Google Cloud 프로젝트는 이 계층 구조에서 어떤 위치에 적합한가요?

위 다이어그램에 표시되지 않은 Firebase 프로젝트 계층 구조의 한 가지 측면은 Google Cloud 프로젝트와의 관계입니다. Firebase 프로젝트는 실제로는 사용 설정된 Firebase 관련 구성과 서비스가 추가적으로 포함된 Google Cloud 프로젝트입니다. 동일한 Firebase 프로젝트에 등록된 모든 앱도 동일한 Google Cloud 리소스 및 서비스를 공유하고 액세스할 수 있습니다.

Firebase 프로젝트 이해에서 Firebase와 Google Cloud의 관계에 대해 자세히 알아보세요.

Firebase 프로젝트에 앱 변형 등록

다음은 Firebase 프로젝트에 앱 변형을 등록하는 몇 가지 중요한 팁입니다.

  • Firebase 프로젝트에 등록된 모든 앱이 최종 사용자의 관점에서 동일한 애플리케이션의 플랫폼 변형인지 확인합니다. 동일한 앱 또는 게임의 iOS, Android, 웹 버전을 동일한 Firebase 프로젝트에 등록합니다.

  • 동일한 Firebase 리소스를 공유할 수 있는 빌드 변형이 여러 개 있는 경우 동일한 Firebase 프로젝트에 변형을 등록합니다. 몇 가지 예로 동일한 프로젝트의 블로그 및 웹 앱, 동일한 프로젝트에 있는 동일한 앱의 무료 및 유료 버전이 있습니다.

  • 이미 출시 상태 기준인 여러 빌드 변형이 있는 경우 위와 같은 일반적인 최종 사용자 활동 또는 액세스 대신 각 변형을 별도의 Firebase 프로젝트에 등록합니다. 한 가지 예는 디버그 빌드와 출시 빌드를 비교하는 것입니다. 이 경우 각 빌드를 자체 Firebase 프로젝트에 등록합니다.

    • 디버그 데이터가 오염되거나 프로덕션 데이터가 재정의될 위험이 있으므로 출시 상태를 기반으로 한 빌드는 동일한 Firebase 리소스를 공유해서는 안 됩니다.

    • 각 빌드 변형의 플랫폼 변형은 동일한 Firebase 프로젝트에 있어야 합니다. 예를 들어, iOS와 Android 디버그 빌드를 둘 다 'dev' Firebase 프로젝트에 등록합니다. 둘 다 동일한 비프로덕션 데이터 및 리소스와 상호작용할 수 있기 때문입니다.

멀티테넌시 방지하기

멀티테넌시로 인해 의도하지 않은 애널리틱스 집계, 인증 공유, 지나치게 복잡한 데이터베이스 구조, 까다로운 보안 규칙 등 구성 및 데이터 개인 정보 보호와 관련해 심각한 문제가 발생할 수 있습니다.

일반적으로 여러 앱에서 동일한 데이터와 구성을 공유하지 않으면 각 앱을 서로 다른 Firebase 프로젝트에 등록하는 것이 좋습니다.

예를 들어 화이트 라벨 애플리케이션을 개발하는 경우 독립적으로 라벨이 지정된 각 앱마다 자체 Firebase 프로젝트가 있어야 하며, 해당 라벨의 iOS 및 Android 버전은 동일한 Firebase 프로젝트에 있어야 합니다. 독립적으로 라벨이 지정된 각 앱은 개인 정보 보호를 위해 데이터를 서로 공유하지 않아야 합니다.

다음 단계