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 ที่คุณใช้อยู่ Cloud Storage ใช้ประโยชน์จากชุด superset ของ Common Expression Language (CEL) ที่อาศัย match และ allow คำสั่งที่กำหนดเงื่อนไขสำหรับการเข้าถึงตามเส้นทางที่กำหนด

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

กฎการใช้งาน

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