이 페이지에서는 Firebase 프로젝트를 설정하고 앱을 프로젝트에 등록하여 고유한 환경을 사용하여 명확한 개발 워크플로 를 만드는 일반적인 고급 권장사항을 제공합니다. 이 페이지의 모범 사례에 익숙해지면 일반 보안 지침 을 확인하세요.
Firebase 프로젝트의 계층 구조 이해
이 다이어그램은 Firebase 프로젝트의 기본 계층 구조를 보여줍니다. 주요 관계는 다음과 같습니다.
Firebase 프로젝트 는 모든 앱과 프로젝트에 프로비저닝된 모든 리소스 및 서비스를 위한 컨테이너와 같습니다.
Firebase 프로젝트에는 하나 이상의 Firebase 앱 이 등록되어 있을 수 있습니다(예: 앱의 iOS 및 Android 버전, 또는 앱의 무료 및 유료 버전 모두).
동일한 Firebase 프로젝트에 등록된 모든 Firebase 앱 은 프로젝트에 프로비저닝된 모든 동일한 리소스와 서비스를 공유하고 액세스할 수 있습니다 . 여기 몇 가지 예가 있어요.
동일한 Firebase 프로젝트에 등록된 모든 Firebase 앱은 Firebase 호스팅, 인증, 실시간 데이터베이스, 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 프로젝트에 등록된 모든 앱이 최종 사용자 관점에서 동일한 애플리케이션의 플랫폼 변형 인지 확인합니다. 동일한 Firebase 프로젝트에 동일한 앱 또는 게임의 iOS, Android 및 웹 버전을 등록합니다.
동일한 Firebase 리소스를 공유 할 수 있는 여러 빌드 변형이 있는 경우 동일한 Firebase 프로젝트에 변형을 등록하세요. 몇 가지 예로는 동일한 프로젝트에 있는 블로그와 웹 앱, 또는 동일한 프로젝트에 있는 동일한 앱의 무료 버전과 유료 버전이 있습니다.
릴리스 상태(위와 같은 일반적인 최종 사용자 활동 또는 액세스가 아닌)를 기반으로 하는 빌드 변형이 여러 개 있는 경우 각 변형을 별도의 Firebase 프로젝트에 등록하세요. 디버그 대 릴리스 빌드가 한 예입니다. 이러한 각 빌드를 자체 Firebase 프로젝트에 등록합니다.
릴리스 상태를 기반으로 하는 빌드는 디버그 데이터가 제품 데이터를 오염시키거나 재정의할 위험이 있으므로 동일한 Firebase 리소스를 공유해서는 안 됩니다.
이러한 각 빌드 변형의 플랫폼 변형은 동일한 Firebase 프로젝트에 있어야 합니다. 예를 들어 iOS 및 Android 디버그 빌드를 모두 동일한 비프로덕션 데이터 및 리소스와 상호작용할 수 있으므로 "dev" Firebase 프로젝트에 모두 등록합니다.
멀티 테넌시 방지
다중 테넌시는 분석 집계, 공유 인증, 지나치게 복잡한 데이터베이스 구조 및 보안 규칙의 어려움을 포함하여 심각한 구성 및 데이터 개인 정보 보호 문제로 이어질 수 있습니다.
일반적으로 앱 세트가 동일한 데이터 및 구성을 공유하지 않는 경우 각 앱을 다른 Firebase 프로젝트에 등록하는 것이 좋습니다.
예를 들어 화이트 라벨 애플리케이션을 개발하는 경우 독립적으로 라벨이 지정된 각 앱에는 자체 Firebase 프로젝트가 있어야 하며 해당 라벨의 iOS 및 Android 버전은 동일한 Firebase 프로젝트에 있어야 합니다. 독립적으로 레이블이 지정된 각 앱은 개인 정보 보호를 위해 다른 앱과 데이터를 공유해서는 안 됩니다.
다음 단계
다양한 환경에 대한 일반 보안 지침 을 검토하십시오. 각 환경과 해당 데이터가 안전한지 확인하려고 합니다.
Firebase 출시 체크리스트 를 검토하세요.