รายการตรวจสอบด้านความปลอดภัยสำหรับการใช้ Firebase AI Logic

เมื่อคุณเรียกใช้ Gemini API โดยตรงจากแอปบนอุปกรณ์เคลื่อนที่และเว็บแอป การปกป้องโครงสร้างพื้นฐานส่วนหลัง โควต้า และพรอมต์ที่เป็นกรรมสิทธิ์ต้องใช้ แนวทางการป้องกันเชิงลึกแบบหลายชั้น ตรวจสอบเช็กลิสต์นี้เพื่อใช้แนวทางปฏิบัติแนะนำด้านความปลอดภัยที่แนะนำสำหรับ Firebase AI Logic

การยืนยันแอป อุปกรณ์ และผู้ใช้

ยืนยันว่าคำขอขาเข้ามาจากอินสแตนซ์ที่ถูกต้องและไม่มีการดัดแปลงของ แอปที่ทำงานในอุปกรณ์ของแท้ รวมถึงมาจากผู้ใช้จริง

บังคับใช้ Firebase App Check

บังคับใช้ Firebase App Check เพื่อช่วยปกป้อง Gemini API จากการละเมิดเมื่อมีการเรียกใช้โดยตรงจากแอปของคุณ เมื่อมีการบังคับใช้ App Check ระบบจะยืนยันว่าคำขอขาเข้ามาจาก แอปจริงของคุณและ/หรืออุปกรณ์ที่ไม่มีการดัดแปลง

App Check รองรับผู้ให้บริการการรับรองสำหรับ แพลตฟอร์ม Apple (DeviceCheck, App Attest หรือ reCAPTCHA Enterprise), Android (Play Integrity หรือ reCAPTCHA Enterprise) และ เว็บ (reCAPTCHA Enterprise) รวมถึงรองรับผู้ให้บริการทั้งหมดเหล่านี้สำหรับแอป Flutter และ Unity ด้วย

ตั้งแต่ต้นเดือนกรกฎาคม 2026 เป็นต้นไป Firebase จะบังคับใช้ App Check โดยอัตโนมัติสำหรับ Firebase AI Logic ระหว่างการตั้งค่าแบบมีคำแนะนำในคอนโซล Firebase หากคุณ ตั้งค่า Firebase AI Logic ไว้ก่อนหน้านี้ โปรด บังคับใช้ App Check อย่างชัดเจน สำหรับการพัฒนาในเครื่อง คุณสามารถตั้งค่าApp Check ผู้ให้บริการโปรแกรมแก้ไขข้อบกพร่อง จากนั้นลงทะเบียนแอปกับผู้ให้บริการการรับรองเวอร์ชันที่ใช้งานจริงก่อนเผยแพร่ต่อผู้ใช้ปลายทาง

เปิดใช้การป้องกันการเล่นซ้ำด้วยโทเค็นที่จำกัดการใช้

ในขั้นตอนการตั้งค่า App Check ให้พิจารณาบังคับใช้การป้องกันการเล่นซ้ำเพื่อให้โทเค็น App Check ใช้ได้เพียงครั้งเดียวเท่านั้น ตัวเลือกนี้ให้การปกป้องที่ดียิ่งขึ้น นอกเหนือจากการปกป้องพื้นฐาน และช่วยให้คุณตั้งค่าระดับ การปกป้องที่เหมาะสมสำหรับแอปและกรณีการใช้งานของคุณได้

ตั้งค่าข้อจำกัดสำหรับคีย์ API ของ Firebase

คีย์ API ของ Firebase จะระบุโปรเจ็กต์และแอป Firebase เมื่อทำการร้องขอ วิธีป้องกันการใช้คีย์ API โดยไม่ได้รับอนุญาต

  • ตั้งค่า"ข้อจำกัดของแอปพลิเคชัน" ในคอนโซล Google Cloud เพื่อจำกัดการใช้คีย์ให้ใช้ได้เฉพาะคำขอจาก รหัสชุดที่เฉพาะเจาะจงของแอป (Apple) ชื่อแพ็กเกจและลายนิ้วมือ SHA-1 (Android) หรือ HTTP Referrer (เว็บ)

  • ตรวจสอบรายการที่อนุญาตของ "ข้อจำกัดของ API" ของคีย์แต่ละรายการ

โปรดทราบว่า API ที่เกี่ยวข้องกับ Firebase จะใช้คีย์ API เพื่อระบุโปรเจ็กต์หรือแอป Firebase เท่านั้น ไม่ใช่เพื่อการให้สิทธิ์ในการเรียก API

จำกัดคำขอให้เฉพาะผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้น

โปรดพิจารณาบังคับใช้โหมดผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ เพื่อให้คำขอทั้งหมดผ่าน Firebase AI Logic ต้องมีข้อมูลเข้าสู่ระบบที่ถูกต้องจาก Firebase Authentication หากคำขอมาจากผู้ใช้ปลายทางที่ไม่ได้ตรวจสอบสิทธิ์ ระบบจะปฏิเสธคำขอพร้อมข้อผิดพลาด 401: unauthenticated

การปกป้องพรอมต์และการเพิ่มความแข็งแกร่งของคำขอ

ป้องกันไม่ให้การดีคอมไพล์ไคลเอ็นต์เปิดเผยการออกแบบพรอมต์ และล็อกแบ็กเอนด์เพื่อไม่ให้ผู้ใช้ที่เป็นอันตรายเรียกใช้พรอมต์ที่กำหนดเองได้

ใช้เทมเพลตพรอมต์ของเซิร์ฟเวอร์

ใช้ เทมเพลตพรอมต์ของเซิร์ฟเวอร์ เพื่อเก็บพรอมต์ คำสั่งของระบบ และการกำหนดค่าโมเดลไว้อย่างปลอดภัยใน ระบบคลาวด์ แทนที่จะฮาร์ดโค้ดไว้ในโค้ดของแอปไคลเอ็นต์ ซึ่งอาจ ถูกดึงออกมาได้โดยใช้การแยกโค้ดไบนารี

แอปของคุณอ้างอิงเฉพาะรหัสเทมเพลตและส่งตัวแปรอินพุตแบบไดนามิก นอกจากนี้ เทมเพลตพรอมต์ของเซิร์ฟเวอร์ยังช่วยให้คุณอัปเดตพรอมต์หรือเปลี่ยนโมเดลได้ตามต้องการ โดยไม่ต้องเผยแพร่แอปเวอร์ชันใหม่

ตรวจสอบและล้างตัวแปรเทมเพลตที่ไคลเอ็นต์ระบุ

เทมเพลตพรอมต์ของเซิร์ฟเวอร์จะปกป้องการออกแบบพรอมต์ แต่เทมเพลตที่ยอมรับตัวแปรแบบไดนามิก ยังคงอาจถูกแทรกพรอมต์ได้ เนื่องจากเทมเพลตจะ ต่อตัวแปรอินพุตของผู้ใช้เข้ากับพรอมต์สุดท้าย โปรด ทำดังนี้

  • ตรวจสอบและล้างข้อมูลจากผู้ใช้ทั้งหมดในไคลเอ็นต์ก่อนส่งตัวแปรไปยังเทมเพลต (เช่น การบังคับใช้จำนวนอักขระสูงสุดและรูปแบบที่คาดไว้)
  • ใส่คำสั่งของระบบที่ชัดเจนในเทมเพลตซึ่งกำหนดแนวทางสำหรับวิธีประมวลผลข้อมูลที่ผู้ใช้ป้อน

บังคับใช้โหมดเทมเพลตเท่านั้น

พิจารณาบังคับใช้ โหมดเทมเพลตเท่านั้น เมื่อฟีเจอร์ทั้งหมดของแอปใช้เทมเพลตพรอมต์ของเซิร์ฟเวอร์ เมื่อบังคับใช้ Firebase AI Logic จะบล็อกคำขอทั้งหมดที่ไม่มีการใช้เทมเพลตโดยตรงไปยัง Gemini API (403: unauthorized) เพื่อป้องกันไม่ให้ผู้ไม่ประสงค์ดีส่ง พรอมต์ที่กำหนดเองหรือละเมิดโควต้าของคุณ

การตรวจสอบ ขีดจำกัด และการเรียกเก็บเงิน

เพิ่มความโปร่งใสในการเข้าชมขาเข้าและความผิดปกติด้านความปลอดภัย และปกป้องโปรเจ็กต์จากปริมาณการใช้งานที่เพิ่มขึ้นอย่างไม่คาดคิดหรือค่าใช้จ่ายที่เพิ่มขึ้นอย่างรวดเร็ว

ตั้งค่าการตรวจสอบ AI ในFirebaseคอนโซล

ตั้งค่า การตรวจสอบ AI ในFirebaseคอนโซล เพื่อให้ทราบถึงเมตริกที่สำคัญ เช่น จำนวนคำขอ เวลาในการตอบสนอง การใช้โทเค็น และอัตราข้อผิดพลาด (รวมถึง401การตรวจสอบสิทธิ์ล้มเหลวและ403การบล็อกเทมเพลตเท่านั้น) นอกจากนี้ คุณยังตรวจสอบการติดตามแต่ละรายการในGoogle Cloudคอนโซลได้ด้วย

กำหนดขีดจำกัดอัตราและจัดการโควต้า

ปกป้องโปรเจ็กต์จากการใช้งานที่เพิ่มขึ้นอย่างไม่คาดคิดและการโจมตีแบบปฏิเสธการเข้าถึงกระเป๋าเงิน

หลีกเลี่ยงค่าใช้จ่ายที่ไม่คาดคิดด้วยการแจ้งเตือนและขีดจำกัดการใช้จ่าย

หากโปรเจ็กต์ Firebase ของคุณใช้แพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ ให้ทำดังนี้

ขั้นตอนถัดไป