Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

Firebase 보안 규칙 시작하기

Firebase 보안 규칙은 Cloud Firestore, 실시간 데이터베이스, Cloud Storage의 데이터에 대해 강력하고 완벽하게 맞춤설정 가능한 보호 기능을 제공합니다. 이 가이드의 단계에 따라 규칙을 쉽게 시작하여 데이터를 보호하고 악의적인 사용자로부터 앱을 보호할 수 있습니다.

Firebase 보안 규칙 언어 이해

규칙 작성을 시작하기 전에 사용 중인 Firebase 제품에 대한 특정 Firebase 보안 규칙 언어를 검토하는 것이 좋습니다. 실시간 데이터베이스는 규칙에 JavaScript와 유사한 구문 및 JSON 구조를 활용합니다. 또는 Cloud Firestore 및 Cloud Storage는 정의된 경로에서 액세스 조건을 설정하는 matchallow 문에 의존하는 CEL(Common Expression Language)의 상위 집합을 활용합니다.

Firebase 보안 규칙 언어 에 대해 자세히 알아보세요.

인증 설정

아직 수행하지 않았다면 Firebase 인증 을 사용하여 사용자를 식별합니다. Firebase 인증은 많은 일반적인 인증 방법을 지원하고 Firebase 보안 규칙과 통합하여 포괄적인 확인 기능을 제공합니다.

앱에 대한 추가 사용자 지정 인증 정보를 설정할 수 있습니다.

Firebase 보안 규칙 및 Firebase 인증 에 대해 자세히 알아보세요.

데이터 및 규칙 구조 정의

데이터를 구조화하는 방식은 규칙을 구조화하고 구현하는 방식에 영향을 미칠 수 있습니다. 데이터 구조를 정의할 때 규칙 구조에 미칠 수 있는 영향을 고려하십시오.

예를 들어 Cloud Firestore에서 각 사용자의 특정 역할을 나타내는 필드를 포함할 수 있습니다. 그러면 규칙이 해당 필드를 읽고 이를 사용하여 역할 기반 액세스 권한을 부여할 수 있습니다.

데이터 및 규칙 아키텍처를 정의할 때 데이터세트에 대한 액세스 권한을 부여 하는 규칙이 있으면 Firebase 보안 규칙이 해당 데이터세트에 대한 액세스 권한을 부여한다는 점에 유의하세요. 즉, 데이터 계층 구조의 상위 수준에서 액세스 권한을 부여한 경우 하위 경로에서 액세스를 세분화할 수 없습니다.

규칙에 액세스

기존 규칙을 보려면 Firebase CLI 또는 Firebase 콘솔을 사용하세요. 업데이트를 실수로 덮어쓰는 것을 방지하려면 동일한 방법을 사용하여 규칙을 일관되게 편집해야 합니다. 로컬에서 정의한 규칙이 최신 업데이트를 반영하는지 확실하지 않은 경우 Firebase 콘솔은 항상 가장 최근에 배포된 Firebase 보안 규칙 버전을 표시합니다.

Firebase 콘솔 에서 규칙에 액세스하려면 프로젝트를 선택한 다음 Realtime Database , Cloud Firestore 또는 Storage 로 이동합니다. 올바른 데이터베이스 또는 저장소 버킷에 있으면 규칙 을 클릭합니다.

Firebase CLI에서 규칙에 액세스하려면 firebase.json 파일에 기록된 규칙 파일로 이동합니다.

기본 규칙 작성

앱을 개발하고 규칙을 이해하면서 다음 사용 사례를 포함하여 몇 가지 기본 보안 규칙 을 구현해 보세요.

  • 콘텐츠 소유자 전용: 사용자의 콘텐츠 액세스를 제한합니다.
  • 혼합 액세스: 사용자의 쓰기 액세스를 제한하지만 공개 읽기 액세스는 허용합니다.
  • 속성 기반 액세스: 그룹 또는 사용자 유형에 대한 액세스를 제한합니다.

규칙 테스트

앱 동작을 완전히 검증하고 Firebase 보안 규칙을 확인하려면
구성에서 Firebase 에뮬레이터 를 사용하여 로컬 환경에서 단위 테스트를 실행하고 자동화합니다.

Firebase 콘솔에서 Firebase 보안 규칙을 설정하는 경우 Firebase 규칙 시뮬레이터 를 사용하여 빠르게 동작을 검증할 수 있습니다. 그러나 변경 사항을 프로덕션에 배포하기 전에 Firebase 에뮬레이터로 더 철저한 테스트를 수행하는 것이 좋습니다.

규칙 배포

Firebase 콘솔 또는 Firebase CLI를 사용하여 규칙을 프로덕션에 배포합니다. Firebase 보안 규칙 관리 및 배포 에 설명된 단계를 따릅니다.