พรอมต์นี้ช่วยให้ผู้ช่วย AI (เช่น Google Antigravity) สร้างและปรับแต่ง Firebase Security Rules สำหรับแอปได้ คุณสามารถใช้พรอมต์ เพื่อร่าง Security Rules สำหรับกรณีการใช้งานทั่วไป เช่น การให้สิทธิ์เข้าถึงเฉพาะผู้ใช้ การใช้สิทธิ์ตามบทบาท และการตรวจสอบข้อมูล
พรอมต์นี้มุ่งเน้นที่การสร้าง Security Rules สำหรับบริการต่อไปนี้
- Cloud Firestore: คอลเล็กชันและเอกสารที่ปลอดภัยตามตรรกะของแอป
- Cloud Storage for Firebase: ตรวจสอบสิทธิ์เข้าถึง ไฟล์ที่จัดเก็บไว้
การใช้พรอมต์นี้จะช่วยให้คุณเริ่มต้นใช้งานด้วยท่าทีที่ปลอดภัย แต่ คุณควรทดสอบ Security Rules อย่างละเอียดก่อนที่จะติดตั้งใช้งานใน เวอร์ชันที่ใช้งานจริงเสมอ ดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบ Security Rules ได้ที่ เริ่มต้นใช้งาน Firebase Security Rules: ทดสอบ Security Rules
ข้อกำหนดเบื้องต้น
- ทำความคุ้นเคยกับ Firebase Security Rulesแนวทางปฏิบัติแนะนำ
- หากต้องการเรียกใช้ Unit Test สำหรับ Firebase Security Rules และใช้ Firebase Local Emulator Suite, ติดตั้ง Node.js และ Firebase CLI ดูวิธีการฉบับเต็มได้ที่ ติดตั้ง กำหนดค่า และผสานรวม Firebase Local Emulator Suite
- แนะนำ: ติดตั้ง หากยังไม่ได้ติดตั้งAntigravity
วิธีการต่อไปนี้จะอธิบายวิธีเปิดใช้และใช้ทักษะของ Firebase
Agent และเซิร์ฟเวอร์ MCP เพื่อสร้าง Security Rules หากต้องการ
ใช้ Agent การเขียนโค้ดด้วย AI อื่น ให้คัดลอก
และวางพรอมต์สำหรับ
Cloud Firestore
หรือ
Cloud Storage for Firebase
จากที่เก็บ
firebase-toolsลงใน Agent การเขียนโค้ดด้วย AI ที่คุณเลือก - ทักษะของ Firebase Agent และเซิร์ฟเวอร์ MCP ทำงานร่วมกันเพื่อเข้าถึงพรอมต์ ที่สร้างและตรวจสอบ Firebase Security Rules รวมถึงช่วยในการทดสอบและ ติดตั้งใช้งาน Security Rules ติดตั้งเซิร์ฟเวอร์ Firebase MCP ก่อนใช้เครื่องมือเหล่านี้เพื่อสร้าง 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 (ซึ่งอธิบายไว้ในหน้านี้)
ใช้พรอมต์
ความสามารถนี้จะใช้ได้เมื่อใช้
เซิร์ฟเวอร์ Firebase MCP และ
ทักษะของ Firebase Agent กับ
ผู้ช่วย AI ที่เข้ากันได้ (เช่น Antigravity) เพื่อสร้าง Security Rules และ
การทดสอบ เครื่องมือเหล่านี้
จะวิเคราะห์ซอร์สโค้ดเพื่อช่วยระบุสคีมาของข้อมูลและรูปแบบการเข้าถึงสำหรับ
Cloud Firestore และ Cloud Storage โดยได้รับการออกแบบมาเพื่อร่างSecurity Rules
ตามหลักการให้สิทธิ์ขั้นต่ำที่สุดและพยายามค้นหา
ช่องโหว่ผ่านการจำลองการ "โจมตี" แบบวนซ้ำ เครื่องมือเหล่านี้มีชุดโปรแกรมทดสอบ Unit Test เริ่มต้นโดยใช้
@firebase/rules-unit-testing เพื่อช่วยในการตรวจสอบขั้นสุดท้าย
ซึ่งช่วยให้คุณตรวจสอบตรรกะความปลอดภัยในเครื่องได้โดยใช้ Firebase Local Emulator Suite
การใช้เครื่องมือเหล่านี้ต้องทำ 3 ขั้นตอนตามที่อธิบายไว้ในส่วนนี้
ขั้นตอนที่ 1: สร้าง Security Rules และการทดสอบ
ตั้งค่าและเรียกใช้เครื่องมือโดยทำดังนี้
เปิดใช้ทักษะของ Firebase Agent โดยทำดังนี้
Google Antigravity: โปรดดู วิธีการตั้งค่า เพื่อเปิดใช้ชุดการผสานรวม Firebase หากใช้ CLI คุณสามารถเปิดใช้ทักษะได้โดยเรียกใช้คำสั่งต่อไปนี้
npx skills add firebase/agent-skills --agent=antigravityAgent การเขียนโค้ดด้วย AI อื่นๆ: ทำตามวิธีการสำหรับ ทักษะของ Agent และ เซิร์ฟเวอร์ MCP
เริ่มผู้ช่วย AI (เช่น เรียกใช้
agyในเทอร์มินัลสำหรับ CLI หรือเปิดแอปพลิเคชันเดสก์ท็อป)จากรูทของโปรเจ็กต์ ให้ขอให้ Agent สร้าง Security Rules สำหรับ Cloud Firestore หรือ Cloud Storage โดยอิงตามวิธีที่ Agent การเขียนโค้ดด้วย AI โต้ตอบกับพรอมต์ MCP โดยทำดังนี้
สำหรับ Agent การเขียนโค้ดที่ใช้ภาษาธรรมชาติ (เช่น Antigravity), ให้พรอมต์ Agent โดยใช้ภาษาธรรมชาติ
สร้าง Security Rules สำหรับ Cloud Firestore:
Generate Firestore security rules for this project, then run the unit tests.ในไดเรกทอรีระดับบน Agent จะสร้างไฟล์
firestore.rulesและไดเรกทอรีsecurity_rules_test_firestoreใหม่ที่มีโปรเจ็กต์ Node.js พร้อม Unit Test สำหรับ Security Rules ที่สร้างขึ้นสร้าง Security Rules สำหรับ Cloud Storage for Firebase:
Generate Cloud Storage security rules for this project, then run the unit tests.ในไดเรกทอรีระดับบน Agent จะสร้างไฟล์
storage.rulesและไดเรกทอรีsecurity_rules_test_storageใหม่ที่มีโปรเจ็กต์ Node.js พร้อม Unit Test สำหรับ 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 การตรวจสอบและผลการทดสอบ
ตรวจสอบว่า Agent การเขียนโค้ดด้วย AI ได้ดำเนินการต่อไปนี้ คุณควรได้รับสรุปที่สร้างขึ้นหลังจากที่เครื่องมือทำงาน
การตรวจสอบไวยากรณ์: หลังจากสร้างSecurity Rulesแล้ว Agent การเขียนโค้ดด้วย AI ของคุณจะตรวจสอบไวยากรณ์โดยอัตโนมัติโดยใช้คำสั่ง
firebase_validate_security_rulesจากเซิร์ฟเวอร์ Firebase MCPUnit Test: หลังจากตรวจสอบไวยากรณ์แล้ว Agent การเขียนโค้ดด้วย AI จะพยายาม เรียกใช้ Unit Test ที่สร้างขึ้นโดยใช้ 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