Firebase Console에서 업데이트된 Firebase 보안 규칙을 빠르게 테스트하려면 Rules Playground를 사용하세요.
Rules Playground는 새로운 동작을 탐색하거나 규칙을 작성할 때 신속하게 유효성을 검사할 때 사용할 수 있는 편리한 도구입니다. 시뮬레이션에 대해 설정한 매개변수에 따라 액세스가 허용 또는 거부되었음을 확인하는 메시지가 표시됩니다.
규칙 플레이그라운드 사용
- Firebase 콘솔 을 열고 프로젝트를 선택합니다.
- 그런 다음 제품 탐색에서 다음 중 하나를 수행합니다.
- 실시간 데이터베이스 , Cloud Firestore 또는 저장소 를 적절하게 선택한 다음 규칙 을 클릭하여 규칙 편집기로 이동합니다.
- 편집을 마치면 편집기에서 Rules Playground 를 클릭합니다.
- Rules Playground 설정에서 다음을 포함한 테스트 옵션을 선택합니다.
- 테스트 읽기 또는 쓰기.
- 데이터베이스 또는 저장소 버킷의 특정 위치 (경로).
- 인증 유형 - 인증되지 않은 인증된 익명 사용자 또는 특정 사용자 ID.
- 규칙이 구체적으로 참조하는 문서별 데이터(예: 쓰기를 허용하기 전에 규칙에 특정 필드가 있어야 하는 경우).
- 실행 을 클릭하고 편집기 위의 배너에서 결과를 찾습니다.
샘플 규칙 플레이그라운드 시나리오
다음 샘플 시나리오 및 기본 규칙을 사용하여 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 세부 정보에 따라 읽기가 성공적으로 허용 또는 거부되었음을 확인하는 배너가 표시됩니다.