พรอมต์นี้จะช่วยให้ผู้ช่วย AI (เช่น Google Antigravity) สร้างและปรับแต่ง Firebase Security Rules สำหรับแอปได้ คุณสามารถใช้พรอมต์ เพื่อร่าง Security Rules สำหรับ Use Case ทั่วไป เช่น การให้สิทธิ์เข้าถึงเฉพาะผู้ใช้ การใช้สิทธิ์ตามบทบาท และการตรวจสอบข้อมูล
พรอมต์นี้มุ่งเน้นที่การสร้าง Security Rules สำหรับ
- Cloud Firestore: รักษาความปลอดภัยของคอลเล็กชันและเอกสารตามตรรกะของแอป
- Cloud Storage for Firebase: ตรวจสอบสิทธิ์การเข้าถึงไฟล์ที่จัดเก็บ
การใช้พรอมต์นี้จะช่วยให้คุณเริ่มต้นด้วยท่าทางด้านความปลอดภัยที่แข็งแกร่ง แต่คุณควรทดสอบSecurity Rulesอย่างละเอียดก่อนที่จะนำไปใช้ในเวอร์ชันที่ใช้งานจริงเสมอ ดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบ Security Rules ได้ที่ เริ่มต้นใช้งาน Firebase Security Rules: ทดสอบ Security Rules
ข้อกำหนดเบื้องต้น
- ทำความคุ้นเคยกับFirebase Security Rulesแนวทางปฏิบัติแนะนำ
- หากต้องการเรียกใช้การทดสอบหน่วยสำหรับ Firebase Security Rules และใช้ Firebase Local Emulator Suite ให้ ติดตั้ง Node.js และ Firebase CLI โปรดดูวิธีการทั้งหมดในหัวข้อติดตั้ง กำหนดค่า และผสานรวม Firebase Local Emulator Suite
- แนะนำ: หากยังไม่ได้ดำเนินการ ให้
ติดตั้ง Antigravity
วิธีการต่อไปนี้จะอธิบายวิธีเปิดใช้และใช้ทักษะของเอเจนต์ Firebase
และเซิร์ฟเวอร์ MCP เพื่อสร้าง Security Rules หากต้องการใช้ Agent การเขียนโค้ด AI อื่น คุณสามารถคัดลอกและวางพรอมต์สำหรับ Cloud Firestore
หรือ Cloud Storage for Firebase
จากที่เก็บ
firebase-toolsลงใน Agent การเขียนโค้ด AI ที่เลือกได้ - ทักษะของตัวแทน Firebase และเซิร์ฟเวอร์ MCP ทำงานร่วมกันเพื่อเข้าถึงพรอมต์ ที่สร้างและตรวจสอบ Firebase Security Rules รวมถึงช่วยในการทดสอบและการ ติดตั้งใช้งาน Security Rules ติดตั้งเซิร์ฟเวอร์ MCP ของ Firebase ก่อนใช้เครื่องมือเหล่านี้เพื่อสร้าง Firebase Security Rules
ข้อจำกัด
เรากำลังปรับปรุงประสบการณ์การใช้งานนี้อย่างต่อเนื่อง ดังนั้นรายการข้อจำกัดนี้อาจมีการเปลี่ยนแปลง โปรดกลับมาดูข้อมูลอัปเดตบ่อยๆ
พรอมต์นี้ออกแบบมาเพื่อสร้าง Firebase Security Rules สำหรับ Cloud Firestore และ Cloud Storage for Firebase แต่ยังสร้างSecurity Rulesสำหรับ Firebase Realtime Database ไม่ได้
Firebase Security Rules จะไม่เรียกใช้เมื่อเข้าถึงฐานข้อมูลหรือที่เก็บข้อมูลจากเซิร์ฟเวอร์ หรือสภาพแวดล้อมแบ็กเอนด์อื่นๆ เช่น เมื่อใช้ Firebase Admin SDK หากคุณใช้ Admin SDK คุณมีหน้าที่รับผิดชอบในการจัดการการให้สิทธิ์ และการตรวจสอบข้อมูลในโค้ดแบ็กเอนด์
Gemini ใน Firebase ภายใน Firebase คอนโซลไม่สามารถสร้าง Firebase Security Rules ได้ แม้ว่าจะใช้พรอมต์นี้ก็ตาม แต่ให้ใช้ผู้ช่วย AI อื่นที่มีสิทธิ์เข้าถึงโค้ดเบสของคุณแทน เช่น Antigravity (ซึ่งอธิบายไว้ในหน้านี้)
ใช้พรอมต์
ความสามารถนี้จะพร้อมใช้งานเมื่อใช้เซิร์ฟเวอร์ MCP ของ Firebase และทักษะของเอเจนต์ Firebase กับAntigravityผู้ช่วย AI ที่เข้ากันได้ (เช่น Antigravity) เพื่อสร้าง Security Rules และการทดสอบ เครื่องมือเหล่านี้
จะวิเคราะห์ซอร์สโค้ดเพื่อช่วยระบุสคีมาข้อมูลและรูปแบบการเข้าถึงสำหรับ
Cloud Firestore และ Cloud Storage โดยออกแบบมาเพื่อร่างSecurity Rules
ตามหลักการให้สิทธิ์ขั้นต่ำที่สุด และพยายามค้นหาช่องโหว่
ผ่านการจำลอง "การโจมตี" แบบวนซ้ำ เพื่อช่วยในการยืนยันขั้นสุดท้าย
ทีมจะจัดชุดทดสอบหน่วยเริ่มต้นให้โดยใช้
@firebase/rules-unit-testing ซึ่งช่วยให้คุณยืนยันตรรกะด้านความปลอดภัย
ในเครื่องได้โดยใช้ Firebase Local Emulator Suite
การใช้เครื่องมือเหล่านี้ต้องทำ 3 ขั้นตอนตามที่อธิบายไว้ในส่วนนี้
ขั้นตอนที่ 1: สร้าง Security Rules และการทดสอบ
ตั้งค่าและเรียกใช้เครื่องมือ
เปิดใช้ทักษะของตัวแทน Firebase โดยทำดังนี้
Google Antigravity: ดูวิธีการตั้งค่า เพื่อเปิดใช้ชุดการผสานรวม Firebase หากใช้ CLI คุณจะ เปิดใช้ทักษะได้โดยการเรียกใช้คำสั่งต่อไปนี้
npx skills add firebase/agent-skills --agent=antigravityเอเจนต์การเขียนโค้ด AI อื่นๆ: ทำตามวิธีการสำหรับ ทักษะของเอเจนต์และ เซิร์ฟเวอร์ MCP
เริ่มผู้ช่วย AI (เช่น เรียกใช้
agyในเทอร์มินัลสำหรับ CLI หรือเปิดแอปพลิเคชันเดสก์ท็อป)จากรูทของโปรเจ็กต์ ให้ขอเอเจนต์สร้าง Security Rules สำหรับ Cloud Firestore หรือ Cloud Storage โดยขึ้นอยู่กับวิธีที่เอเจนต์การเขียนโค้ด AI โต้ตอบกับพรอมต์ MCP
สำหรับ Agent การเขียนโค้ดที่ใช้ภาษาธรรมชาติ (เช่น Antigravity) ให้พรอมต์ Agent โดยใช้ภาษาธรรมชาติ
สร้าง Security Rules สำหรับ Cloud Firestore
Generate Firestore security rules for this project, then run the unit tests.ในไดเรกทอรีระดับบน ตัวแทนจะสร้างไฟล์
firestore.rulesและไดเรกทอรีsecurity_rules_test_firestoreใหม่ที่มี โปรเจ็กต์ Node.js พร้อมการทดสอบหน่วยสำหรับ Security Rules ที่สร้างขึ้นสร้าง Security Rules สำหรับ Cloud Storage for Firebase
Generate Cloud Storage security rules for this project, then run the unit tests.ในไดเรกทอรีระดับบน ตัวแทนจะสร้างไฟล์
storage.rulesและไดเรกทอรีsecurity_rules_test_storageใหม่ที่มี โปรเจ็กต์ Node.js พร้อมการทดสอบหน่วยสำหรับ Security Rules ที่สร้างขึ้น
สำหรับ Agent การเขียนโค้ดที่รองรับคำสั่งเครื่องหมายทับ (เช่น Claude Code) ให้ใช้คำสั่งต่อไปนี้
สร้าง Security Rules สำหรับ Cloud Firestore
/firestore:generate_security_rulesสร้าง Security Rules สำหรับ Cloud Storage for Firebase
/storage:generate_security_rules
สำหรับ Agent การเขียนโค้ดที่ไม่รองรับการผสานรวมพรอมต์ MCP คุณสามารถ คัดลอกเทมเพลตพรอมต์ดิบจากที่เก็บ
firebase-toolsและ วางลงในแชทของ Agent- สร้าง Security Rules สำหรับ Cloud Firestore: คัดลอกพรอมต์จาก Cloud Firestore
- สร้าง Security Rules สำหรับ Cloud Storage for Firebase: คัดลอกพรอมต์จาก Cloud Storage for Firebase
ขั้นตอนที่ 2: ตรวจสอบSecurity Rulesผลการตรวจสอบและความถูกต้อง
ตรวจสอบว่าเอเจนต์การเขียนโค้ด AI ของคุณได้ทำสิ่งต่อไปนี้ คุณควรได้รับ ข้อมูลสรุปที่สร้างขึ้นหลังจากที่เครื่องมือทำงาน
การตรวจสอบไวยากรณ์: หลังจากสร้าง Security Rules แล้ว เอเจนต์การเขียนโค้ด AI จะตรวจสอบไวยากรณ์โดยอัตโนมัติโดยใช้คำสั่ง
firebase_validate_security_rulesจากเซิร์ฟเวอร์ Firebase MCPการทดสอบหน่วย: หลังจากตรวจสอบไวยากรณ์แล้ว เอเจนต์การเขียนโค้ด AI จะพยายาม เรียกใช้การทดสอบหน่วยที่สร้างขึ้นโดยใช้ Firebase Local Emulator Suite
หากการทดสอบไม่ทำงานโดยอัตโนมัติ ให้ เริ่ม Firebase Local Emulator Suite ในเทอร์มินัลแยกต่างหาก จากนั้นใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้เพื่อเรียกใช้การทดสอบ
ตัวเลือกที่ 1: สั่งให้ผู้ช่วย AI ทำการทดสอบ
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.ตัวเลือกที่ 2: เรียกใช้การทดสอบด้วยตนเองโดยทำตามวิธีการในไฟล์
README.mdในไดเรกทอรีrules_testหรือstorage_rules_test
ขั้นตอนที่ 3: นำ Security Rules ไปใช้ในโปรเจ็กต์ Firebase
เมื่อพอใจกับผลลัพธ์ของ Security Rules ที่สร้างขึ้นแล้ว ให้ใช้คำสั่ง CLI ต่อไปนี้เพื่อทำให้ Security Rules ใช้งานได้ในโปรเจ็กต์ FirebaseFirebase
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage