Realtime Database, Cloud Firestore 또는 Storage를 적절히 선택한 다음 규칙을 클릭하여 Rules 편집기로 이동합니다.
수정을 마친 후 편집기에서 규칙 플레이그라운드를 클릭합니다.
규칙 플레이그라운드 설정에서 다음과 같은 테스트 옵션을 선택합니다.
읽기 또는 쓰기 테스트
데이터베이스 또는 스토리지 버킷의 특정 위치(경로)
인증 유형 — 인증되지 않은 사용자, 인증된 익명 사용자 또는 특정 사용자 ID
규칙에서 구체적으로 참조하는 문서별 데이터(예: 특정 필드가 있어야 쓰기를 허용하는 규칙의 경우)
실행을 클릭하고 편집기 위의 배너에서 결과를 확인합니다.
샘플 규칙 플레이그라운드 시나리오
다음 샘플 시나리오와 기본 규칙을 사용하여 규칙 플레이그라운드 동작을 테스트합니다.
Cloud Firestore
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
}
}
}
Realtime Database
// 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"}}}}
Cloud Storage
// Grants a user access to a node matching their user IDservicefirebase.storage{match/b/{bucket}/o{// Files look like: "user/<UID>/file.txt"match/user/{userId}/{fileName}{allowread,write:ifrequest.auth!=null && request.auth.uid==userId;}}}
Rules 편집기에서 제공된 규칙을 추가합니다.
시뮬레이션 유형 드롭다운 메뉴에서 가져오기를 선택하고 위치 필드에 유효한 경로를 입력합니다.
인증을 전환하고 제공업체 드롭다운에서 인증 유형을 선택합니다.
사용자 ID 세부정보를 입력하고 실행을 클릭합니다.
시뮬레이션의 결과가 편집기의 맨 위에 표시됩니다. 입력한 사용자 ID 세부정보에 따라 읽기가 허용되었는지 아니면 거부되었는지를 확인하는 배너가 나타납니다.
[null,null,["최종 업데이트: 2025-07-25(UTC)"],[],[],null,["# Quickly validate Firebase Security Rules\n\n\u003cbr /\u003e\n\nTo quickly test your updated Firebase Security Rules in the Firebase console, use\nthe Rules Playground.\n| **Note:** To fully validate your app's behavior and verify your Firebase Security Rules \n| configurations, use the [Firebase Emulator](/docs/rules/emulator-setup) to run and automate unit tests in a local environment.\n\nThe Rules Playground is a convenient tool to use as you're exploring\nnew behaviors or quickly validating rules as you write them. It displays a\nmessage confirming that access was either allowed or denied according to the\nparameters you set for the simulation.\n\nUse the Rules Playground\n------------------------\n\n1. Open the [Firebase console](//console.firebase.google.com/) and select your project.\n2. Then, from the product navigation, do one of the following:\n - Select **Realtime Database** , **Cloud Firestore** , or **Storage** , as appropriate, then click **Rules** to navigate to the Rules editor.\n3. Once you've made your edits, click **Rules Playground** from the editor.\n4. In the *Rules Playground* settings, select options for your test, including:\n - Testing reads or writes.\n - A specific **Location** in your database or storage bucket, as a path.\n - Authentication type --- unauthenticated, authenticated anonymous user, or a specific user ID.\n - Document-specific data that your rules specifically reference (for example, if your rules require the presence of a specific field before allowing a write).\n5. Click **Run** and look for the results in the banner above the editor.\n\nSample Rules Playground scenario\n--------------------------------\n\nTest the Rules Playground behavior with the following sample scenario\nand basic rules. \n\n### Cloud Firestore\n\n service cloud.firestore {\n match /databases/{database}/documents {\n // Allow only authenticated content owners access\n match /some_collection/{document} {\n allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid\n }\n }\n }\n\n### Realtime Database\n\n\u003cbr /\u003e\n\n```scilab\n // These rules grant access to a node matching the authenticated\n // user's ID from the Firebase auth token\n {\n \"rules\": {\n \"users\": {\n \"$uid\": {\n \".read\": \"$uid === auth.uid\",\n \".write\": \"$uid === auth.uid\"\n }\n }\n }\n }\n \n```\n\n\u003cbr /\u003e\n\n### Cloud Storage\n\n // Grants a user access to a node matching their user ID\n service firebase.storage {\n match /b/{bucket}/o {\n // Files look like: \"user/<UID>/file.txt\"\n match /user/{userId}/{fileName} {\n allow read, write: if request.auth != null && request.auth.uid == userId;\n }\n }\n }\n\n- In the Rules editor, add the rule given.\n\n-\n Select **get** from the **Simulation type** drop-down menu and enter a valid\n path in the **Location** field.\n\n- Toggle on **Authentication** and select an authentication type from the\n **Provider** drop-down.\n\n- Enter the user ID details and click **Run**.\n\nThe results of the simulation appear at the top of the editor. Depending on the\nuser ID details you entered, you should see a banner confirming the read\nwas either successfully allowed or denied."]]