Google 致力于为黑人社区推动种族平等。查看具体举措
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

กฎความปลอดภัยของ Firebase

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

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

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

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

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

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

พวกเขาทำงานอย่างไร?

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

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

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

สำหรับฐานข้อมูลแบบเรียลไทม์กฎที่ใช้ JSON ใช้ไวยากรณ์ต่อไปนี้:

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

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

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

เส้นทางการนำไปใช้งาน

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

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