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

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

หากต้องการความช่วยเหลือจาก AI ให้คัดลอกพรอมต์ด้านล่างลงใน เอเจนต์การเขียนโค้ด AI (เช่น Gemini ใน Android Studio, Antigravity, Claude Code, Codex และ Cursor) คุณปรับแต่งพรอมต์และทำซ้ำกับเอเจนต์ได้ ดูข้อมูลการติดตั้งโดยละเอียดได้ที่ ทักษะเอเจนต์ Firebase

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Cloud Storage data.

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

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

เริ่มต้นด้วยการเรียนรู้ไวยากรณ์หลักของFirebase Security Rules

ตั้งค่า Authentication

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

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

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

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

จัดโครงสร้างข้อมูลอย่างรอบคอบเพื่อให้สอดคล้องกับข้อกำหนดด้านความปลอดภัย

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

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

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

เข้าถึงกฎ

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

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

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

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

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

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

ทดสอบกฎ

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

นำกฎไปใช้

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