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

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

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

ก่อนที่คุณจะเริ่มเขียนกฎ คุณควรใช้เวลาสักครู่เพื่อตรวจสอบภาษาของกฎความปลอดภัยของ Firebase สำหรับผลิตภัณฑ์ Firebase ที่คุณใช้อยู่ ฐานข้อมูลเรียลไทม์ใช้ประโยชน์จากไวยากรณ์ที่เหมือน JavaScript และโครงสร้าง JSON สำหรับกฎ อีกวิธีหนึ่งคือ Cloud Firestore และ Cloud Storage ใช้ประโยชน์จากชุดซูเปอร์เซ็ตของ Common Expression Language (CEL) ที่อาศัย match และ allow คำสั่งที่กำหนดเงื่อนไขสำหรับการเข้าถึงตามเส้นทางที่กำหนด

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

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

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

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

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

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

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

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

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

เข้าถึงกฎของคุณ

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

ในการเข้าถึงกฎของคุณจาก คอนโซล Firebase ให้เลือกโปรเจ็กต์ของคุณ จากนั้นไปที่ Realtime Database , Cloud Firestore หรือ Storage คลิก กฎ เมื่อคุณอยู่ในฐานข้อมูลหรือที่เก็บข้อมูลที่ถูกต้อง

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

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

ขณะที่คุณกำลังพัฒนาแอปและทำความเข้าใจกฎ ให้ลองใช้ กฎความปลอดภัยพื้นฐาน สองสามข้อ รวมถึงกรณีการใช้งานต่อไปนี้:

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

ทดสอบกฎของคุณ

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

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

กฎการใช้งาน

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