Firebase Security Rules มอบการป้องกันที่มีประสิทธิภาพและปรับแต่งได้อย่างเต็มรูปแบบสำหรับข้อมูลของคุณ Cloud Firestore, Realtime Database และ Cloud Storage คุณสามารถดู เริ่มต้นด้วย Rules ทำตามขั้นตอนในคู่มือนี้ ข้อมูลและปกป้องแอปของคุณจากผู้ใช้ที่เป็นอันตราย
ทำความเข้าใจภาษาFirebase Security Rules
ก่อนที่คุณจะเริ่มเขียนกฎ คุณควรใช้เวลาในการตรวจทาน
ภาษาFirebase Security Rulesที่เฉพาะเจาะจงสำหรับผลิตภัณฑ์ Firebase ที่คุณใช้อยู่
Realtime Database ใช้ประโยชน์จากไวยากรณ์และโครงสร้าง JSON ที่เหมือน JavaScript สำหรับ
Rules หรือ Cloud Firestore และ Cloud Storage ใช้ประโยชน์จากซูเปอร์เซ็ต
ของ Common Expression Language (CEL) ที่ใช้ match
และ allow
ที่กำหนดเงื่อนไขสำหรับการเข้าถึงตามเส้นทางที่กำหนด
ดูข้อมูลเพิ่มเติมเกี่ยวกับภาษาของ Firebase Security Rules
ตั้งค่า Authentication
โปรดระบุผู้ใช้ด้วย Firebase Authentication หากยังไม่ได้ดำเนินการ Firebase Authentication รองรับวิธีการตรวจสอบสิทธิ์ทั่วไปหลายวิธีและผสานรวมกับ Firebase Security Rules เพื่อให้สามารถยืนยันได้อย่างครอบคลุม
คุณตั้งค่าข้อมูลการตรวจสอบสิทธิ์เพิ่มเติมที่กําหนดเองสําหรับแอปได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Firebase Security Rules และ Firebase Authentication
กำหนดโครงสร้างข้อมูลและกฎของคุณ
วิธีที่คุณจัดโครงสร้างข้อมูล อาจมีผลต่อวิธีจัดโครงสร้างและ เพื่อนำกฎของคุณไปใช้ เมื่อคุณกำหนดโครงสร้างข้อมูล ให้พิจารณา หรือผลกระทบที่อาจเกิดขึ้นกับโครงสร้าง Rules
ตัวอย่างเช่น ใน Cloud Firestore คุณอาจต้องใส่ช่องที่แสดงถึง บทบาทเฉพาะสำหรับผู้ใช้แต่ละคน จากนั้น กฎของคุณจะอ่านช่องนั้นและนำไปใช้ได้ ให้สิทธิ์การเข้าถึงตามบทบาท
ขณะที่คุณกำหนดสถาปัตยกรรมข้อมูลและกฎ โปรดทราบว่าหากมี กฎจะให้สิทธิ์เข้าถึงชุดข้อมูล และ Firebase Security Rules จะให้สิทธิ์เข้าถึงชุดข้อมูลนั้น ใน หรืออีกนัยหนึ่งคือ คุณไม่สามารถปรับแต่งการเข้าถึงที่เส้นทางย่อย หากคุณได้ให้สิทธิ์เข้าถึง ระดับที่สูงขึ้นในลำดับชั้นข้อมูล
เข้าถึงกฎ
หากต้องการดู Rules ที่มีอยู่ ให้ใช้ Firebase CLI หรือคอนโซล Firebase ตรวจสอบว่าคุณแก้ไขกฎโดยใช้วิธีการเดียวกันอย่างสม่ำเสมอเพื่อหลีกเลี่ยงการเขียนทับการอัปเดตโดยไม่ได้ตั้งใจ หากไม่แน่ใจ ว่ากฎที่กำหนดในเครื่องสอดคล้องกับการอัปเดตล่าสุดหรือไม่ คอนโซลจะแสดง Firebase Security Rules เวอร์ชันล่าสุดที่ใช้งานเสมอ
หากต้องการเข้าถึงกฎจากคอนโซล Firebase ให้เลือก โปรเจ็กต์ จากนั้นไปที่ Realtime Database, Cloud Firestore หรือ พื้นที่เก็บข้อมูล คลิกกฎเมื่ออยู่ในฐานข้อมูลหรือพื้นที่เก็บข้อมูลที่ถูกต้องแล้ว
ในการเข้าถึงกฎจาก Firebase CLI ให้ไปที่ ในไฟล์กฎที่ระบุไว้ในไฟล์ firebase.json
เขียนกฎพื้นฐาน
ขณะที่คุณพัฒนาแอปและทำความเข้าใจ Rules ให้ลอง ใช้กฎการรักษาความปลอดภัยพื้นฐาน 2-3 กฎ รวมถึงกฎต่อไปนี้ กรณีการใช้งาน
- เจ้าของเนื้อหาเท่านั้น: จำกัดการเข้าถึงเนื้อหาโดยผู้ใช้
- สิทธิ์การเข้าถึงแบบผสม: จำกัดสิทธิ์การเขียนตามผู้ใช้ แต่อนุญาตสิทธิ์การอ่านแบบสาธารณะ
- การเข้าถึงตามแอตทริบิวต์: จำกัดการเข้าถึงให้เฉพาะกับกลุ่มหรือประเภทผู้ใช้
ทดสอบกฎ
เพื่อตรวจสอบลักษณะการทำงานของแอปโดยสมบูรณ์และยืนยัน Firebase Security Rules
ให้ใช้โปรแกรมจำลอง Firebase เพื่อเรียกใช้และทำให้หน่วยโฆษณาทำงานอัตโนมัติ
ในสภาพแวดล้อมท้องถิ่น
หากกำลังตั้งค่า Firebase Security Rules ในคอนโซล Firebase คุณสามารถใช้ เครื่องมือจำลองกฎของ Firebase เพื่อตรวจสอบลักษณะการทำงานอย่างรวดเร็ว อย่างไรก็ตาม ขอแนะนำให้ทดสอบอย่างละเอียดยิ่งขึ้นด้วยโปรแกรมจำลอง Firebase ก่อนที่คุณจะใช้งาน การเปลี่ยนแปลงเป็นเวอร์ชันที่ใช้งานจริง
ทำให้กฎใช้งานได้
ใช้คอนโซล Firebase หรือ CLI ของ Firebase เพื่อทำให้กฎใช้งานได้ สำหรับเวอร์ชันที่ใช้งานจริง ทำตามขั้นตอนที่ระบุไว้ในส่วนจัดการและทำให้ Firebase Security Rules ใช้งานได้