พรอมต์นี้จะช่วยผู้ช่วย AI เช่น Gemini CLI สร้างและปรับแต่ง Firebase Security Rules สำหรับแอปของคุณได้ คุณสามารถใช้พรอมต์ เพื่อร่าง Rules สำหรับกรณีการใช้งานทั่วไป เช่น การให้สิทธิ์เข้าถึง เฉพาะผู้ใช้ การใช้สิทธิ์ตามบทบาท และการตรวจสอบข้อมูล
พรอมต์นี้มุ่งเน้นที่การสร้าง Rules สำหรับ
- Cloud Firestore: รักษาความปลอดภัยของคอลเล็กชันและเอกสารตามตรรกะของแอป
- Cloud Storage for Firebase: ตรวจสอบสิทธิ์การเข้าถึงไฟล์ที่จัดเก็บไว้
การใช้พรอมต์นี้จะช่วยให้คุณเริ่มต้นด้วยท่าทางด้านความปลอดภัยที่แข็งแกร่ง แต่คุณควรทดสอบ Rules อย่างละเอียดก่อนที่จะนำไปใช้งานจริงเสมอ ดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบ Rules ได้ที่ เริ่มต้นใช้งาน Firebase Security Rules: ทดสอบกฎ
ข้อกำหนดเบื้องต้น
- ทำความคุ้นเคยกับแนวทางปฏิบัติแนะนำสำหรับกฎความปลอดภัย
- หากต้องการเรียกใช้การทดสอบหน่วยสำหรับ Firebase Security Rules และใช้ Firebase Local Emulator Suite ให้ ติดตั้ง Node.js และ Firebase CLI ดูวิธีการทั้งหมดได้ที่หัวข้อ ติดตั้ง กำหนดค่า และผสานรวม Local Emulator Suite
- แนะนำ: หากยังไม่ได้ดำเนินการ ให้ ติดตั้ง Gemini CLI คำสั่งต่อไปนี้อธิบายวิธีติดตั้งและใช้Gemini CLI ส่วนขยายเพื่อสร้าง Rules หากต้องการใช้ผู้ช่วย AI อื่น ให้คัดลอกและวางพรอมต์จาก ที่เก็บลงใน ผู้ช่วย AI ที่เลือก
- Gemini CLI ส่วนขยายนี้ใช้เซิร์ฟเวอร์ MCP ของ Firebase เพื่อตรวจสอบความถูกต้องของ Firebase Security Rules ที่สร้างขึ้น นอกจากนี้ คุณยังใช้เซิร์ฟเวอร์ MCP เพื่อทดสอบและ ติดตั้งใช้งาน Rules ได้ง่ายขึ้นด้วย ติดตั้งเซิร์ฟเวอร์ MCP ของ Firebase ก่อนใช้ส่วนขยายเพื่อสร้าง Firebase Security Rules
ข้อจำกัด
เรากำลังปรับปรุงประสบการณ์การใช้งานนี้อย่างต่อเนื่อง ดังนั้นรายการข้อจำกัดนี้อาจมีการเปลี่ยนแปลง โปรดกลับมาดูข้อมูลอัปเดตบ่อยๆ
- Gemini ใน Firebase สร้าง Firebase Security Rules ไม่ได้ ใช้ผู้ช่วย AI อื่น เช่น Gemini CLI
- พรอมต์นี้ออกแบบมาเพื่อสร้าง Firebase Security Rules สำหรับ Cloud Firestore และ Cloud Storage for Firebase แต่ยังสร้างRulesสำหรับ Firebase Realtime Database ไม่ได้
- Firebase Security Rules จะไม่เรียกใช้เมื่อเข้าถึงฐานข้อมูลหรือที่เก็บข้อมูลจากเซิร์ฟเวอร์หรือสภาพแวดล้อมแบ็กเอนด์อื่นๆ เช่น เมื่อใช้ Firebase Admin SDK หากใช้ Admin SDK คุณมีหน้าที่รับผิดชอบในการจัดการการให้สิทธิ์และการตรวจสอบข้อมูลในโค้ดแบ็กเอนด์
ใช้พรอมต์
ใช้ส่วนขยายเวอร์ชันทดลองGemini CLI สำหรับ Firebase Security Rules เพื่อสร้างกฎและการทดสอบ
ส่วนขยายนี้จะวิเคราะห์ซอร์สโค้ดเพื่อช่วยระบุสคีมาข้อมูลและ รูปแบบการเข้าถึงสำหรับ Cloud Firestore และ Cloud Storage โดยออกแบบมาเพื่อร่าง Rulesตามหลักการให้สิทธิ์ขั้นต่ำที่สุด และพยายาม ค้นพบช่องโหว่ผ่านการจำลอง "การโจมตี" แบบวนซ้ำ เพื่อช่วยในการยืนยันขั้นสุดท้าย ระบบจะจัดชุดการทดสอบหน่วยเริ่มต้นให้โดยใช้
@firebase/rules-unit-testingซึ่งช่วยให้คุณยืนยันตรรกะด้านความปลอดภัยได้ในเครื่องโดยใช้ Firebase Local Emulator Suiteวิธีติดตั้งและใช้ส่วนขยาย
ติดตั้งส่วนขยาย Gemini CLI โดยทำดังนี้
gemini extensions install https://github.com/firebase/snippets-rulesเปิด Gemini CLI
gemini
จากรูทของโปรเจ็กต์ ให้เรียกใช้ส่วนขยายเพื่อสร้างกฎ สำหรับ Cloud Firestore
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDหรือสร้างกฎสำหรับ Cloud Storage โดยทำดังนี้
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
ส่วนขยายจะสร้างไดเรกทอรี
rules_testสำหรับ Cloud Firestore หรือไดเรกทอรีstorage_rules_testสำหรับ Cloud Storage ในรูทของโปรเจ็กต์ ไดเรกทอรีใหม่นี้มีไฟล์.rulesที่สร้างขึ้นพร้อมกับ โปรเจ็กต์ Node.js ที่มีการทดสอบหน่วยตรวจสอบการตรวจสอบความถูกต้องของกฎและผลการทดสอบ
- การตรวจสอบไวยากรณ์ - หลังจากสร้างกฎแล้ว Gemini CLI
จะตรวจสอบไวยากรณ์โดยอัตโนมัติโดยใช้คำสั่ง
firebase_validate_security_rulesจากเซิร์ฟเวอร์ MCP ของ Firebase - การทดสอบหน่วย - หลังจากตรวจสอบไวยากรณ์แล้ว Gemini CLI จะพยายามเรียกใช้ การทดสอบหน่วยที่สร้างขึ้นโดยใช้ Firebase Local Emulator Suite หากต้องการให้การทดสอบทำงาน คุณต้องเรียกใช้ Firebase Local Emulator Suite ในเทอร์มินัลแยกต่างหาก
หากการทดสอบไม่ทำงานโดยอัตโนมัติ ให้เริ่ม Firebase Local Emulator Suite ใน เทอร์มินัลแยกต่างหาก จากนั้นใช้ ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้เพื่อเรียกใช้การทดสอบ
* Instruct Gemini CLI to run tests: ```none Firebase Emulator Suite is running in a separate terminal. Please execute the tests. ``` * Run tests manually by following the instructions in the `README.md` file in the `rules_test` or `storage_rules_test` directory.- การตรวจสอบไวยากรณ์ - หลังจากสร้างกฎแล้ว Gemini CLI
จะตรวจสอบไวยากรณ์โดยอัตโนมัติโดยใช้คำสั่ง
เมื่อพอใจกับผลลัพธ์ของ Rules ที่สร้างขึ้นแล้ว ให้ใช้คำสั่ง CLI Firebase ต่อไปนี้เพื่อทำให้ Rules ใช้งานได้
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
firebase deploy --only storage
แหล่งข้อมูลเพิ่มเติม
- หากต้องการความช่วยเหลือเพิ่มเติมเกี่ยวกับท่าทีด้านความปลอดภัย คุณยังใช้ส่วนขยายความปลอดภัยสำหรับ Gemini CLI ซึ่งเป็นส่วนขยายโอเพนซอร์สที่วิเคราะห์การเปลี่ยนแปลงโค้ดเพื่อระบุความเสี่ยงด้านความปลอดภัย และช่องโหว่ได้ด้วย