ตรวจสอบกฎความปลอดภัยของ Firebase อย่างรวดเร็ว

หากต้องการทดสอบกฎความปลอดภัยของ Firebase ที่อัปเดตอย่างรวดเร็วในคอนโซล Firebase ให้ใช้ Rules Playground

Rules Playground เป็นเครื่องมือที่สะดวกในการใช้ในขณะที่คุณสำรวจพฤติกรรมใหม่ๆ หรือตรวจสอบกฎอย่างรวดเร็วในขณะที่คุณเขียน จะแสดงข้อความยืนยันว่าการเข้าถึงได้รับอนุญาตหรือถูกปฏิเสธตามพารามิเตอร์ที่คุณตั้งค่าสำหรับการจำลอง

ใช้กฎสนามเด็กเล่น

  1. เปิด คอนโซล Firebase และเลือกโครงการของคุณ
  2. จากการนำทางของผลิตภัณฑ์ ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้:
    • เลือก Realtime Database , Cloud Firestore หรือ Storage ตามความเหมาะสม จากนั้นคลิก Rules เพื่อไปยังตัวแก้ไขกฎ
  3. เมื่อคุณทำการแก้ไขแล้ว ให้คลิก Rules Playground จากตัวแก้ไข
  4. ในการตั้งค่า Rules Playground ให้เลือกตัวเลือกสำหรับการทดสอบของคุณ ซึ่งรวมถึง:
    • การทดสอบอ่านหรือเขียน
    • ตำแหน่ง เฉพาะในฐานข้อมูลหรือที่เก็บข้อมูลของคุณเป็นเส้นทาง
    • ประเภทการตรวจสอบสิทธิ์ — ผู้ใช้ที่ไม่ระบุตัวตนที่ไม่ได้รับการตรวจสอบสิทธิ์ ตรวจสอบสิทธิ์ หรือ ID ผู้ใช้เฉพาะ
    • ข้อมูลเฉพาะเอกสารที่กฎของคุณอ้างอิงโดยเฉพาะ (เช่น หากกฎของคุณกำหนดให้ต้องมีฟิลด์เฉพาะก่อนที่จะอนุญาตให้เขียน)
  5. คลิก เรียกใช้ และค้นหาผลลัพธ์ในแบนเนอร์ด้านบนตัวแก้ไข

สถานการณ์ตัวอย่างกฎสนามเด็กเล่น

ทดสอบการทำงานของ Rules Playground ด้วยสถานการณ์ตัวอย่างและกฎพื้นฐานต่อไปนี้

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
      }
    }
  }

ฐานข้อมูลเรียลไทม์

 // 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 ผู้ใช้ที่คุณป้อน คุณควรเห็นแบนเนอร์ที่ยืนยันว่าการอ่านได้รับอนุญาตหรือปฏิเสธสำเร็จ