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