Firebase Security Rules

ใช้กฎการรักษาความปลอดภัยของ Firebase ที่ยืดหยุ่นและมีความยืดหยุ่นเพื่อ รักษาความปลอดภัยให้ข้อมูลของคุณใน Cloud Firestore, Firebase Realtime Database และ Cloud Storage

Firebase Security Rules อยู่ระหว่างข้อมูลของคุณกับผู้ใช้ที่เป็นอันตราย คุณสามารถเขียนสั้นๆ หรือ กฎที่ซับซ้อนซึ่งปกป้องข้อมูลของแอปได้ในระดับความละเอียดที่ กับแอปของคุณที่ต้องการ

การใช้ประโยชน์ Firebase Security Rules ภาษาการกำหนดค่าที่ยืดหยุ่นและยืดหยุ่นเพื่อกำหนดข้อมูลที่ผู้ใช้ของคุณ เข้าถึงได้สำหรับ Realtime Database, Cloud Firestore และ Cloud Storage Firebase Realtime Database Security Rules ใช้ประโยชน์จาก JSON ในคำจำกัดความของกฎ Cloud Firestore Security Rules และ Firebase Security Rules สำหรับ Cloud Storage ใช้ประโยชน์จาก ภาษาที่สร้างขึ้นมาเพื่อรองรับโครงสร้างที่เจาะจงกฎที่ซับซ้อนมากขึ้น

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีตั้งค่า Rules สำหรับผลิตภัณฑ์ Firebase ที่เฉพาะเจาะจง ที่คุณใช้ในแอปและลักษณะการทำงานของ Rules ที่ต่างกันใน Firebase Google อีกด้วย

เริ่มใช้งาน

ความสามารถที่สำคัญ

ความยืดหยุ่น เขียนกฎที่กำหนดเองที่เหมาะกับโครงสร้างและลักษณะการทำงานของแอป Rules ใช้ภาษาที่ให้คุณใช้ประโยชน์จากข้อมูลของคุณเอง เพื่อให้สิทธิ์เข้าถึง
แบบละเอียด คุณสามารถกำหนดกฎให้กว้างหรือแคบได้ตามต้องการ
การรักษาความปลอดภัยแบบอิสระ เนื่องจากมีการกำหนด Rules ไว้นอกแอป (ในคอนโซล Firebase หรือ Firebase CLI) ไคลเอ็นต์ ไม่มีหน้าที่ในการบังคับใช้ความปลอดภัย ข้อบกพร่องจะไม่ทำให้เกิดความเสี่ยงต่อข้อมูล ข้อมูลของคุณจะได้รับการปกป้องเสมอ

วิธีการทำงาน

Firebase Security Rules ทำงานโดยการจับคู่รูปแบบกับเส้นทางฐานข้อมูล แล้วจึงนำไปใช้ เงื่อนไขที่กำหนดเองเพื่ออนุญาตการเข้าถึงข้อมูลในเส้นทางเหล่านั้น Rulesทั้งหมด ในผลิตภัณฑ์ต่างๆ ของ Firebase จะมีคอมโพเนนต์การจับคู่เส้นทางและ ข้อความที่อนุญาตการเข้าถึงแบบอ่านหรือเขียนได้ คุณต้องกำหนด Rules สำหรับ แต่ละผลิตภัณฑ์ Firebase ที่คุณใช้ในแอป

สำหรับ Cloud Firestore และ Cloud Storage Rules ให้ใช้รายการต่อไปนี้ ไวยากรณ์:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

สำหรับ Realtime Database Rules แบบ JSON ใช้ไวยากรณ์ต่อไปนี้

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

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

Firebase Security Rules ยังสามารถใช้ประโยชน์จาก Authentication เพื่อให้สิทธิ์ที่อิงตามผู้ใช้ และ เงื่อนไขที่ตั้งไว้อาจเป็นเรื่องพื้นฐาน หรือซับซ้อนอย่างมาก ดูข้อมูลเพิ่มเติม ประมาณ Rules ภาษาและพฤติกรรม ก่อนที่จะเริ่มเขียน Rules

เส้นทางการใช้งาน

ผสานรวม SDK ของผลิตภัณฑ์ ตั้งค่า Cloud Firestore Cloud Storage หรือ Realtime Database สำหรับ แอป
เขียนFirebase Security Rulesของคุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับ วิธีการทำงานของ Rules และ ตั้งค่า Rules พื้นฐาน
ทดสอบ Firebase Security Rules ใช้โปรแกรมจำลอง Realtime Database และ Cloud Firestore เพื่อทดสอบ การทำงานและตรวจสอบกฎของคุณก่อนทำให้ใช้งานได้จริง
ทำให้ Firebase Security Rules ใช้งานได้ ใช้คอนโซล Firebase หรือ CLI ของ Firebase เพื่อทำให้กฎใช้งานได้ สำหรับเวอร์ชันที่ใช้งานจริง

ขั้นตอนถัดไป