Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

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

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

ตัวอย่างสถานการณ์ Playground Rules

ทดสอบพฤติกรรมของ 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;
    }
  }
}
  • ในเครื่องมือแก้ไขกฎ ให้เพิ่มกฎที่ระบุด้านบน

  • เลือก รับ จากเมนูแบบเลื่อนลง ประเภทการจำลอง และป้อนเส้นทางที่ถูกต้องในช่อง ตำแหน่ง

  • เปิดใช้งาน การรับรองความถูกต้อง และเลือกประเภทการรับรองความถูกต้องจากเมนูแบบเลื่อนลง ของผู้ให้บริการ

  • ป้อนรายละเอียด User ID แล้วคลิก Run

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