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

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

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

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

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

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

ทดสอบพฤติกรรมกฎของ 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 ผู้ใช้แล้วคลิก Run

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