Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

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

ก่อนที่คุณจะเริ่มเขียนกฎ คุณควรใช้เวลาสักครู่เพื่อตรวจสอบภาษาของกฎความปลอดภัยของ Firebase สำหรับผลิตภัณฑ์ Firebase ที่คุณใช้อยู่ ฐานข้อมูลเรียลไทม์ใช้ประโยชน์จากไวยากรณ์ที่เหมือน JavaScript และโครงสร้าง JSON สำหรับกฎ อีกวิธีหนึ่งคือ Cloud Firestore และ Cloud Storage ใช้ประโยชน์จากชุด superset ของ 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 Security Rules