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

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

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

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

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

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

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

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

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

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

กำหนดข้อมูลเพื่อความปลอดภัย

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

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

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

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

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

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

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

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

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

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

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

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

กฎการใช้งาน

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