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

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

ทำความเข้าใจภาษาของกฎการรักษาความปลอดภัยของ Firebase

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

เริ่มด้วยการเรียนรู้ไวยากรณ์หลักของภาษาของกฎการรักษาความปลอดภัยของ Firebase

ตั้งค่าการตรวจสอบสิทธิ์

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

คุณตั้งค่าข้อมูลการตรวจสอบสิทธิ์เพิ่มเติมที่กําหนดเองสําหรับแอปได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับกฎการรักษาความปลอดภัยของ Firebase และการตรวจสอบสิทธิ์ Firebase

กำหนดโครงสร้างข้อมูลและกฎของคุณ

ระบุข้อมูลเพื่อความปลอดภัย

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

เช่น ใน Realtime Database คุณอาจต้องการใส่ ฟิลด์ที่แสดงบทบาทเฉพาะสำหรับผู้ใช้แต่ละคน จากนั้นกฎจะอ่าน ช่องดังกล่าวและใช้เพื่อให้สิทธิ์เข้าถึงตามบทบาท

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

เข้าถึงกฎ

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

ในการเข้าถึงกฎจากคอนโซล Firebase ให้เลือก โปรเจ็กต์ จากนั้นในแผงการนำทางด้านซ้าย ให้คลิก Realtime Database คลิกกฎเมื่อ ในฐานข้อมูลหรือที่เก็บข้อมูลของพื้นที่เก็บข้อมูลที่ถูกต้อง

ในการเข้าถึงกฎจาก Firebase CLI ให้ไปที่ ในไฟล์กฎที่ระบุไว้ในไฟล์ firebase.json

เขียนกฎพื้นฐาน

ในขณะที่พัฒนาแอปและทำความเข้าใจกฎ ให้ลอง การใช้กฎเพื่อจัดการกับ Use Case พื้นฐาน 2-3 กรณี ซึ่งรวมถึงรายการต่อไปนี้

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

ทดสอบกฎ

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

ทำให้กฎใช้งานได้

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