다양한 개발 워크플로 환경의 일반적인 보안 가이드라인

이 페이지에서는 다양한 환경에서 보안을 위한 가장 중요한 권장사항을 설명하지만 보안 체크리스트에서 보안 및 Firebase에 대한 자세한 안내를 확인할 수 있습니다.

사전 프로덕션 환경을 위한 보안

여러 Firebase 프로젝트에서 환경을 분리하는 한 가지 이점은 사전 프로덕션 환경에 액세스할 수 있는 악의적인 행위자가 실제 사용자 데이터에 액세스할 수 없다는 것입니다. 다음은 사전 프로덕션 환경에서 취해야 할 가장 중요한 보안 주의 사항입니다.

  • 사전 프로덕션 환경에 대한 액세스를 제한합니다. 모바일 앱의 경우 앱 배포 (또는 유사한 앱)를 사용하여 소수의 특정 사용자에 앱을 배포합니다. 웹 애플리케이션은 제한하기 어렵습니다. 여러분의 도메인에만 해당하는 이메일 주소가 있는 사용자에 대한 액세스를 제한하는 사전 프로덕션 환경용 차단 함수를 설정하는 것이 좋습니다. 또는 Firebase 호스팅을 사용하고 있는 경우 임시 미리보기 URL을 사용하도록 사전 프로덕션 워크플로를 설정합니다.

  • 환경을 유지할 필요가 없고 한 사람(또는 테스트의 경우 하나의 머신)만 사용하는 경우 Firebase 로컬 에뮬레이터 도구 모음을 사용합니다. 이러한 에뮬레이터는 클라우드 리소스를 사용하는 대신 localhost에서 완전히 작동할 수 있으므로 더 안전하고 빠릅니다.

  • 프로덕션에서와 마찬가지로 사전 프로덕션 환경에서 Firebase 보안 규칙을 설정했는지 확인합니다. 일반적으로 규칙은 환경 간에 동일해야 하며 코드에 따라 변경되므로 아직 프로덕션에 존재하지 않는 파이프라인의 초기 규칙이 있을 수 있다는 점에 주의해야 합니다.

프로덕션 환경을 위한 보안

앱이 숨겨져 있더라도 프로덕션 데이터는 항상 타겟이 됩니다. 이 가이드라인을 준수하더라도 악의적인 행위자가 데이터를 가져오는 것이 불가능하지는 않지만 더 어렵게 만들 수는 있습니다.

  • 앱 체크를 지원하는 사용 중인 모든 제품에 대해 앱 체크를 사용 설정하고 실행합니다. 앱 체크는 백엔드 서비스에 대한 요청이 정품 앱에서 전송되었는지 확인합니다. 이 기능을 사용하려면 앱 체크에 앱의 각 버전을 등록해야 합니다. 사용자가 생기기 전에 간편하게 설정할 수 있으므로 가능한 한 빨리 설정하세요.

  • 강력한 Firebase 보안 규칙을 작성합니다. 실시간 데이터베이스, Cloud Firestore, Cloud Storage는 모두 개발자가 구성한 규칙을 사용하여 데이터에 액세스할 수 있는 사용자와 액세스할 수 없는 사용자에 적용합니다. 안전한 규칙을 작성하는 것은 보안에 중요합니다. 방법을 잘 모른다면 이 Codelab부터 시작하세요.

  • 프로덕션 환경의 보안에 관한 권장사항은 보안 체크리스트를 검토하세요.

다음 단계