เริ่มต้นใช้งานกฎการรักษาความปลอดภัยของ Firebase

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 ใช้งานได้