เริ่มต้นใช้งานกฎการรักษาความปลอดภัยของ 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 ใช้งานได้