พรอมต์นี้จะช่วยให้ผู้ช่วย AI (เช่น Gemini CLI) สร้างและปรับแต่ง 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แนวทางปฏิบัติแนะนำ
- หากต้องการเรียกใช้การทดสอบหน่วยสำหรับ Firebase Security Rules และใช้ Firebase Local Emulator Suite ให้ ติดตั้ง Node.js และ Firebase CLI โปรดดูวิธีการทั้งหมดในหัวข้อติดตั้ง กำหนดค่า และผสานรวม Firebase Local Emulator Suite
- แนะนำ: หากยังไม่ได้ดำเนินการ ให้
ติดตั้ง Gemini CLI
วิธีการต่อไปนี้จะอธิบายวิธีติดตั้งและใช้ส่วนขยาย Firebase สำหรับ Gemini CLI เพื่อสร้าง Security Rules หากต้องการใช้ผู้ช่วย AI อื่น ให้คัดลอกและวางพรอมต์สำหรับ
Cloud Firestore
หรือ
Cloud Storage for Firebase
จากที่เก็บ
firebase-toolsลงในผู้ช่วย AI ที่เลือก - ส่วนขยาย Firebase สำหรับ Gemini CLI จะเชื่อมต่อกับเซิร์ฟเวอร์ MCP ของ Firebase เพื่อเข้าถึงพรอมต์ที่สร้างและตรวจสอบ 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 อื่นที่มีสิทธิ์เข้าถึงโค้ดเบสของคุณแทน เช่น Gemini CLI (ซึ่งอธิบายไว้ในหน้านี้)
ใช้พรอมต์
พรอมต์นี้พร้อมใช้งานผ่านSecurity Rulesความสามารถภายใน
ส่วนขยาย Firebase สำหรับ Gemini CLI
เพื่อสร้างSecurity Rulesและการทดสอบ ส่วนขยายนี้จะวิเคราะห์ซอร์สโค้ดเพื่อช่วยระบุสคีมาข้อมูลและรูปแบบการเข้าถึงสำหรับ Cloud Firestore และ
Cloud Storage โดยออกแบบมาเพื่อร่าง Security Rules ตามหลักการ
สิทธิ์น้อยที่สุด และพยายามค้นหาช่องโหว่ผ่านการจำลอง "การโจมตี" แบบวนซ้ำ
เพื่อช่วยในการยืนยันขั้นสุดท้าย ชุดทดสอบหน่วยเริ่มต้นจะใช้ @firebase/rules-unit-testing เพื่อให้คุณยืนยันตรรกะความปลอดภัยในเครื่องได้โดยใช้ Firebase Local Emulator Suite
การใช้ส่วนขยายนี้ต้องทำ 3 ขั้นตอนตามที่อธิบายไว้ในส่วนนี้
ขั้นตอนที่ 1: สร้าง Security Rules และการทดสอบ
ติดตั้งและเรียกใช้ส่วนขยายโดยทำดังนี้
ติดตั้งส่วนขยาย Firebase สำหรับ Gemini CLI ดังนี้
gemini extensions install https://github.com/gemini-cli-extensions/firebaseเริ่ม Gemini CLI:
geminiจากรูทของโปรเจ็กต์ ให้เรียกใช้ส่วนขยายเพื่อสร้าง Security Rules สำหรับ Cloud Firestore หรือ Cloud Storage
สร้าง Security Rules สำหรับ Cloud Firestore
/firestore:generate_security_rulesในไดเรกทอรีหลัก ส่วนขยายจะสร้างไฟล์
firestore.rulesและไดเรกทอรีsecurity_rules_test_firestoreใหม่ที่มี โปรเจ็กต์ Node.js พร้อมการทดสอบหน่วยสำหรับ Security Rules ที่สร้างขึ้นสร้าง Security Rules สำหรับ Cloud Storage for Firebase
/storage:generate_security_rulesในไดเรกทอรีระดับบน ส่วนขยายจะสร้างไฟล์
storage.rulesและ ไดเรกทอรีsecurity_rules_test_storageใหม่ที่มีโปรเจ็กต์ Node.js พร้อมการทดสอบหน่วยสำหรับ Security Rules ที่สร้างขึ้น
ขั้นตอนที่ 2: ตรวจสอบผลการตรวจสอบSecurity Rulesและความถูกต้อง
ตรวจสอบว่าผู้ช่วย AI ของคุณได้ทำสิ่งต่อไปนี้ คุณควรได้รับ ข้อมูลสรุปที่สร้างขึ้นหลังจากที่ส่วนขยายทำงาน
การตรวจสอบไวยากรณ์: หลังจากสร้าง Security Rules แล้ว Gemini CLI จะตรวจสอบไวยากรณ์โดยอัตโนมัติโดยใช้คำสั่ง
firebase_validate_security_rulesจากเซิร์ฟเวอร์ Firebase MCPการทดสอบหน่วย: หลังจากตรวจสอบไวยากรณ์แล้ว Gemini CLI จะพยายามเรียกใช้ การทดสอบหน่วยที่สร้างขึ้นโดยใช้ Firebase Local Emulator Suite
หากการทดสอบไม่ทำงานโดยอัตโนมัติ ให้เริ่ม Firebase Local Emulator Suite ในเทอร์มินัลแยกต่างหาก จากนั้นใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้เพื่อเรียกใช้การทดสอบ
ตัวเลือกที่ 1: สั่งให้ Gemini CLI เรียกใช้การทดสอบ
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
แหล่งข้อมูลเพิ่มเติม
- หากต้องการความช่วยเหลือเพิ่มเติมเกี่ยวกับระดับการรักษาความปลอดภัย คุณยังใช้ส่วนขยายความปลอดภัยสำหรับ Gemini CLI ซึ่งเป็นส่วนขยายโอเพนซอร์สที่วิเคราะห์การเปลี่ยนแปลงโค้ดเพื่อระบุความเสี่ยงด้านความปลอดภัย และช่องโหว่ได้ด้วย