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, Realtime Database และ Cloud Storage คุณสามารถเริ่มต้นใช้งาน Rules ได้ง่ายๆ โดยทำตามขั้นตอนในคู่มือนี้ รักษาความปลอดภัยข้อมูลและปกป้องแอปของคุณจากผู้ใช้ที่ประสงค์ร้าย

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

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