พรอมต์ AI: เขียนกฎการรักษาความปลอดภัยของ Firebase

พรอมต์นี้จะช่วยให้ผู้ช่วย 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 ให้ติดตั้ง Antigravity วิธีการต่อไปนี้อธิบายวิธีเปิดใช้และใช้ทักษะเอเจนต์ Firebase และเซิร์ฟเวอร์ MCP เพื่อสร้าง Security Rules หากต้องการใช้ Agent การเขียนโค้ดด้วย AI รายอื่น คุณสามารถคัดลอกและวางพรอมต์สำหรับ Cloud Firestore หรือ Cloud Storage for Firebase จากที่เก็บ firebase-tools ลงใน Agent การเขียนโค้ดด้วย AI ที่คุณเลือก
  • ทักษะเอเจนต์ Firebase และเซิร์ฟเวอร์ 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 กับผู้ช่วย AI ที่เข้ากันได้ (เช่น Antigravity) เพื่อสร้าง Security Rules และการทดสอบ เครื่องมือเหล่านี้จะวิเคราะห์ซอร์สโค้ดเพื่อช่วยระบุสคีมาข้อมูลและรูปแบบการเข้าถึงสำหรับ Cloud Firestore และ Cloud Storage โดยออกแบบมาเพื่อร่างSecurity Rulesตามหลักการให้สิทธิ์ขั้นต่ำที่สุดและพยายามค้นหาช่องโหว่ผ่านการจำลอง "การโจมตี" ซ้ำๆ เพื่อช่วยในการตรวจสอบขั้นสุดท้าย ทีมได้จัดเตรียมชุดโปรแกรมทดสอบ Unit Test เริ่มต้นโดยใช้ @firebase/rules-unit-testing ซึ่งช่วยให้คุณตรวจสอบตรรกะด้านความปลอดภัย ในเครื่องได้โดยใช้ Firebase Local Emulator Suite

การใช้เครื่องมือเหล่านี้ต้องทำตาม 3 ขั้นตอนซึ่งอธิบายไว้ในส่วนนี้

  1. สร้างSecurity Rulesและการทดสอบ

  2. ตรวจสอบผลการตรวจสอบและการทดสอบ Security Rules

  3. ติดตั้งใช้งาน Security Rules ในโปรเจ็กต์ Firebase

ขั้นตอนที่ 1: สร้าง Security Rules และการทดสอบ

ตั้งค่าและเรียกใช้เครื่องมือ

  1. เปิดใช้ทักษะเอเจนต์ Firebase

    • Google Antigravity: ดูวิธีการตั้งค่าเพื่อติดตั้งปลั๊กอิน Firebase จาก Antigravity Marketplace นอกจากนี้ คุณยังติดตั้งทักษะในระดับโปรเจ็กต์ได้โดยเรียกใช้คำสั่งต่อไปนี้

      npx skills add firebase/agent-skills --agent=antigravity
    • เอเจนต์การเขียนโค้ด AI อื่นๆ: ทำตามวิธีการสำหรับทักษะของเอเจนต์และเซิร์ฟเวอร์ MCP

  2. เริ่มผู้ช่วย AI (เช่น เรียกใช้ agy ในเทอร์มินัลสำหรับ CLI หรือเปิดแอปพลิเคชันบนเดสก์ท็อป)

  3. จากรูทของโปรเจ็กต์ ให้ขอให้ 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

  1. ตรวจสอบว่า Agent การเขียนโค้ด AI ดำเนินการต่อไปนี้แล้ว คุณควรได้รับข้อมูลสรุปที่สร้างขึ้นหลังจากเครื่องมือทำงาน

    • การตรวจสอบไวยากรณ์: หลังจากสร้าง Security Rules แล้ว ตัวแทนการเขียนโค้ด AI จะตรวจสอบไวยากรณ์โดยอัตโนมัติโดยใช้คำสั่ง firebase_validate_security_rules จากเซิร์ฟเวอร์ Firebase MCP

    • Unit Test: หลังจากตรวจสอบไวยากรณ์แล้ว เอเจนต์การเขียนโค้ด AI จะพยายามเรียกใช้ Unit Test ที่สร้างขึ้นโดยใช้ Firebase Local Emulator Suite

  2. หากการทดสอบไม่ทำงานโดยอัตโนมัติ ให้เริ่ม 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 ของ Firebase ต่อไปนี้เพื่อทำให้ Security Rules ใช้งานได้ในโปรเจ็กต์ Firebase

  • Cloud Firestore

    firebase deploy --only firestore:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage