Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

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

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

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

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

,

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

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

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

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

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