พรอมต์ 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 สำหรับ 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 และการทดสอบ

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

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

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

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

  1. เปิดใช้ทักษะของ Firebase Agent โดยทำดังนี้

    • Google Antigravity: โปรดดู วิธีการตั้งค่า เพื่อเปิดใช้ชุดการผสานรวม Firebase หากใช้ CLI คุณสามารถเปิดใช้ทักษะได้โดยเรียกใช้คำสั่งต่อไปนี้

      npx skills add firebase/agent-skills --agent=antigravity
    • Agent การเขียนโค้ดด้วย AI อื่นๆ: ทำตามวิธีการสำหรับ ทักษะของ Agent และ เซิร์ฟเวอร์ 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แล้ว Agent การเขียนโค้ดด้วย AI ของคุณจะตรวจสอบไวยากรณ์โดยอัตโนมัติโดยใช้คำสั่ง firebase_validate_security_rulesจากเซิร์ฟเวอร์ Firebase MCP

    • Unit Test: หลังจากตรวจสอบไวยากรณ์แล้ว Agent การเขียนโค้ดด้วย 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 ต่อไปนี้เพื่อติดตั้งใช้งาน Security Rules ใน โปรเจ็กต์ FirebaseFirebase

  • Cloud Firestore

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

    firebase deploy --only storage