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

Firebase 보안 규칙을 빠르게 검증

Firebase 콘솔에서 업데이트된 Firebase 보안 규칙을 빠르게 테스트하려면 규칙 플레이그라운드를 사용하세요.

Rules Playground는 새로운 동작을 탐색하거나 규칙을 작성할 때 빠르게 유효성을 검사할 때 사용할 수 있는 편리한 도구입니다. 시뮬레이션에 대해 설정한 매개변수에 따라 액세스가 허용 또는 거부되었음을 확인하는 메시지가 표시됩니다.

규칙 놀이터 사용

  1. Firebase 콘솔 을 열고 프로젝트를 선택합니다.
  2. 그런 다음 제품 탐색에서 다음 중 하나를 수행합니다.
    • Realtime Database , Cloud Firestore 또는 Storage 를 적절하게 선택한 다음 규칙 을 클릭하여 규칙 편집기로 이동합니다.
  3. 편집을 마치면 편집기에서 Rules Playground 를 클릭하십시오.
  4. Rules Playground 설정에서 다음을 포함한 테스트 옵션을 선택합니다.
    • 읽기 또는 쓰기 테스트.
    • 데이터베이스 또는 스토리지 버킷의 특정 위치 (경로).
    • 인증 유형 — 인증되지 않은 인증된 익명 사용자 또는 특정 사용자 ID.
    • 규칙이 구체적으로 참조하는 문서 관련 데이터(예: 쓰기를 허용하기 전에 규칙에 특정 필드가 있어야 하는 경우).
  5. 실행 을 클릭하고 편집기 위의 배너에서 결과를 찾습니다.

샘플 규칙 플레이그라운드 시나리오

다음 샘플 시나리오와 기본 규칙으로 Rules Playground 동작을 테스트합니다.

클라우드 파이어스토어

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

실시간 데이터베이스

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

클라우드 스토리지

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • 규칙 편집기에서 위에 제공된 규칙을 추가합니다.

  • 시뮬레이션 유형 드롭다운 메뉴에서 가져오기 를 선택하고 위치 필드에 유효한 경로를 입력합니다.

  • 인증 을 켜고 공급자 드롭다운에서 인증 유형을 선택합니다.

  • 사용자 ID 세부 정보를 입력하고 실행 을 클릭합니다.

시뮬레이션 결과는 편집기 상단에 나타납니다. 입력한 사용자 ID 세부 정보에 따라 읽기가 성공적으로 허용 또는 거부되었음을 확인하는 배너가 표시되어야 합니다.