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

Firebase Security Rules ให้การปกป้องข้อมูลของคุณอย่างมีประสิทธิภาพและปรับแต่งได้อย่างเต็มที่ใน Cloud Firestore, Realtime Database และ Cloud Storage คุณเริ่มต้นใช้งาน Rules ได้โดยทำตามขั้นตอนในคู่มือนี้ ซึ่งจะช่วยรักษาความปลอดภัยให้ข้อมูลและปกป้องแอปจากผู้ใช้ที่เป็นอันตราย

ทําความเข้าใจภาษา Firebase Security Rules

ก่อนเริ่มเขียนกฎ คุณควรใช้เวลาสักครู่เพื่ออ่านFirebase Security Rulesภาษาเฉพาะสำหรับผลิตภัณฑ์ Firebase ที่คุณใช้ Realtime Databaseใช้ประโยชน์จากไวยากรณ์และโครงสร้าง JSON ที่คล้ายกับ JavaScript สำหรับ Rules หรือ Cloud Firestore และ Cloud Storage จะใช้ชุดที่ใหญ่กว่าของ Common Expression Language (CEL) ซึ่งอาศัยคำสั่ง match และ allow ที่กำหนดเงื่อนไขการเข้าถึงที่เส้นทางที่กําหนด

ดูข้อมูลเพิ่มเติมเกี่ยวกับภาษา Firebase Security Rules

ตั้งค่า Authentication

โปรดระบุผู้ใช้ด้วย Firebase Authentication หากยังไม่ได้ดำเนินการ Firebase Authentication รองรับวิธีการตรวจสอบสิทธิ์ทั่วไปหลายวิธีและผสานรวมกับ Firebase Security Rules เพื่อให้สามารถยืนยันได้อย่างครอบคลุม

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Firebase Security Rules และ Firebase Authentication

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

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

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

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

เข้าถึงกฎ

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

หากต้องการเข้าถึงกฎจากคอนโซล Firebase ให้เลือกโปรเจ็กต์ แล้วไปที่ Realtime Database, Cloud Firestore หรือพื้นที่เก็บข้อมูล คลิกกฎเมื่อคุณอยู่ในฐานข้อมูลหรือที่เก็บข้อมูลถังที่ถูกต้อง

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

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

ขณะพัฒนาแอปและทำความเข้าใจ Rules ให้ลองใช้กฎความปลอดภัยพื้นฐาน 2-3 ข้อ รวมถึงกรณีการใช้งานต่อไปนี้

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

ทดสอบกฎ

หากต้องการตรวจสอบลักษณะการทํางานของแอปและยืนยันการกําหนดค่า Firebase Security Rules
อย่างเต็มรูปแบบ ให้ใช้ Firebase Emulator เพื่อเรียกใช้และทําการทดสอบหน่วยแบบอัตโนมัติในสภาพแวดล้อมภายใน

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

ใช้งานกฎ

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