이 페이지에서는 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와 Google Cloud의 관계에 대해 자세히 알아보려면 다음에서 확인하세요. Firebase 프로젝트 이해
Firebase 프로젝트에 앱 변형 등록
다음은 Firebase 프로젝트에 앱 변형을 등록하는 몇 가지 중요한 팁입니다.
Firebase 프로젝트에 등록된 모든 앱이 최종 사용자의 관점에서 동일한 애플리케이션의 플랫폼 변형인지 확인합니다. 동일한 앱 또는 게임의 iOS, Android, 웹 버전을 동일한 Firebase 프로젝트에 등록합니다.
동일한 Firebase 리소스를 공유할 수 있는 빌드 변형이 여러 개 있는 경우 동일한 Firebase 프로젝트에 변형을 등록합니다. 몇 가지 예로 동일한 프로젝트의 블로그 및 웹 앱, 동일한 프로젝트에 있는 동일한 앱의 무료 및 유료 버전이 있습니다.
이미 출시 상태 기준인 여러 빌드 변형이 있는 경우 위와 같은 일반적인 최종 사용자 활동 또는 액세스 대신 각 변형을 별도의 Firebase 프로젝트에 등록합니다. 한 가지 예는 디버그 빌드와 출시 빌드를 비교하는 것입니다. 이 경우 각 빌드를 자체 Firebase 프로젝트에 등록합니다.
디버그 데이터가 오염되거나 프로덕션 데이터가 재정의될 위험이 있으므로 출시 상태를 기반으로 한 빌드는 동일한 Firebase 리소스를 공유해서는 안 됩니다.
각 빌드 변형의 플랫폼 변형은 동일한 Firebase 프로젝트에 있어야 합니다. 예를 들어, iOS와 Android 디버그 빌드를 둘 다 'dev' Firebase 프로젝트에 등록합니다. 둘 다 동일한 비프로덕션 데이터 및 리소스와 상호작용할 수 있기 때문입니다.
멀티테넌시 방지하기
멀티테넌시로 인해 의도하지 않은 애널리틱스 집계, 인증 공유, 지나치게 복잡한 데이터베이스 구조, 까다로운 보안 규칙 등 구성 및 데이터 개인 정보 보호와 관련해 심각한 문제가 발생할 수 있습니다.
일반적으로 여러 앱에서 동일한 데이터와 구성을 공유하지 않으면 각 앱을 서로 다른 Firebase 프로젝트에 등록하는 것이 좋습니다.
예를 들어 화이트 라벨 애플리케이션을 개발하는 경우 독립적으로 라벨이 지정된 각 앱마다 자체 Firebase 프로젝트가 있어야 하며, 해당 라벨의 iOS 및 Android 버전은 동일한 Firebase 프로젝트에 있어야 합니다. 독립적으로 라벨이 지정된 각 앱은 개인 정보 보호를 위해 데이터를 서로 공유하지 않아야 합니다.
다음 단계
다양한 환경의 일반 보안 가이드라인을 검토합니다. 각 환경과 데이터가 안전한지 확인하려고 합니다.
Firebase 출시 체크리스트를 검토합니다.